Sunday 20 December 2015

UrJTAG Testing - FT2232D - Atmeg16 JTAG - Boundary Scan

I am a big fan of FTDI ..

Ok where to get the board ..
FT232B/R -> does not have mpsse support , dont buy this ..
FT2232D-> USB full speed device -> polling range 800 -1000 times per sec
FT2232H -> High speed device -> Polling range 6000 times per sec..
FT4232H -> should work like FT2232H  , haven't tested yet
FT232H -> New one I guess


Buy this   FT2232H Mini-Module 
Now where to get  ,  element14.com , Digikey.com ...may be you can buy directly from FTDI




 For Indian users can buy it from
http://shop.ngxtechnologies.com/product_info.php?products_id=30  -> 1200RS  , which is cheap & best in the market ... FT2232D





Remove c10 to c15 capacitors , which are on the high speed data lines ,,,  I guess , It is a design flaw ..( Only for NXG ARM USB JTAG)

Another one schematic is here
http://www.ethernut.de/pdf/turtelizer20c-schematic.pdf

For JTAG pin details for your chip refer the manual.. 

I have used  NXG ARM USB JTAG  &  Atmega 16 



Wire it up    TCK, TDI ,TDO,TMS  ...  RST not required ... 

Incase you encounter libusb error , just install filter driver ...  
libusb-win32-devel-filter-1.2.6.0.exe ... Restart the PC ..




BSDL file is not in the list ... So download it from atmel 


put it on the c drive ...


Now we will make the pins Set to 1 & zero ... 

Jtag>instruction EXTEST
jtag>shift IR
jtag>set signal PB(1)  out 1 
jtag>shift DR ->   Now the output will be high 
jtag>set signal PB(1) out 0 
jtag>shift DR -> Now the output will be zero







6 comments:

  1. How to read a pin ? Any configuration needed to set the pin as input before reading ?

    What happens if the pin i am trying to read can only be an output pin ?

    ReplyDelete
  2. 1.download the bsdl file from the chip manufacturer,if not available you can ask them..
    the pin information's " PB(1) , PB(2)" can be found in the bsdl file ..
    please note that this information will change according to your processor ..
    for example atmega16 PORTB
    " 96 ( BC_7 , PB(0) , bidir , X , 95 , 0 , Z )," &
    " 93 ( BC_7 , PB(1) , bidir , X , 92 , 0 , Z )," &
    " 90 ( BC_7 , PB(2) , bidir , X , 89 , 0 , Z )," &
    ......

    2.then command "cable ft2232"
    3.Load the BSDL file path " bsdl path c:\ "
    3."detect" this should identify your chip
    4.then use the above instructions
    5.To read the value use "get" command , for further commands details pls refer

    http://urjtag.org/book/_jtag_commands.html

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Thanks @Varghese, I am able to read/write boundary scan from a Xilinx CPLD chip using a FT4232 module.

    Right now I enter the commands manually--one at a time.
    Is there a way to control the sequencing from a host program (Eg C# or Python etc ?

    ReplyDelete
  5. I think you can do DOS "console command redirection" , but I haven't tried yet .. Let me give a try :).. something like this .. http://www.codeproject.com/Articles/5531/Redirecting-an-arbitrary-Console-s-Input-Output .. I usually work on VC++ , I guess there should be some .Net equivalent ..

    ReplyDelete
  6. I have read your blog it is very helpful for me. I want to say thanks to you. I have bookmark your site for future updates.
    JTAG

    ReplyDelete