General Use Register Memory Map68C3 Operations Manual North Atlantic Industries, Inc. 12/19/2014Rev: 2014-12-19-0947 www.naii.com Page 303 of 330Design VersionThe register holds product design version in ASCII. For example, design version 1 would be ASCII “1” is in upper byte andASCII “space” in lower byte, together 3120h.REGISTER D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 FUNCTIONDESIGN VERSION D D D D D D D D D D D D D D D D D=DATA BITASCII “1 ” ASCII “ ”Interrupt StatusThe following strategy has been added improve robustness of interrupt generation on the family of PCI boards. By moving allinterrupt discovery and acknowledgment to the low-level driver, synchronization problems will be avoided.The register is read only. If it is read while an interrupt is not Pending, the least significant bit will be zero, and the remainingbits will be unknown. If it is read while an interrupt is Pending, the least significant bit will be 1 and bits 15...8 will contain theinterrupt vector Number.When an interrupt has been initiated, the interrupt vector, which is programmed to a value defined by the user in each module,will be available in the Interrupt Status register. This register will remain at PCI address 0x0400.The Interrupt Status register is defined as follows:REGISTER D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 FUNCTIONINTERRUPT STATUS D D D D D D D D X X X X X X X D D=DATA BITInterrupt Vector (0x00..0xBF) Unused ** 1= Active InterruptReading this register clears it and prepares for the next interrupt. As such, the interrupt service routine must read it only onceper interrupt.Because the interrupt is now cleared in the acknowledgement, multiple interrupts may occur before the application is able toacknowledge them. For this reason a queuing mechanism is needed in the interrupt service routine. As the maximum Numberof simultaneous interrupts is 192, the mechanism need be no deeper than this. In actual operation, the Number of queuedinterrupts will typically be much lower than 192.When the application interrupt callback is called by the driver, the vector should be removed from the queue and passed as acalling parameter. The application must not access the Interrupt Status register directly.