EasyManua.ls Logo

abaco systems CEI-520 - Page 176

Default Icon
191 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Description of CEI-100/200 ARINC Interface Receiving Data
CEI-100/CEI-200/CEI-x20 User’s Manual 164
The buffer segment is the segment offset from the base of the board to the
start of the buffer. For example, the buffer for a channel with a buffer
segment value of 0C0h on a board based at segment CC00h would be
addressed at segment CCC0h (real address CCC00h). This is the top of
the circular buffer. The ARINC processor updates the head pointer as data
is put in the buffer. You must update the tail pointer as data is read from
the buffer to keep track of how much data has been removed. The head
and tail pointers are both byte offsets from the top of the buffer. The head
pointer points to the next location where data will be written. The tail
pointer points to the next location to read. On initialization, both values
are zero. When both values are the same, all data in the buffer is read. If
the head pointer ever catches up to the tail pointer, an entire buffer of data
is lost.
When the ARINC processor puts an ARINC word in the buffer, the LSB is
written at the offset head pointer. The MSB is at the offset head
pointer + 3. The ARINC processor adds the value 4 to the head pointer,
performs the logical AND of the wrap mask and the head pointer, and
stores the new head pointer value. The wrap mask is the size in bytes of
the buffer minus 1. The buffer size must be a power of two.
The data structures are located at the following offset locations:
0430h receiver 1
0438h receiver 2
0440h receiver 3 (CEI 200 only)
0448h receiver 4 (CEI 200 only)
0450h receiver 5 (CEI 200 only)
0458h receiver 6 (CEI 200 only)
0460h receiver 7 (CEI 200 only)
0468h receiver 8 (CEI 200 only)
When time tagging is enabled, the slave processor appends a 4-byte
timetag after each received word. When in this mode, you must read all 8
bytes (4 bytes of data and 4 bytes of time) each time the buffer is read.
The timetag LSB is written at the offset head pointer + 4. The MSB is
written at offset head pointer + 7. See AR_TIMETAG_CONTROL for
more information.
When running in DEDICATED mode, data is stored at a dedicated
location for each label within each channel's buffer. The circular buffer
mechanisms (i.e., head/tail pointers and wrap mask) do not apply here.
The location for the data for a particular label is simply calculated by
multiplying the label by four. For example, the location for label 7 would
be at offset 28 (decimal) from the beginning of that channel's buffer. The
address of the beginning of the buffer is calculated in the same way as in
buffered mode.
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com

Table of Contents

Related product manuals