Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

JTAG pin sharing problem

I used the TDO, TDI, TCK as user I/O . The problem is that I can program at the first time with USB blaster but when I program again, it failed.

I set the JTAG PIN afile:///C:/Users/Jack/AppData/Roaming/Tencent/Users/502802988/QQ/WinTemp/RichOle/T8%7BU_97VKXVO%7BBS@C)FS_T0.png s the user I/O through the way Assignments->Device->Device and Pin Options->General-> Enable JTAG pin sharing .But I didn't cancel the above option :Enable nCONFIG, nSTATUS,and CONF_DONE pins . Is any way to solve the problem??

This is the option's description Enable JTAG PIN sharing

Enables JTAG pins sharing feature in user mode. When selected, the JTAGEN pin is used to select JTAG pins (TDO, TCK, TDI, and TMS pins) operation, between JTAG operation (JTAGEN=1) and user I/O operation (JTAGEN=0). If JTAG pin sharing is not enabled the JTAGEN pin acts as a user I/O pin, and the JTAG pins (TDO, TCK, TDI, and TMS pins) are retained as dedicated JTAG pins.

The JTAGEN is always connected with the 3.3v through a 10k resistor.It means the JTAG pin do not run as user I/O .But JTAG error, why??

My device is MAX10M08SCM153I7G.

Thanks

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    General thoughts and hints on this subject:

    See: https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/hb/max-10/m10_handbook.pdf

    Have a careful look at the JTAG schematic diagram on page 3-3

    • If you intend to switch back and forth between user I/O pins and JTAG pin functions

    using the JTAGEN pin, all JTAG pins must be assigned as single-ended I/O pins or

    voltage-referenced I/O pins. Schmitt trigger input is the recommended input buffer.

    • JTAG pins cannot perform as JTAG pins in user mode if you assign any of the JTAG

    pin as a differential I/O pin.

    • You must use the JTAG pins as dedicated pins and not as user I/O pins during JTAG

    programming.

    • Do not toggle JTAG pin during the initialization stage.

    • Put the test access port (TAP) controller in reset state and drive the TDI and TMS pins

    high and TCK pin low before the initialization.

    If you use the JTAGEN pin, Altera recommends the following settings:

    • Once you entered user mode and JTAG pins are regular I/O pins—connect the JTAGEN pin to a weak

    pull-down (1 kΩ).

    • Once you entered user mode and JTAG pins are dedicated pins—connect the JTAGEN pin to a weak

    pull-up (10 kΩ).
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    there is a bug on Quartus, so you need to affect TDO and use it as OUTPUT only;

    from ALTERA/Support

    "Why can’t I access the MAX 10 device via JTAG even though JTAGEN is pulled high in user mode?"

    https://www.altera.com/support/support-resources/knowledge-base/solutions/rd03222016_95.html

    "How do I gain access to the JTAG pins of my MAX 10 device if I have enabled the JTAG pin sharing option, and the Quartus Prime Programmer is unable to auto detect the device?"

    https://www.altera.com/support/support-resources/knowledge-base/solutions/rd05192016_963.html