DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5527|回复: 7
打印 上一主题 下一主题

HappyJTAG2 - JTAG AND SPI AVR8 interface

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-14 11:10:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
     HappyJTAG2  -  JTAG AND SPI AVR8 interface
     EMBEDDED JTAG !
     EMBEDDED SPI !

    New version released !  V2.45   (Check version list for details)
      This construction is based on HappyJTAG Idea, to implement JTAG interface into target avr system and debug it remotly via USB, withoutspecific JTAGICE hardware. All job is done by PC softraware. HappyJTAG version is easy , but not powerfull enough.There is barriere withperformance, if you are manipulating with bits via USB interface. USB trafic is to huge to be effective.

     This is why I have realized more poverfull version HappyJTAG2.This version uses specialized FT2232 ( or FT2232H ) chip, which has integrated JTAG interface on chip. It radically reduces USB interface communication and speed up overall process. There are two channels in FT2232, Channel A is used for JTAG and channel B is still free for standart serial communication between target and host PC.

     Unfortunatly, the FT2232 chip requires more external components than FT232 chip. For example, external crystal oscillator, few more resistors and so on.But the result is balanced, because of overall performance is 100 times better if you compere with original HappyJTAG version.  

     HappyJTAG2 hardvare is standart published in datasheets, as you can see from schematic file. The main idea is to integrate FT2232 in target board and to use USB interface as standart target board interface for all communication, serial as well as JTAG or SPI.But there is also possible to replace target AVR8 with JTAG or SPI connector and to operate this interface as standart AVR JTAG or SPI interface ( remember,there is not in/out signals level convertors and so on, you have to add them to interface in this case )

     All logic is covered by PC application. This application has two connection One is via USB  to target and second is via TCP to AVRStudio. All commands are interpreted to FT2232 commands and sended to target FT2232 chip to process JTAG and SPI data integrchange.This PC software works in two modes:   
    The first mode alows run as independent software. There is support for connecting target via JTAG or SPI, read signature, reset target, download software (*.hex) into tagrget and to manage target fuses (read, write).  
   
    The second mode is AVRstudio mode. In this mode PC software interprets AVRStudio requests and communicate with target via JTAG or SPI.For AVRStudio it works as JTAGICEMK2 emulation.   
   
Since version 2.31, there is no need for external Virtual Serial Port emulator. The HappyJTAG2 emulates one of serial port COM1-COM4 byself. You just have to start HappyJTAG2,select "ComX port emulation" radiobutton and open AVRStudio. In AVR Studio choose COMx ( pre-set in menu ) port for JTAGICEMKII device. Its all !  
  
However, external serial port emulator its still supported. You can use third party freeware software and utility, for exaple HW group´s  "Virtual Serial Port" . You can download this emulator from : HW Virtual serial port
    This port is bridge between COM port oriented serial commmunication of AVRStudio and TCP oriented communication of HappyJTAG2 PC software.This is why you have to set up VirtualSerialPort into mode, where it redirects communication from COM port to TCP. You have to enterIP address 127.0.0.1 and port 2232 into Virtual serial port and let it run before you setup AVR studio to work with JTAGICEMK2 hardware and run HappyJTAG2pc software. You have to connect HappyJTAG2 PC software with VirtualSerialPort by pressing ""Connect to AVRStudio" button.Dont forget to set baud rate as high as possible (115000) in AVRStudio dialog box, because it is limitation factor for overall performance.  
  



  Since 2.33 version, HappyJTAG2 supports also GDB debugger. The interface is TCPIP, port 2232.

  HappyJTAG2 PC software was developed for ATMega32 target, however , current version supports more AVR8 modifications. My future plan is to enhance this software for the others AVR devices. There is also Boundary scan, so you can see physical pin states in graphical presentatoion, which is equal to ATMega32 DIP40 target.
Here is list of currently supported AVR8 models :
JTAG
   - ATmega16
   - ATmega32
   -ATMega128
   -ATMega640 (Not tested yet)
   -ATMega644 (Not tested yet)
   -ATMega644P
   -ATMega1280 (Not tested yet)
   -ATMega2560 (Not tested yet)
   -ATMega1281 (Not tested yet)
   -ATMega2561
   -AT90CAN128
   -AT90USB128 (Not tested yet)
   -ATXMEGA128A1
SPI
   - ATtiny13
   - ATmega48   (Not tested yet)
   - ATmega88
   - ATmega168  
   - ATmega16
   - ATmega32
   - ATmega640  (Not tested yet)
   - ATmega644  (Not tested yet)
   - ATmega644P
   - ATmega128
   - ATmega1280  (Not tested yet)
   - ATmega1281  (Not tested yet)
   -ATMega2560
   -ATMega2561
   -AT90CAN128
   -AT90USB128 (Not tested yet)


  As one of the benefits of this solution (FT2232) is, that this software can operate with third party hardware as well as with this embedded chip. As good example is Amontec JTAGkey hardware. You can use JTAGkey also for AVR8 chips in this case !  Its tested and it runs !

   The first prototype :



   And finaly   :



    HappyJTAG2 (Click at picture to see it in full resolution):



   Schematic (Click at picture to see it in full resolution) :


PC HappyJTAG2 program file:

HappyJTAG2_V2_45.zip (2.34 MB, 下载次数: 7)




  Short range ToDo:  
    - next AVR familly members implementation      
  
  
  Future plans :   
  Because of missing detail description of AVR OCD debug implementation, there is still list of unrealized functions and space for improvement debug to full level as we are used to for specialized JTAG ICE hardware solutions. (If you have some information about details of OCD DEBUG MODE, DEBUG REGISTERS, SEQUENCES and so on... please let me know and contribute to this project ! )   
    - Enhance BREAK support   
  
  
    Simillar situation is with HappyJTAG2/AVRStudio interconnection. It emulates serial port currently. But I would like replace it with  USB port emulation. So if you know about free virtual USB port solution for Delphi, please let me know....  


  At the end:
  Here published version is freeware, with some limitations and all features, which freeware usually has. There is no waranty and so on....But on the other hand, you can use this utility free for all your projects.This freeware version has limitations (Check version list for details).  
    -  LOCKFuses - you cannot change LOCK FUSES  
    - There is integrated prohibition for Fuse JTAGEN and SPI (depends on interface, you are using),        you cannot clear this fuse, so you cannot STOP/DISABLE        JTAG (or SPI if you are using SPI interface) interface with this freeware   
  
  If this is important solution for you, you can ask for full wersion, without limitations , by e-mail.

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏2 分享分享 支持支持 反对反对
沙发
发表于 2014-10-14 21:06:04 | 只看该作者
沙花,谢谢楼主分享。。
板凳
发表于 2015-1-5 17:18:19 | 只看该作者
不错的好资料,感谢分享,学习了
地板
发表于 2018-5-19 03:16:57 | 只看该作者
6#
发表于 2020-8-25 19:54:59 | 只看该作者
不错的好资料,感谢分享,
7#
发表于 2023-10-7 10:47:42 | 只看该作者
看中文的呢,可惜存储片固件没有


12345.rar

1.3 MB, 下载次数: 2, 下载积分: 银子 -10 两

8#
发表于 2024-1-2 09:41:11 | 只看该作者


努力回帖!赚银两,赚积分!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 23:27 , 耗时 0.095734 秒, 24 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表