
-
35
RTCENA
Bits: 14,0
Real Time Clock Time Tag Message Oprions. The Time_ Tag_ Transmit option will cause the first
two transmitted words of the associated Transmit Command to contain the time tag, MSW first.
TIME TAG MODE
14
0
NO TIME TAG ON MESSAGES
0
NO TIME TAG ON MESSAGES
0
1
TIME TAG MESSAGES; DON’T TRANSMIT TIME TAG WITH TRANSMIT
COMMAND
1
0
TIME TAG MESSAGES; TRANSMIT TIME TAG WITH TRANSMIT
COMMAND
1
Note: If the No Time Tag option is used, data words occupy the time tag positions.
4.3.4
RT DATA TABLE BUFFERING SCHEME
Since the host and the NHi_ ET can access data tables asynchronously, data integrity must be
ensured by a suitable buffering scheme. The method employed by the ET assumes that there are
two pointer tables; one specifies data tables accessed by the ET and the other tables accessed
by the host. The host's pointer table can reside anywhere in its memory space since it is never
accessed by the ET. Data buffers are switched by the host exchanging pointers as explained
below.
4.3.4.1
RT RAM ACCESS
When the ET wants to read or write to a data table, it fetches the corresponding data table pointer
from its pointer table. It then sets the LOCK bit in the data table's TAG WORD to 1 and proceeds
with the update. At the completion of the update, the ET sets the LOCK bit to 0 and also sets the
UPDATE bit in the TAG WORD to 1 if it wrote to the data table or 0 if it read the data table. If the
condition of the UPDATE bit at the start of the ET access indicates that the host has not read
from or written to the data table since the last ET access to that table, the ET sets the OVRWRT
bit in the TAG WORD to 1 to tell the host stale data has been transmitted by the ET or data has
been overwritten by the ET.
Since the ET may fetch a data table pointer while the host is in the process of exchanging the
corresponding pointers, there is a possibility that the ET's pointer will point to the table used by
the host. In order to avoid this potential conflict, the host should check the LOCK bit in its data
table tag word AFTER exchanging the pointers but BEFORE reading the data. If LOCK= 1, the
host should wait until the protocol chip sets LOCK= 0.
NOTE: The LOCK bit is ALWAYS set in the TAG WORD of the data table accessed by the ET,
irrespective of when the pointers are exchanged by the host. This is guaranteed because the ET
reads the data table's pointer and sets the LOCK bit in the TAG WORD using a read - read -
modify - write sequence which cannot be interrupted by the host (i. e., read POINTER - read TAG
WORD - modify LOCK bit - write back TAG WORD with LOCK bit modified).
4.3.4.2
HOST RAM ACCESS
RECEIVE DATA TABLE
When the host wants to read the data in a RECEIVE data table, it FIRST EXCHANGES the
pointer in its pointer table with the corresponding pointer in the ET's table. Then, the host reads
the LOCK bit in the TAG WORD. If the LOCK bit is 0, the host proceeds with its access. If,
however, the LOCK bit is 1, this informs the host that the ET is accessing that data table. The
host should then delay its access until the LOCK bit has been set to 0 by the ET. When the host
finishes accessing the RECEIVE data table, it should clear the UPD bit in the data table's TAG
WORD to 0. This will tell the ET the host has taken the data.