background image

                          

Embedded Solutions

                          Page  8

The number of bytes to send is programmable.  The number can be stored into a
secondary FIFO to allow multiple packets to be transmitted from a single larger DMA
transfer.  The number of bytes can also be stored into a register to cover cases where
the size of each packet is consistent.

The hardware waits until there is a definition of the byte count, and data in the transmit
FIFO before starting.  Once started if the data FIFO is empty when the transmitter is
ready to read the next data set an error for underflow is flagged.  The error can cause
an interrupt if desired.

The receiver is designed to be always ready when the radio transmits data to the LM9
interface.  The receiver channel when enabled can accept data from the radio
independent of the transmitter.  This allows for loop-back or other applications.  The
ARC-210 can only transmit or receive and not both at the same time.  The receiver will
only receive data when the transmitter is not operating – in a system situation.

The receiver uses a 33 MHz clock to sample the received data and clock and to control
the data flow internally.  The expected ReceiveTiming rate is around 1 MHz. leaving
plenty of headroom for the sampling and data control.

The received timing input is converted to a series of 33 MHz. pulses which are used to
enable the receive shift register to capture the synchronized Receive Data.  As the data
is captured the marking state is checked to allow for initial start-up [10 bits+ of marking
bits in a row].  The state-machines check if in the marking state and then if a start bit
has been received.  Data bits are counted and when a complete Start Byte Parity
sequence is received the data is parallel loaded to a holding register.  Parity is
calculated and tested against what was received.  The data is moved to a secondary
holding register to build up to a 32 bit word.  When 4 bytes are received or at the end of
a programmed length the data is moved to the output FIFO.

Both the transmitter and receiver allow for bit and byte reversal.  The data is stored as
32 bit words into the transmit FIFO from the system or the receive FIFO from the
interface.  The data is used with little Endian conventions as the default – 0,1,2,3 for the
byte order where 0 = D7-0 [data on AD7-0] first and D31-24 last.  The bits are sent LSB
first so D0 is first on the line and D31 is last if all 4 bytes are to be sent.  Similarly the
receiver loads 0,1,2,3 so the first bit in goes into D0 and the last into D31 for each long
word.  When the bytes are reversed the order becomes 3,2,1,0 which which would
make the IO 24 first, 7 last since it is still lsb first.  The bit reversal swaps D7 with D0 etc
on each byte read so the order becomes D31 first and D0 last if both reversal options
are selected.  For systems using Windows Little Endian is consistent with the driver and
memory mapping.  With Linux and some RISC based systems the reversal may be
necessary.

Summary of Contents for PCIeBiSerialDb37-LM9

Page 1: ...A 95060 831 457 8891 Fax 831 457 4793 http www dyneng com sales dyneng com Est 1988 User Manual PCIeBiSerialDb37 LM9 ARC210 IF Parallel Port PCIe 4 lane Module Transmit and Receive Interface Protocols...

Page 2: ...without notice Furthermore Dynamic Engineering assumes no liability arising out of the application or use of the device described herein The electronic equipment described herein generates uses and c...

Page 3: ...CHAN_RX_FIFO_COUNT 27 LM9_CHAN_FIFO 27 LM9_CHAN_TX_AMT_LVL 28 LM9_CHAN_RX_AFL_LVL 28 LM9_CHAN_TX 29 LM9_CHAN_TX_PACKET_LEN_FIFO 31 LM9_CHAN_TX_PACKET_LEN_REG 32 LM9_CHAN_RX 33 LM9_CHAN_RX_PACKET_LEN_F...

Page 4: ...Embedded Solutions Page 4 Out of Warranty Repairs 41 SPECIFICATIONS 42 ORDER INFORMATION 43...

Page 5: ...IGURE 11 PCIEBISERIALDB37LM9 TX FIFO DATA COUNT PORT 26 FIGURE 12 PCIEBISERIALDB37LM9 READ DMA POINTER REGISTER 26 FIGURE 13 PCIEBISERIALDB37LM9 RX FIFO DATA COUNT PORT 27 FIGURE 14 PCIEBISERIALDB37LM...

Page 6: ...nce The IO are buffered from the FPGA with differential transceivers The transceivers can be populated with LVDS or RS 485 compatible devices The power plane for the transceivers is isolated to allow...

Page 7: ...r The ARC 210 interface is serial with an interface similar to a UART The Start and Marking bits have opposite polarity with the Start bit being active high 1 and the marking state being a 0 on the li...

Page 8: ...synchronized Receive Data As the data is captured the marking state is checked to allow for initial start up 10 bits of marking bits in a row The state machines check if in the marking state and then...

Page 9: ...as there is data in the FIFO Please note that the Data in the FIFO s are packed on a Packet basis The last LW is padded as necessary to reach 32 bits On the receive side the storage register is clear...

Page 10: ...hierarchy The Dynamic Engineering Windows driver uses the hierarchical approach to allow for more consistent software with common bit maps and offsets This implentation has only one channel The channe...

Page 11: ...can control the entire transfer Head to tail operation can also be programmed with two memory spaces with two interrupts per loop The hardware is organized with the IO function in channel 0 and the c...

Page 12: ...ffset register data R W define LM9_BASE_GPIO_IO 0x004C 19 LM9Base GPIO Data IO offset read only Figure 3 PCIeBiSerialDb37LM9 Internal Address Map Base Functions The address map provided is for the loc...

Page 13: ...ad port including pipeline define LM9_CHAN_FIFO 0x00000010 4 LM9Chan FIFO for single word RW define LM9_CHAN_TX_AMT_LVL 0x00000014 5 LM9Chan TX almost empty level RW define LM9_CHAN_RX_AFL_LVL 0x00000...

Page 14: ...o the PLL The IO for the ARC 210 direction and termination are hardwired in this design The ports are unidirectional and initialization is simplified with this approach The GPIO ports can be programme...

Page 15: ...he DMA transfer the Host will receive an interrupt The receiver can be stopped and the FIFO reset to clear out any extra data captured For on the fly processing multiple shorter DMA segments can be pr...

Page 16: ...register is where the Sdata output value is specified or read back pll_s2 This is an additional control line to the PLL that can be used to select additional pre programmed frequencies Set to 0 for m...

Page 17: ...ermine which PcieBiserialDb37Lm9 physical card matches each PCI address assigned in a system with multiple cards installed The DIPswitch can also be used for other purposes software revision etc The s...

Page 18: ...al channels 0 Unmasked Ch0 Interrupt Figure 7 PcieBiSerialDb37Lm9 Status Port Bit Map Channel Interrupt The local interrupt status from the channel Each channel can have different interrupt sources DM...

Page 19: ...pass 1 Receive FIFO Reset 0 Transmit FIFO Reset Figure 8 PcieBiSerialDb37Lm9 channel Control Register FIFO Transmitter Receiver Reset When set to a one the transmit and or receive FIFOs will be reset...

Page 20: ...a higher priority over other lower rate channels ByPass when set allows the FIFO to be used in a loop back mode internal to the device A separate state machine is enabled when ByPass is set and the T...

Page 21: ...t 15 Read DMA Interrupt Occurred 14 Write DMA Interrupt Occurred 13 Read DMA Error Occurred 12 Write DMA Error Occurred 11 RxAFLvlIntLat 10 TxAELvlIntLat 9 RxParityErrorLat 8 spare 7 spare 6 Rx FIFO F...

Page 22: ...w error is declared Tx FIFO Empty When a one is read the FIFO contains no data when a zero is read there is at least one data word in the FIFO If the FIFO is empty when time to read transmitted data f...

Page 23: ...le to clean up and return to the idle state If SW has cleared the start bit to terminate the data transfer SW can use the IDLE bit to determine when the HW has completed its task and returned Rx IDLE...

Page 24: ...a write back with this bit set Tx Packet Completed Lat When a one is read the transmitter has transmitted at least one of the stored packets The signal is latched and can be cleared via write back wit...

Page 25: ...of buffer memory blocks This process is continued until the end of chain bit in one of the next pointer values read indicates that it is the last chaining descriptor in the list All three values are o...

Page 26: ...rt the DMA engine reads three successive long words beginning at that address Essentially this data acts like a chaining descriptor value pointing to the next value in the chain The first is the addre...

Page 27: ...unt read only RX FIFO Data Count Port Data Bit Description 31 16 Spare 15 0 RX Data Words Stored Figure 13 PcieBiSerialDb37Lm9 RX FIFO data count Port This read only register port reports the number o...

Page 28: ...ister is R W for 16 bits The mask is valid for a size matching the depth of the FIFO LM9_CHAN_RX_AFL_LVL 0x18 Rx almost full read write Rx Almost Full Level Register Data Bit Description 31 16 Spare 1...

Page 29: ...smit FIFO and a packet definition has been read and CTS is received data will be transmitted Clearing TxEn will return the State Machine to the idle state generally at the end of the current transmitt...

Page 30: ...sent D31 first D0 last Please note the start bit parity bit and stop marking states are not affected TxClkPolarity When set inverts the clock used by the transmitter The default 0 setting uses the ris...

Page 31: ...encies below the PLL capability would be the exception In this case a 1 MHz or similar frequency can be programmed into the PLL and the divisor used to reach lower frequencies LM9_CHAN_TX_PACKET_LEN_F...

Page 32: ...t Port Data Bit Description 31 0 TX Data Bytes per Packet Figure 19 PcieBiSerialDb37Lm9 TX Packet Size Register This read write register port holds the number of bytes to transmit per packet Data is r...

Page 33: ...unted and the byte is stored Once synchronized the receiver requires 1 stop bit between words RxIntEn when set enables the RxPacketCompleted status to cause an interrupt to the host The status is set...

Page 34: ...ault 0 setting uses the falling edge to sample the received data When set the rising edge is used RxParitySel is used to control whether odd or even parity is tested against the parity received on eac...

Page 35: ...rom the FIFO LM9_CHAN_RX_TIMEOUT_LEN 0x3C RX TimeOut Length RX TimeOut Port Data Bit Description 31 0 Max Clocks before new Packet Figure 22 PcieBiSerialDb37Lm9 RX TimeOut Length This read write only...

Page 36: ...used in several ways The length can be used to match the known packet size expected from the receiver The length can be used to create smaller SW defined packets with a received amorphous stream A lar...

Page 37: ...ifferent set up The loop back plug is a DB37 connector with the interconnections protected with a connector shell Signal From To Signal GPIO_0 7 13 GPIO_6 GPIO_0 8 14 GPIO_6 GPIO_1 26 32 GPIO_7 GPIO_1...

Page 38: ...PIO_0 7 8 IO_7p GPIO_1 IO_7m GPIO_1 26 27 IO_8p GPIO_2 IO_8m GPIO_2 9 10 IO_9p GPIO_3 IO_9m GPIO_3 27 29 IO_10p GPIO_4 IO_10m GPIO_4 11 12 IO_11p GPIO_5 IO_11m GPIO_5 30 31 IO_12p GPIO_6 IO_12m GPIO_6...

Page 39: ...ng areas by powering the equipment together and by having a good ground reference Keep cables short Flat cables even with alternate ground lines are not suitable for long distances In addition series...

Page 40: ...CIe is secured against the chassis with the connectors and front panel If more security against vibration is required a chassis with top side support can be used The PCIeBiSerialDb37 has a wider keep...

Page 41: ...y the return Dynamic Engineering will not be responsible for damages due to improper packaging of returned items For service on Dynamic Engineering Products not purchased directly from Dynamic Enginee...

Page 42: ...ad Back registers FIFO R W 32 bit boundaries Initialization Programming procedure documented in this manual Access Modes LW to registers read write to most registers Access Time Frame to TRDY 121 nS 4...

Page 43: ...l Temp 40 85C Standard this design COM to change to commercial temp parts 0 70 Dbterm37 37 position terminal block with DB37 connector http www dyneng com DBterm37 html Dbcabl37 DB37 cable compatible...

Reviews: