background image

                          

Embedded Solutions

                          Page  36

observed termination sequence [3 clocks] plus some margin can be used to set the time
out.  Remember to scale for the period.

5 us ~ 165 clocks at 33 MHz.

The counter counts from 0 leading to an N+1 TimeOut length.  The count is checked
with a Greater Than function effectively making it an N based count.   Having said all of
that you will likely have to “play” with this variable to achieve the system performance
you need with a non packet defined interface.  The shorter the time the quicker the
response and the more likely a single packet is broken into two or more pieces.

LM9_CHAN_RX_BYTECOUNT_LEN

[0x40] RX ByteCount Length

RX ByteCount Port

Data Bit

Description

31-0

Expected Bytes per Packet

Figure 23  PcieBiSerialDb37Lm9 RX ByteCount Length

The RxByteCount Length is used to specify the number of bytes in a packet.

The length can be 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 larger DMA thread can be defined and smaller packet interrupts based on the
ByteCount allowing the SW to “chase” the reception with known step-sizes.

For example set-up a multi-megabyte DMA transfer to system memory.  The DMA will
operate based on the FIFO state and have moved the Packet to memory before the
RxPacketCompleted interrupt is processed. The DMA will have only one interrupt per
large transfer.  The packet interrupt will allow the host software to trail the DMA process
operating on the data stored from the Packets received.  The Packets are a consistent
size making for an efficient retrieval of data from system memory to application.

Alternatively the data can be moved directly to disk using system utilities and the known
data stored into the FIFO.  In this case the DMA operation would be programmed to be
called each time the Packet data arrived.

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: