Dynamic Engineering PMC-BiSerial-III HW2 User Manual page 37

32 channel bi-directional manchester, sdlc and asynchronous interface pmc module
Table of Contents

Advertisement

In the example the CRC falls onto a non long word boundary. The hardware will
increment past the odd word and look for the next command on the next long word
boundary. Please note that the memory locations are counting as long words – 0, 4, 8,
C etc. The compiler will convert "i" to a long word count in the example above. The
next command will be located at the 8th long word.
When receiving the data is loaded into the DPR. There is no equivalent to the
command word on the receive side. When doing loop-back testing the data will be
offset in the receive channel compared to the transmit channel.
In Bidirectional mode the receive data is loaded starting from the half way point of the
memory. In Unidirectional mode the receiver loads data starting at 0x00. Each packet
is loaded starting on a long word boundary. If a packet ends on a non long word
boundary one location is skipped.
In receive mode the receiver stays enabled until the software disables the receiver. In
receive mode an interrupt request is generated on each packet received. The interrupt
enable can be used to disable a channels interrupt request capabilities.
The Manchester decoder has some range of operation. The difference between the
high and low speed mode is too great for the decoder to handle without selecting the
proper speed of operation.
The receiver will look for a valid pre-amble before accepting data. When a valid pre-
amble is found the data is captured and stored into the DPR. The CRC is calculated in
hardware based on the data received and then compared against the CRC received
with the message. If the CRC's do not match then the CRC error bit is set.
The receiver restarts by looking for a new pre-amble. The idle pattern or a tristated bus
will be detected and not stored. When a new message is detected and received it will
be stored starting at the next LW location. The messages will continue to increment up
the memory. Eventually roll over causing part of the message to be written to low
memory or high memory (depending on mode). As long as the data has been read by
the time the roll over occurs no data will be lost.
Messages are at least 4 words long with the label, length, 1 data word plus the CRC.
At 5 MHz the minimum time between messages is 12.8 uS (discounting the pre and
post amble time). An additional 3.2 uS is added for each additional word in the
message. The specification allows for up to 62 words. The hardware can handle
longer messages than allowed for by the specification. The length field is 16 bits and
the size of the memory is 1K.
The receiver uses the length embedded in the message to determine how much data to
expect and when to expect the CRC to be received. The host software can read the
length and determine the end address of the packet. The host software can also read
Embedded Solutions
Page 37 of 50

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the PMC-BiSerial-III HW2 and is the answer not in the manual?

Table of Contents