background image

PC104P-SIO4BX User Manual, Revision: 0 

General Standards Corporation 

8302A Whitesburg Drive Huntsville, AL 35802, Phone: (256) 880-8787 

2.2 

Universal Serial Controller Registers 

 
The internal registers of the Zilog Z16C30 Universal Serial Controller (USC) are memory mapped into Local 
Address space.  It is beyond the scope of this manual to provide comprehensive USC programming information.   
For detailed programming information, please refer to the Zilog High Speed Communication Controller Product 
Specifications Databook for the Z16C30 and the Zilog Z16C30USC User’s Manual.  These manuals may be 
obtained directly from Zilog (

www.zilog.com

), or copies of these manuals may be downloaded from the General 

Standards website (

www.generalstandards.com

). 

 
Some specific setup information may be needed for a driver to interface to the USC.  Typically, the driver will 
handle the hardware specific characteristics and the end user will only need to be concerned with the driver interface 
- the following hardware setup information may be safely ignored.  If you aren’t sure if you need this information, 
you probably don’t. 
 

2.2.1  USC Reset 

 
The four serial channels are implemented in two Z16C30 Universal Serial Controllers – Channels 1 and 2 share one 
USC, and Channels 3 and 4 share the other.  This implementation is important to realize since resetting a Z16C30 
chip will have an effect on two serial channels.   Since the USC chips are typically reset upon initialization, this 
means a “Reset USC” for Channel 1 will also “Reset USC” for Channel 2.  In addition to making the second reset 
redundant and unnecessary, a Reset USC on one channel may inadvertently adversely affect normal operation on the 
second channel.  Therefore, care must be exercised when resetting a USC (USC Reset bit in the Board Control 
Register), especially in multithreaded environments. 
 
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.  Following this initial byte write, the USC may be accessed normally. 
 
Due to the ability for a USC Reset to affect two channels, it is recommended that a single USC Channel be Reset via 
the RTReset bit of the USC Channel Command/Address Register (CACR). 
 

2.2.2  8-Bit USC Register Access 

 
As the USC has a configurable bus interface, the USC must be set to match the 8-bit non-multiplex interface 
implementation of the SIO4BX.  This setup information must be programmed into the USC Bus Configuration 
Register (BCR) upon initial power up and following every hardware reset of the USC.   The BCR is accessible only 
following a USC hardware reset – the first write to the USC following a USC Reset programs the BCR.   Even 
though the Zilog manual states the BCR has no specific address, the driver must use the channel USC base address – 
0x100 for Ch 1 & Ch 2, 0x300 for Ch 3 & Ch 4 – as the BCR address.  Failure to do so may result in improper setup.  
Since the user interface to the USC is an 8 bit interface, the software only needs to set the lower byte to 0x00 
(hardware implementation will program the upper byte of the BCR).   
 
 

2.2.3  USC Data Transfer 

 
Although the Z16C30 USC contains 32 byte internal FIFOs for data transfer, these are typically not used on the 
SIO4BX.  Since the SIO4BX has much deeper external FIFOs (or internal FPGA FIFOs), the internal USC FIFOs 
are setup to immediately transfer data to/from the external FIFOs.  Immediate transfer of received data to the 
external FIFOs eliminates the possibility of data becoming “stuck” in the USC internal receive FIFOs, while 
bypassing the USC internal transmit FIFOs ensures better control of the transmit data.   
 
 In order to automatically transfer data to and from the external FIFOs, the USC should use DMA to request a data 
transfer whenever one byte is available in the USC internal FIFOs.   This “DMA” should not be confused with the 
DMA of data from the SIO4BX external FIFOs to the PCI interface.  To accomplish the USC-to-External FIFO 

Summary of Contents for PC104P-SIO4BX

Page 1: ...WITH DEEP TRANSMIT AND RECEIVE FIFOS AND MULTIPROTOCOL TRANSCEIVERS RS 485 RS 422 V 11 RS 423 V 10 RS 232 V 28 General Standards Corporation 8302A Whitesburg Drive Huntsville AL 35802 Phone 256 880 8...

Page 2: ...tion assumes no responsibility for any errors that may exist in this document No commitment is made to update or keep current the information contained in this document General Standards Corporation d...

Page 3: ...Digital Interface Circuits EIA order number EIA RS 422A EIA 485 Standard for Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems EIA order number EIA...

Page 4: ...UPT CONTROL LOCAL OFFSET 0X0060 9 2 1 10 2 INTERRUPT STATUS CLEAR LOCAL OFFSET 0X0064 9 2 1 10 3 INTERRUPT EDGE LEVEL INTERRUPT HI LO LOCAL OFFSET 0X0068 0X006C 9 2 1 11 CHANNEL PIN SOURCE LOCAL OFFSE...

Page 5: ...0 0X94 23 CHAPTER 5 HARDWARE CONFIGURATION 24 5 0 BOARD LAYOUT 24 5 1 BOARD ID JUMPER JP1 25 5 2 PC104P PCI104 SLOT SELECT SWITCH U4 25 CHAPTER 6 ORDERING OPTIONS 27 6 0 ORDERING INFORMATION 27 6 1 IN...

Page 6: ...nous Serial Data Rates up to 10 Mbps Asynchronous Serial Data Rates up to 1 25 Mbps Independent Transmit and Receive FIFOs for each Serial Channel Up to 32k Deep Each Serial Mode Protocols include Asy...

Page 7: ...g Z16C30 Universal Serial Controllers provide the four serial data channels The Z16C30 USCs serve as serial parallel converters which can be software configured to provide a variety of serial protocol...

Page 8: ...om board control functions while the USC Registers map the Zilog Z16C30 registers into local address space The register block for each USC channel is accessed at a unique address range The table below...

Page 9: ...O 000000XX 0x004C D32 Read Write Ch 4 Control Status 0000CC00 0x0050 D32 Read Write Ch 1 Sync Byte 00000000 0x0054 D32 Read Write Ch 2 Sync Byte 00000000 0x0058 D32 Read Write Ch 3 Sync Byte 00000000...

Page 10: ...nel Request allows the software to multiplex the DMA channels This is typically handled by the driver the end user should have no need to change this register D31 Board Reset 1 Reset all Local registe...

Page 11: ...used to determine a fill level for a specific transfer size D31 16 Tx Almost Full Flag Value Almost Full Flag will be asserted when the FIFO has space for Almost Full Value words or fewer i e FIFO con...

Page 12: ...Active Low 0 Tx Empty D7 0 Channel Control Bits D7 Reset USC Pulsed 1 Reset USC chip Notes This value will automatically clear to 0 Following a USC Reset the next access to the USC must be a write of...

Page 13: ...Falling Edge IRQ19 Channel 1 Rx FIFO Full Rising Edge Falling Edge IRQ20 Channel 2 Tx FIFO Empty Rising Edge Falling Edge IRQ21 Channel 2 Tx FIFO Full Rising Edge Falling Edge IRQ22 Channel 2 Rx FIFO...

Page 14: ...pt Status Clear Register will have no effect on the interrupt If the interrupt source is a level triggered interrupt USC interrupt the interrupt status may still be 1 even if the interrupt is disabled...

Page 15: ...ransceiver control for further information D30 Termination Disable For RS422 RS485 and V 35 the RxC RxAuxC and RxD have built in termination at the transceivers These internal terminations may be disa...

Page 16: ...D19 TxD Source 0 X USC_TxD 1 0 Output 0 1 1 Output 1 D18 17 Cable TxAuxC Output Control Defines the Clock Source for the TxAuxC signal to the IO connector D18 D17 TxD Source 0 0 Tristate 0 1 On board...

Page 17: ...1 Output to IO Connector 1X Output D10 9 USC_CTS Direction Setup Defines the CTS direction for the USC CTS pin Notes If CTS is used as GPIO set this field to 00 and set Pin Source Register D14 D13 for...

Page 18: ...y be used as either an input or output to the USC the clock source must agree with the USC Clock setup USC IO Control Reg D2 0 to ensure the signal is not being driven by both the USC and the FPGA D2...

Page 19: ...Size Registers display the sizes of the installed data FIFOs This value is calculated at power up This value along with the FIFO Count Registers may be used to determine the amount of data which can...

Page 20: ...initialize 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 Following this initial byte write...

Page 21: ...gramming details please refer to the Zilog Z16C30 data books Channel Offset Address Access Register Name 0x01 0x00 CCAR Hi Lo Channel Command Address Register 0x03 0x02 CMR Hi Lo Channel Mode Register...

Page 22: ...it of the USC Channel Command Address Register CCAR The FIFO resets allow each individual FIFO Tx and Rx to be reset independently Setting the FIFO reset bit will clear the FIFO immediately 3 2 FIFO A...

Page 23: ...enough available FIFO space to complete the transfer If the transfer size is larger than the available data the transfer will complete with invalid results This is the preferred mode for DMA operatio...

Page 24: ...ed as an output or input clock signal or as a general purpose IO configured by the Pin Source register See Section 2 1 11 for further information on the Pin Source register The USC Clocks USC_RxC and...

Page 25: ...esent a problem since the USC only has two clock pins Since one clock is necessary for receive clock and the other is necessary for the transmit clock there is no clock pin available for an input to t...

Page 26: ...gnal The DCD and AuxC direction is set in the Pin Source register fields independent of DCE DTE mode Signal DTE DCE DTE Ext Loopback DCE Ext Loopback TxC TxC Out RxC In TxC Out RxC In Unused RxC RxC I...

Page 27: ...fect on the SIO4BX performance The following section attempts to filter the information from the PCI9080 manual to provide the necessary information for a SIO4BX specific driver The SIO4BX uses an on...

Page 28: ...1 DMA are supported 4 1 4 1 DMA Channel Mode Register PCI 0x80 0x94 The DMA Channel Mode register must be setup to match the hardware implementation Bit Description Value Notes D1 0 Local Bus Width 1...

Page 29: ...i Protocol Xcvr Multi Protocol Xcvr Multi Protocol Xcvr Multi Protocol Xcvr Multi Protocol Xcvr Multi Protocol Xcvr Multi Protocol Xcvr R P 1 0 4 R P 1 0 1 R P 1 0 3 R P 1 0 2 PC104P SIO4BX BASE REV N...

Page 30: ...2 2 of the PC 104 Plus specification Version 1 2 The exact relationship or mapping of switch positions and slot specific signals may vary among manufacturers of PC104 Plus motherboards Switch Position...

Page 31: ...46 RTS3 CTS3 RTS3 CTS3 RTS3 CTS3 13 TXD1 RXD1 Unused Unused 47 TXD3 RXD3 Unused Unused 14 TXD1 RXD1 TXD1 RXD1 TXD1 RXD1 48 TXD3 RXD3 TXD3 RXD3 TXD3 RXD3 15 TXC1 RXC1 Unused Unused 49 TXC3 RXC3 Unused...

Page 32: ...ordered with a single connector to allow the user to adapt the other end for a specific application A standard cable is available which will breakout the serial channels into four DB25 connectors Shie...

Page 33: ...C CLOCK RAM is accessed through 2 registers at local offset 0x00A0 Address Reg and 0x00A4 Data Reg The user simply sets the RAM Address register to the appropriate offset then reads or writes the the...

Page 34: ...is not post divided A value of 2 will provide a post divide of 4 2 2 This will allow for a post divide value of up to 32768 2 15 for each input clock Bit D7 of the Control word qualifies writes to the...

Page 35: ...Hi 0x00 0x17 OSC Setting 0x00 0x18 Reserved 0x00 0x19 Reserved 0x00 0x1A Reserved 0xE9 0x1B Reserved 0x08 0x1C 0x3F Reserved Unused 0x00 0x40 PLL1 Q Setup0 0x00 0x41 PLL1 P Lo 0 Setup0 0x00 0x41 PLL1...

Page 36: ...PCI bus interface D28 1 64 bit PCI bus interface 0 32 bit PCI bus interface D27 D24 Form Factor 0 Reserved 1 PCI 2 PMC 3 cPCI 4 PC104P D23 D20 HW Board sub field of form factor 0 PC104P SIO4B 1 PC104P...

Page 37: ...level 1 RS232 support Pin Source Change 2 Multi Protocol support 3 Common Internal External FIFO Support 4 FIFO Latched Underrun Overrun Level 5 Demand mode DMA Single Cycle for Tx 6 DMA_Single_Cycle...

Reviews: