Celoxica RC10 Manual

Platform developer's kit
Table of Contents

Advertisement

Quick Links

Platform Developer's Kit
RC10 Manual

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the RC10 and is the answer not in the manual?

Questions and answers

Summary of Contents for Celoxica RC10

  • Page 1 Platform Developer’s Kit RC10 Manual...
  • Page 2 RC10 Manual Conventions The following conventions are used in this document. Warning Message. These messages warn you that actions may damage your hardware. Handy Note. These messages draw your attention to crucial pieces of information. Hexadecimal numbers will appear throughout this document. The convention used is th...
  • Page 3 RC10 Manual Assumptions & Omissions This manual assumes that you: • have used Handel-C or have the Handel-C Language Reference Manual • are familiar with common programming terms (e.g. functions) • are familiar with your operating system (Linux or MS Windows) This manual does not include: •...
  • Page 5: Table Of Contents

    ROJECT IDEAS 3 RC10 H ................17 ARDWARE ESCRIPTION 3.1 RC10: O ..........17 VERVIEW OF DEVICES AND CONNECTORS 3.2 RC10: FPGA ....................18 3.3 RC10: C ....................19 LOCKS 3.4 RC10: LED ..................... 19 3.5 RC10: S ..............19...
  • Page 6 PORT 4.5.1 Running the PS/2 ports ......................33 4.5.2 Reading from the PS/2 ports ....................33 4.5.3 Writing to the PS/2 ports ....................... 33 4.6 RC10 PSL: RS232 S ............... 34 ERIAL PORT 4.6.1 Running the RS232 port......................34 4.6.2 Changing the baud rate......................35 4.6.3 Changing the parity setting....................
  • Page 7 EVEN EGMENT ISPLAYS 5.4 RC10 PAL: J ..................55 OYSTICK 5.5 RC10 PAL: PS/2 ..................55 PORT 5.6 RC10 PAL: RS232 S ............... 55 ERIAL PORT 5.7 RC10 PAL: A ..........55 NALOGUE TO IGITAL ONVERTORS 5.8 RC10 PAL: V ................
  • Page 8: Rc10 Overview

    RC10 Overview 1 RC10 Overview RC10 B LOCK IAGRAM • Xilinx Spartan 3L XC3S1500L-4-FG320 • 5-way micro joystick • PS/2 port for mouse and keyboard • RS-232 serial port • 2 analogue to digital converters • VGA output • optional LCD video output •...
  • Page 9 RC10 Overview • JTAG connector • Celoxica Platform Developer's Kit including: • Platform Support Library for RC10 • Platform Abstraction Layer for RC10 • FTU3 file transfer utility (for Windows 2000 and Windows XP) Page 9 www.celoxica.com...
  • Page 10: Rc10 Getting Started

    You will need to connect the board to your PC with a standard USB cable if you want to use the Celoxica FTU3 program to download FPGA configuration files, or to read from or write to Flash memory.
  • Page 11: Rc10: Running The Installed Demos

    2.6 RC10: Running the installed demos Once the RC10 has been installed and plugged into a PC, it will boot into its "Intro" screen. From here, you can use the on-board joystick to navigate through a list of pre-installed demos. Pressing the centre button of the joystick will configure the device with the selected demo.
  • Page 12: Rc10: Downloading Designs To The Board

    1. Open FTU3 from the Start menu (Start>Programs>Celoxica>Platform Developer's Kit>FTU3). 2. The RC10 should be shown in the list of attached boards. Double-click it. 3. Click the FPGA tab, select Browse, and navigate to the location of your new bit file. For example, InstallDir\PDK\Examples\PAL\LED\RC10 for the PAL LED example.
  • Page 13: Rc10: Creating Fpga Configuration Files

    RC10 Overview 2.9 RC10: Creating FPGA configuration files There are several simple steps to creating FPGA configuration files for the RC10 using DK and PDK. Please see the DK manual for more information on these steps. Setting up DK You must set up your DK project to use the correct FPGA, using the Linker tab in the Project Settings: •...
  • Page 14: Rc10: Project Ideas

    DriveDone 2.10 RC10: Project ideas Here are a few project ideas for using an RC10. Celoxica makes no claims as to the difficulty or feasibility of these projects (although we believe them to be possible), they are merely suggestions to stimulate the imagination.
  • Page 15 RC10 Overview • Barcode reader • Mini camcorder Microprocessors • Microblaze • CPUs from OpenCores.org • Design your own CPU Signal processing • Oscilloscope with more features • Logic analyser • Spectrum analyser (real-time FFT) • Simulink integration via USB •...
  • Page 16 RC10 Overview Other • Engine diagnostics/management unit • Hard disk interface (data logger, video recording) Page 16 www.celoxica.com...
  • Page 17: Rc10 Hardware Description

    RC10 Getting started 3 RC10 Hardware Description This section details the devices that comprise the RC10 board. 3.1 RC10: Overview of devices and connectors RC10 DEVICES Page 17 www.celoxica.com...
  • Page 18: Rc10: Fpga

    RC10 Getting started RC10 C ONNECTORS 3.2 RC10: FPGA The RC10 board has a Xilinx Spartan 3 XC3S1500L-4-FG320. The device has direct connections to the following devices: • USB Microcontroller • Video output • Audio output • RS-232 port •...
  • Page 19: Rc10: Clocks

    Expansion clock 1 3.4 RC10: LEDs The RC10 has eight green LEDs that can be directly controlled from the FPGA. The LEDs are numbe right-to-left (so the righ tmost LED on the board is bit 0) to simplify reading binary values. They are...
  • Page 20: Rc10: Joystick

    RC10 Getting started Description FPGA Pins Seven Segment 0 'a' Seven Segment 0 'b' Seven Segment 0 'c' Seven Segment 0 'd' Seven Segment 0 'e' Seven Segment 0 'f' Seven Segment 0 'g' Seven Segment 0 'dp' Seven Segment 1 'a'...
  • Page 21: Rc10: Ps/2 Port For Mouse And Keyboard

    3.7 RC10: PS/2 port for mouse and keyboard The RC10 board has a PS/2 port on the PCB which can be used with a mouse/keyboard cable splitter. The DATA and CLK lines of this port are mapped directly through to the FPGA. The board supplies +5V to power the devices, but they should not use more than 100mA.
  • Page 22: Rc10: Video Outputs

    NotShutdown - both ADCs 3.10 RC10: Video Outputs The RC10 has two video output capabilities: VGA and LCD. At present a LCD screen is not shipped with the RC10, so the data included here for the LCD output is for information only.
  • Page 23: Rc10: Audio

    Pin 0 Pin 1 3.13 RC10: USB Microcontroller The RC10 includes a Cypress CY7C68013-56pvc FX2 microcontroller which manages interaction between the USB port connected to the host computer, the Flash memory and the FPGA. FPGA connections to the microcontroller are:...
  • Page 24: Rc10: Flash Memory

    254. The file numbers do not need to be contiguous. 3.14 RC10: Flash Memory The RC10 is provided with a 16-MB Flash RAM. The Flash is only accessible to the FPGA via the USB microcontroller. 3.15 RC10: CAN interface The RC10 has a CAN (Controller Area Network) interface, which allows communication using the CAN serial protocol with compatible devices.
  • Page 25 RC10 Getting started The FPGA expansion header pin s can only accept signals up to 3.3v. Signals greater than 3.3v may damage the FPGA. Page 25 www.celoxica.com...
  • Page 26 RC10 Getting started Expansion header ATA function Expansion header function FPGA pins pins Reset IO10 IO12 IO11 IO14 IO13 IO16 IO15 Keypin Pin removed DMARQ IO17 nDIOW IO18 nDIOR IO19 IORDY IO20 CSEL IO21 nDMACK IO22 INTRQ IO23 Reserved IO24...
  • Page 27: Rc10: Reset Button

    3.18 RC10: Reset button The reset button on the RC10 is next to the power input. It clears the FPGA program, and reboots the FPGA from Flash RAM, if a bitfile is present at file number 1 in the Flash file system. It does not affect the operation of the microcontroller which provides the USB connectivity thus it should not be necessary to unplug/eject the USB device from the Windows operating system before using the reset button.
  • Page 28: Rc10: Schematics

    (http://www.intersil. RS-232 transceiver National http://www.national.com/pf/AD/ADC10065.html (http://www.national.com/pf/AD/ADC10065. Semiconductor ADC10065 A/D Converter Cypress http://www.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommun CY7C68013-56pvc (http://www.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&Co FX2 USB microcontroller Texas Instruments http://focus.ti.com/docs/prod/folders/print/sn65hvd230.html (http://focus.ti.com/docs/prod/ SN65HVD230 CAN transceiver 3.22 RC10: Schematics RC10 schematics are installed as part of PDK in InstallDir\PDK\Documentation\PSL\RC10\Schematic\rc10.pdf. Page 28 www.celoxica.com...
  • Page 29: Rc10 Platform Support Library (Psl)

    RC10_TARGET_CLOCK_RATE Description If this macro is defined (to be equal to a clock frequency in Hertz) before the rc10.hch header file is included, then a subsequent "void main (void)" definition will use a clock of approximately the desired frequency. The actual frequency used will be returned in the macro RC10_ACTUAL_CLOCK_RATE.
  • Page 30: Rc10 Psl: Leds

    The range of target frequencies is from 2MHz to 300MHz, but please note that the achievable frequency is design dependent and will typically be much lower than this upper bound. The macro RC10_ACTUAL_CLOCK_RATE will be defined following the #inclusion of the rc10.hch header file. This will be equal to the achieved clock rate, in Hz.
  • Page 31: Rc10 Psl: Seven Segment Displays

    Description Control LED n. 4.3 RC10 PSL: Seven Segment Displays The RC10 features two independent seven-segment LED displays, and two methods of writing to them: 4.3.1 Writing shapes to seven segment displays macro proc RC10SevenSeg0WriteShape (Shape); macro proc RC10SevenSeg1WriteShape (Shape);...
  • Page 32: Rc10 Psl: Joystick

    RC10 Hardware Description 4.4 RC10 PSL: Joystick The joystick is in fact treated as a series of five buttons; one for each direction and one for "select". 4.4.1 Reading buttons by index macro expr RC10ButtonRead (Index); Arguments Index button index, of type "unsigned 2"...
  • Page 33: Rc10 Psl: Ps/2 Port

    4.5 RC10 PSL: PS/2 port The RC10 has a single PS/2 port, but it is connected so that it can be used with a mouse/keyboard "splitter" cable, allowing both a mouse and keyboard to be used simultaneously with the single connector.
  • Page 34: Rc10 Psl: Rs232 Serial Port

    To do interpreted access (e.g. mouse positions, ASCII keyboard characters) you should use the PAL interface combined with PAL Mouse and PAL Keyboard. 4.6 RC10 PSL: RS232 Serial port The RC10 features a single RS232 port. 4.6.1 Running the RS232 port macro proc RC10RS232Run (BaudRate, Parity, FlowControl, ClockRate);...
  • Page 35: Changing The Baud Rate

    RC10 Hardware Description Baud rates BaudRate code Baud rate RC250RS232_75Baud RC10RS232_110Baud RC10RS232_300Baud RC10RS232_1200Baud 1200 RC10RS232_2400Baud 2400 RC10RS232_9600Baud 9600 19200 RC10RS232_19200Baud RC10RS232_38400Baud 38400 RC10RS232_57600Baud 57600 RC10RS232_115200Baud 115200 230400 RC10RS232_230400Baud 460800 RC10RS232_460800Baud RC10RS232_921600Baud 921600 Parity settings Parity code meaning No parity bit...
  • Page 36: Changing The Parity Setting

    RC10 Hardware Description Description Change the baud rate of the RS232 interface. 4.6.3 Changing the parity setting macro proc RC10RS232SetParity (Parity); Arguments Parity a code selecting the new parity setting, from Parity settings Timing 1 cycle Description Change the parity setting of the RS232 interface.
  • Page 37: Rc10 Psl: Analogue To Digital Convertors

    Description Write a single item of data to the RS232 port from the expression Data. 4.7 RC10 PSL: Analogue to Digital Convertors The RC10 has two Analogue to Digital Converters, implemented using National Semiconductor ADC10065 devices. 4.7.1 Running the ADCs macro proc RC10ADC0Run (ClockRate);...
  • Page 38: Setting The Adc Offset

    4.8 RC10 PSL: Video Output The RC10 has a VGA and a TFT output. Only the VGA output is supported by the PSL at present. The VGA output is physically 21-bit, with 7 bits each for red, green and blue components, but all API calls use 24-bit pixels for compatibility with other platforms.
  • Page 39 RC10 Hardware Description Arguments ClockRate clock rate of the clock domain of call to this macro, in Hz. InitialVideoMode initial video output mode, from Video modes Timing Does not terminate in normal use. Description Drive the output video in the selected mode. Must always run in parallel with accesses to the device.
  • Page 40: Querying Video Mode Properties

    RC10 Hardware Description 4.8.2 Querying video mode properties macro expr RC10VideoOutGetVisibleX (VideoMode); macro expr RC10VideoOutGetVisibleY (VideoMode); macro expr RC10VideoOutGetTotalX (VideoMode); macro expr RC10VideoOutGetTotalY (VideoMode); macro expr RC10VideoOutGetVisibleXCT (VideoModeCT); macro expr RC10VideoOutGetVisibleYCT (VideoModeCT); macro expr RC10VideoOutGetTotalXCT (VideoModeCT); macro expr RC10VideoOutGetTotalYCT (VideoModeCT);...
  • Page 41: Finding The Current Video Output Position

    Return the horizontal and vertical sync status of the current scan position, as type "unsigned 1". 4.9 RC10 PSL: Camera The RC10 has a connector for a CMOS camera, the OmniVision OV9650. 4.9.1 Running the camera macro proc RC10CameraRun (InitialMode, ClockRate);...
  • Page 42 RC10 Hardware Description Camera modes The following are valid modes to pass to RC10CameraRun and RC10CameraSetMode: OV9650_RGB565_CIF OV9650_RGB565_QCIF OV9650_RGB565_QQCIF OV9650_RGB565_QQVGA OV9650_RGB565_QVGA OV9650_RGB565_SXGA OV9650_RGB565_VGA OV9650_Raw_CIF OV9650_Raw_QCIF OV9650_Raw_QQCIF OV9650_Raw_QQVGA OV9650_Raw_QVGA OV9650_Raw_SXGA OV9650_Raw_VGA OV9650_YUV_CIF OV9650_YUV_QCIF OV9650_YUV_QQCIF OV9650_YUV_QQVGA OV9650_YUV_QVGA OV9650_YUV_SXGA OV9650_YUV_VGA OV9650_RGB565_CIF_LowLight OV9650_RGB565_QCIF_LowLight OV9650_RGB565_QQCIF_LowLight...
  • Page 43: Setting The Camera Mode

    RC10 Hardware Description code resolution 352 x 288 QCIF 176 x 144 QQCIF 88 x 72 SXGA 1280 x 1024 640 x 480 QVGA 320 x 240 QQVGA 160 x 120 The LowLight modes are optimised for low light conditions.
  • Page 44: Rc10 Psl: Audio Output

    ITU CCIR656 standard, as pairs of pixels over the course of four reads (Cb, Y0, Cr, Y1). 4.10 RC10 PSL: Audio Output The RC10 audio interface allows stereo output at a range of sample rates, and mono or pseudo-stereo output using the on-board buzzer. 4.10.1 Running the audio interface macro proc RC10AudioRun (ClockRate);...
  • Page 45: Writing Stereo Samples To The Audio Output

    Description Write a single stereo sample of data to the audio interface from the expressions Left and Right. The macro blocks until a new sample can be written. 4.11 RC10 PSL: Buzzer macro proc RC10BuzzerWrite (Value); macro proc RC10BuzzerWriteStereo (Left, Right);...
  • Page 46: Rc10 Psl: Microcontroller Interface (For Usb And Flash)

    The CAN interface is not currently supported by the RC10 PSL. 4.14 RC10 PSL: Servo motor interface The RC10 has an interface for four servo motors, which are controlled using a PWM signal generated by the driver built into the RC10 PSL.
  • Page 47: Controlling The Servo Motors

    4.15 RC10 PSL: USB Data The USB data interface (controlled by the USB microcontroller) allows data transfers between the RC10 FPGA application and the host PC. 4.15.1 Writing data to the host over USB macro proc RC10 USBWrite (Value);...
  • Page 48: Reading Data From The Host Over Usb

    RC10MicroRun() must be called in parallel wit h this macro. 4.16 RC10 PSL: Flash RAM The Flash RAM interface (controlled by the USB microcontroller) allows access to files on the Flash RAM from the FPGA, and in a ddition supports FPGA controlled self reconfiguration from bitfiles in the Flash RAM.
  • Page 49: Reading From Flash

    RC10 Hardware Description RC10MicroRun() must be called in parallel with this macro. 4.16.2 Reading from Flash macro proc RC10FlashReadBegin (Index, Offset, Length); macro proc RC10Fla shRead (ValuePtr); Arguments Index file index, of type "unsigned 8" Offset first byte of data to read, of type "unsig ned 32"...
  • Page 50: Finding The Length Of Files In Flash

    RC10MicroRun() must be called in parallel with this macro. 4.17 RC10 PSL: Expansion Header The RC10 expansion header allows control of external peripheral devices. Each pin can be used independently as either an input or output. 4.17.1 Running the expansion port macro proc RC10ExpansionRun (ClockRate);...
  • Page 51: Setting The State Of Expansion Pins

    RC10 Hardware Description Arguments ClockRate clock rate of the clock domain of call to this macro, in Hz. Timing Does not terminate in normal use. Description Sets up I/O pins of the expansion header. Must always run in parallel with accesses to the expansion port.
  • Page 52: Reading The State Of Expansion Pins

    RC10 Hardware Description Index Connector Pin 4.17.3 Reading the state of expansion pins macro expr RC10ExpansionRead (Index); macro expr RC10ExpansionReadMask (); Page 52 www.celoxica.com...
  • Page 53 RC10 Hardware Description Arguments Index index into list of I/O pins, of type unsigned 6 Description RC10ExpansionRead() reads the value on the specified pin of the expansion header, return a value of type "unsigned 1". RC10ExpansionReadMask() reads all pins into a single word of type "unsigned 34" (which can then be bit-indexed to derive the value of a bus).
  • Page 54: Rc10 Platform Abstraction Layer

    RC10 Platform Support Library (PSL) 5 RC10 Platform Abstraction Layer The RC10 PAL provides access to most of the RC10 peripherals via the platform independent PAL API. Refer to the PAL Manual for details of programming with PAL. Using PAL to program the RC10 offers the advantage of application portability and (via PAL Sim) a simulation of the platform peripherals.
  • Page 55: Rc10 Pal: Seven Segment Displays

    Joystick push/select 5.5 RC10 PAL: PS/2 port The RC10 PAL supports the PS/2 port as follows. The separate listing of the mouse and keyboard ports assume that a "splitter" cable is used with the singe physical PS/2 connector on the RC10.
  • Page 56: Rc10 Pal: Video Output

    PalRC10VideoOut_1600x1200at80 VGA output PalRC10VideoOut_1600x1200at85 VGA output 5.9 RC10 PAL: Camera The RC10 Camera connector is not currently supported by the RC10 PAL. 5.10 RC10 PAL: Audio Output The RC10 PAL supports audio output as follows. PalAudioOut Platform Specific Handle Physical resource...
  • Page 57: Rc10 Pal: Can Interface

    The CAN Interface is not currently supported by the RC10 PAL. 5.12 RC10 PAL: Servo motor interface The servo motor interface is not currently supported by the RC10 PAL. 5.13 RC10 PAL: USB Data The RC10 PAL supports USB data transfer as follows.
  • Page 59: Index

    Unpacking the board RC10 Joystick........20, 32, 55 RC10 LEDs........19, 30, 54 RC10 PS/2 mouse & keyboard ..21, 33, 55 RC10 RS232 baud rate ........ 35 RC10 RS232 flow control modes ....35 RC10 RS232 parity settings ......35 RC10 RS232 serial......

Table of Contents