Summary of Contents for General Standards Corporation PCIe4-SIO8BX2
Page 1
EIGHT CHANNEL HIGH PERFORMANCE SERIAL I/O PCIe CARD FEATURING RS422/RS485/RS232 SOFTWARE CONFIGURABLE TRANSCEIVERS AND 32K BYTE FIFO BUFFERS (512K BYTE TOTAL) RS-485 RS-422/V.11 RS-232/V.28 General Standards Corporation 8302A Whitesburg Drive Huntsville, AL 35802 Phone: (256) 880-8787 Fax: (256) 880-8788 URL: www.generalstandards.com E-mail: techsupport@generalstandards.com...
Page 2
General Standards Corporation does not assume any liability arising out of the application or use of any product or circuit described herein, nor is any license conveyed under any patent right of any rights of others.
Page 3
RELATED PUBLICATIONS ZILOG Z16C30 USC® User’s Manual ZILOG Z16C30 USC® Product Specifications Databook ZILOG, Inc. 210 East Hacienda Ave. Campbell, CA 95008-6600 (408) 370-8000 http://www.zilog.com/ PLX PCI 9056 Data Book PLX Technology Inc. 390 Potrero Avenue Sunnyvale, CA 4085 (408) 774-3735 http://www.plxtech.com/ EIA-422-A –...
PCIe interface engine, give the PCIe4-SIO8BX2 unsurpassed performance in a serial interface card. The PCIe4-SIO8BX2 is board based on the SIO4BX product line from General Standards Corporation. In order to maintain software compatibility, the PCIe4-SIO8BX2 is implemented as two independent four channel SIO4BX cards.
Figure 1-1 Block Diagram of PCIe4-SIO8BX2 Z16C30 Universal Serial Controller The PCIe4-SIO8BX2 is designed around the Z16C30 Universal Serial Controller( USC). The Z16C30 is a dual channel multi-protocol serial controller which may be software configured to satisfy a wide variety of serial communications applications.
General Standards will also work with customers to fabricate custom cables. Consult factory for details on custom cables. New Features The PCIe4-SIO8BX2 has been enhanced with several new features. These include improved receive data status recording, timestamping of data, flexible FIFO memory allocation, sync/standard channel select, and channel reset. Rev NR...
CHAPTER 2: LOCAL SPACE REGISTERS Register Map The SIO8BX2 is accessed through three sets of registers – PCI Registers, USC Registers, and GSC Firmware Registers. The GSC Firmware Registers and USC Registers are referred to as Local Space Registers and are described below.
The Firmware ID register provides version information about the firmware on the board. This is useful for technical support to identify the firmware version. See Appendix B for more detailed information. D31:16 HW Board Rev E500 = PCIE4-SIO8BX2 Rev NR D15:8 Firmware Type ID 01 = SIO4B Standard...
2.1.2 Board Control: Local Offset 0x0004 The Board Control Register defines the general control functions for the board. Board Reset 1 = Reset all Local Registers and FIFOs to their default values Notes: This bit will automatically clear to 0 following the board reset. Board Reset will NOT reset programmable oscillator.
2.1.3 Board Status: Local Offset 0x0008 The Board Status Register gives general overall status for a board. The Board Jumpers (D1:D0) are physical jumpers which can be used to distinguish between boards if multiple SIO4 boards are present in a system. D31:9 RESERVED 0 = Standard...
2.1.6 Channel RX Almost Flags: Local Offset 0x0014 / 0x0024 / 0x0034 / 0x0044 The Rx Almost Flag Registers are used to set the Almost Full and Almost Empty Flags for the transmit FIFOs. The Almost Full/Empty Flags may be read as status bits in the Channel Control/Status Register, and are also edge- triggered interrupt sources to the Interrupt Register.
D7:0 Channel Control Bits 1 = Reset USC ((Pulsed - will automatically clear to ‘0’) Notes: Following a USC Reset, the next access to the USC must be a write of 0x00 to Local Offset 0x100 (Ch1/2) or Local Offset 0x300 (Ch3/4). ...
Likewise, if a level interrupt is enabled and the interrupt source is true, the interrupt status will be reasserted immediately after clearing the interrupt, and an additional interrupt will be requested. 2.1.10.3 Interrupt Edge/Level: Local Offset 0x0068 The Interrupt Edge Register is an information only (read only) register. This register can be used by a generic driver to determine if the interrupt source is edge or level triggered.
Page 17
DCE/DTE Mode When DCE/DTE Mode is enabled (Bit D31=1), this bit set the mode to DCE (1) or DTE (0). DCE/DTE mode changes the direction of the signals at the IO Connector. D27:24 Transceiver Protocol Mode Transceiver Mode RS-422 / RS-485 RESERVED RS-232 RESERVED...
Page 18
D14:13 Cable RTS Output Source Output Source Notes USC_CTS field (D10:D9) must equal ‘11’ USC_CTS Output RTS Output Rx FIFO Almost Full ‘0’ Drive low ‘1’ Drive Hi D12:11 USC_DCD Direction Setup If DCD is used as GPIO, set this field to ‘00’ and set Pin Source Register D16:D15 for output / Pin Status Register D3 for input.
D5:3 USC_RxC Source The clock source must agree with the USC Clock setup (USC I/O Control Reg D5:3) to ensure the signal is not being driven by both the USC and the FPGA. USC_RxC Source USC IOCR D2:D0 Setup Prog Clock 000 (Input) Inverted Prog Clock 000 (Input)
2.1.13 Programmable Clock Registers: Local Offset 0x00A0 / 0x00A4 / 0x00A8 / 0xAC The Programmable Clock Registers allow the user to program the on-board programmable oscillator and configure the channel clock post-dividers. As GSC should provide software routines to program the clock, the user should have no need to access these registers.
2.1.17 Features Register: Local Offset 0x00FC The Features Register allows software to account for added features in the firmware versions. Bits will be assigned as new features are added. See Appendix B for more details. D31:21 RESERVED 1 = No Rx Status byte (std only) D19:D18 10 = Internal Timestamp (std only) D17:D16...
Since the USC Reset physically resets the USC, the first access to the USC following the reset must reinitialize the BCR in the USC. To complete the Reset process, the user should write data 0x00 to USC base address offset 0x100 or 0x300 to correctly initialize the BCR.
2.2.4 USC Register Memory Map To access the USC in 8-bit mode, the driver is required to access the upper and lower bytes of each register independently. The odd address byte will access the upper byte of each register (D15-D8), and the even address byte will access the lower byte (D7-D0).
CHAPTER 3: PROGRAMMING Introduction This section addresses common programming questions when developing an application for the SIO8BX2. General Standards has developed software libraries to simplify application development. These libraries handle many of the low-level issues described below, including Resets, FIFO programming, and DMA. These libraries may default the board to a “standard”...
The Almost Flag value represents the number of bytes from each respective “end” of the FIFO. The Almost Empty value represents the number of bytes from empty, and the Almost Full value represents the number of bytes from full (NOT the number of bytes from empty). For example, the default value of “0x0007 0007” in the FIFO Almost Register means that the Almost Empty Flag will indicate when the FIFO holds 7 bytes or fewer.
Programmable Oscillator / Programmable Clocks Two On-Board Programmable Oscillator provides each channel with a unique programmable clock source using Cypress Semiconductor CY22393 Programmable Clock generators. In order to program the oscillator, it is necessary to calculate and program values for different clock frequencies. General Standards has developed routines to calculate the necessary values for a given setup and program the clock generator.
cable RxC in the Pin Source Register. Since the FPGA will source both USC clocks, they must be programmed as inputs in the USC I/O Control Register. The preceding suggestions should work for most applications. The default Pin Source Register value should set the clocks to work with both scenarios –...
location for the transmit signals (TxC, TXD, RTS), and the receive signals will use these same signals as the receive inputs. Since signals are transmitted and received through the transceivers, this mode allows the setup to be verified (including signal polarity) without any external connections. Since external signals could interfere with loopback operation, all cables should be disconnected when running in external loopback mode.
Page 30
data, the transfer will complete with invalid results. This is the preferred mode for DMA operation. The FIFO Counters may be used to determine how much space is available for DMA so that the FIFO will never over/under run. Demand Mode DMA requires less software control, but runs the risk of losing data due to an incomplete transfer.
Since many features of the PCI9056 are not utilized in this design, it is beyond the scope of this document to duplicate the PCI9056 User’s Manual. Only those features, which will clarify areas specific to the PCIe4-SIO8BX2 are detailed here. Please refer to the PCI9056 User’s Manual (See Related Publications) for more detailed information.
4.1.2 Local Configuration Registers The Local Configuration registers give information on the Local side implementation. These include the required memory size. The SIO8BX2 memory size is initialized to 4k bytes. All other Local Registers initialize to the default values described in the PCI9056 Manual. 4.1.3 Runtime Registers The Runtime registers consist of mailbox registers, doorbell registers, and a general-purpose control register.
CHAPTER 5: HARDWARE CONFIGURATION Board Layout The following figure is a drawing of the physical components of the PCIe4-SIO8BX2: RP10 RP12 FPGA FPGA RP15 RP14 RP16 RP18 RP21 RP20 PCIe Bridge PCI Bridge PCI Bridge RP22 RP23 Figure 5-1: Board Layout – Top Board ID Jumper J1 Jumper J1 allows the user to set the Board ID in the GSC Board Status Register (See Section 2.1.3).
Termination Resistors The PCIE4-SIO8BX2 transceivers have built in termination resistors for RS-422 mode. The built in RS-422 termination is a 120 Ohm parallel termination only on the high speed receiver signals – RxC, RxD, RxAuxC, and DCD. If desired, the internal termination resistors may be disabled by setting bit D30 in the Pin Source Register.
(quotes@generalstandards.com). Interface Cable General Standards Corporation can provide an interface cable for the SIO8BX2 board. This standard cable is a twisted pair cable for increased noise immunity. Several standard cable lengths are offered, or the cable length can be custom ordered to the user’s needs. Versions of the cable are available with connectors on both ends, or the cable may be ordered with a single connector to allow the user to adapt the other end for a specific application.
APPENDIX A: PROGRAMMABLE OSCILLATOR PROGRAMMING The 4 on-baord clock frequencies are supplies via two Cypress Semiconductor CY22393 Programmable Clock Generatosr. In order to change the clock frequencies, this chip must be reprogrammed. This document supplies the information necessary to reprogram the on-board clock frequencies. GSC has developed routines to calculate and program the on-board oscillator for a given set of frequencies, so it should not be necessary for the user need the following information –...
Page 39
Measure Channel 3 Clock Measure Channel 4 Clock Reserved (Unused) Status Word Readback Control 0 => Status Word D31-D8 == Measured Channel Value 1 => Status Word D31-D8 == Control Word D23-D0 Post-divider set 0 = Ignore D23-D8 during Command Word Write 1 = Set Channel Post-Dividers from D23-D8 during Command Word Write D11-D8 Channel 1 Post-Divider...
Page 40
The Internal RAM is defined as follows: RAM Address 0x08–0x57 correspond directly to the CY22393 registers. Address Description Default Value 0x00 – 0x05 Reserved (Unused) 0x00 0x06 Reserved 0xD2 0x07 Reserved 0x08 0x08 ClkA Divisor (Setup0) 0x01 0x09 ClkA Divisor (Setup1) 0x01 0x0A ClkB Divisor (Setup0)
Firmware Register - Local Offset 0x00 (0xE5000101) D31:16 HW Board Rev 0xE00 PCIe4-SIO8BX2 Rev NR 1 = Features Register Present 1 = Complies with this standard 1 = 66MHz PCI bus interface...
Page 42
Feature Register - Local Offset 0xFC (0x00197AF4) D31:D21 Unused 1 - Rx Status byte inserted in FIFO D19:D18 Timestamp 01 = single external clock 10 = single internal clock D17:D16 FPGA Reprogram field 01 = Present 00 = Not Present D15:D14 Configurable FIFO space 01 - Rx/Tx select.
Need help?
Do you have a question about the PCIe4-SIO8BX2 and is the answer not in the manual?
Questions and answers