Accessing Unused Data Pins of the Parallel Port
Communication over both Hard Devices and Soft Devices JTAG chains simultaneously is not supported. Where use of both channels has been defined – in the associated JTAG Board file – a channel needs to be initialized (prior to using it) and then finalized (after communications over the channel have ceased). This initialization and finalization is handled by Altium Designer using the Data Bus of the PC's parallel port.
Any pins of the Data Bus that are not assigned to JTAG communications may freely be accessed and used for other purposes. For example, you may want to make available an additional signal that indicates which channel is currently in use.
To provide access to unused pins of the Data Bus, the following additional parameters are definable in a JTAG Board file:
- DataBackground – the value assigned to this parameter is used to initialize the current channel. This value is output on the Data Bus of the parallel port (
D7..D0
). Any pins of this bus assigned for JTAG must be set (High).
In the predefinedXilinx.JTGBRD
file, the value used for this parameter isF7h
. This value sets all lines of the Data Bus High, with the exception ofD3
(i.e.11110111
). LinesD0
,D1
,D2
,D5
andD7
have been assigned for JTAG and are therefore set high accordingly.D3
is, as an example, being used as a status signal to show whether a channel is in use. At channel initialization it is set Low.
- DataFinal, Mask_DataFinal – together, these two parameters are used to finalize use of the present channel. The value of each bit in DataFinal is written onto the data bus ONLY if the value of the corresponding bit in Mask_DataFinal is set. Again, any pins of this bus assigned for JTAG must be set (High).
Continuing to look at the predefinedXilinx.JTGBRD
file, the value08h
is defined for the DataFinal parameter and the value used for the mask (Mask_DataFinal parameter) is set to08h
also. With these values defined, use of the current communications channel will be finalized and the valuexxxx1xxx
written onto the data bus (D7..D0
).D3
, which in this example is being used to provide channel communications status, is taken High.