• 特朗普让俄重返G7遭5国反对 唯独安倍表态我理解 2019-06-19
  • 人口普查员:我想要生活延续下去 2019-06-18
  • 【北京沃德龙鼎车型报价】北京沃德龙鼎4S店车型价格 2019-06-18
  • 一语惊坛(5月7日):宏志展翅挫愈奋,青春闪耀益人寰。 2019-06-08
  • 中远海运能源运输股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-06-08
  • 赵哲春季写真大公开 百变风格切换自如 2019-06-03
  • 七大公会力挺吴音宁 网友酸:该提名参选台北市长 2019-06-03
  • 第十六届中国经济论坛 2019-06-02
  • 一个连基本语句都不懂的人只会瞎扯,看着就想笑 2019-05-19
  • 奇闻怪事:瑶族怪异风俗习惯之烟袋定情 2019-05-17
  • 媒体活力:《人民日报》探索全球 2019-05-12
  • 快来看一看,被中国报协点名的十九大融合传播优秀作品“优”在哪儿 2019-05-12
  • 2017地方领导留言板APP2.0 2019-05-12
  • 舟山检验检疫局积极“搭台” 助力企业唱响“三同”戏 2019-05-10
  • 段春华主持召开市人大常委会党组扩大会议 2019-05-06
  • 首页 > 应用 > 嵌入式
    [导读]基于USB接口的仿真器,提出了一种采用PHILIPS公司ARM7内核、LPC2148为主控制器的设计方案,并给出了硬件电路设计。利用本仿真器通过第三方软件可以实现目标机的调试和在线编程。硬件电路设计简单,是取代并口方式仿真器的一种经济可行的方案。
     基于JTAG仿真器的调试是目前ARM开发中采用最多的一种方式。大多数ARM设计采用了片上JTAG接口,并将其作为测试、调试方法的重要组成。JTAG仿真器通过ARM芯片的JTAG边界扫描口与ARM CPU核通信,实现了完全非插入式调试,不使用片上资源,不需要目标存储器,不占用目标系统的任何端口。由于JTAG调试的目标程序是在目标板上执行,使得仿真更加接近于目标硬件[1]。
        目前针对嵌入式系统开发的调试工具品种繁多,如ARM公司的AXD debugger软件与Mutil-ICE仿真器等。但是大部分嵌入式调试工具价格过高,因此设计实现一种速度快、性能稳定、价格低廉、易于实现的ARM调试工具是十分必要的。
    1 ARM JTAG调试原理
        ARM典型的调试系统结构如图1所示。调试系统包括调试主机、仿真器和调试目标。

    内蒙古十一选五玩法 www.ologb.com

    本文引用地址: //www.ologb.com/app/embed/201006/60464.htm

        调试主机是一台运行调试软件(例如ADS)的计算机。调试主机可以发出高层的调试命令,例如设置断点、访问内存等[2]。
        仿真器用来将调试主机发出的高层调试命令转换为底层的ARM JTAG调试命令。因为目标机无法识别调试主机发送来的高级命令,因此就需要仿真器将调试主机发出的高层调试命令转换为底层的ARM JTAG调试命令[3]。在整个调试系统中起到重要的作用,其性能也决定了整个调试系统性能。
    2 方案设计
        本文提出了一种采用PHILIPS公司的ARM7芯片LPC2148设计,具有USB2.0通信方式、高速稳定的ARM仿真器实现方案,如图2所示。


        守护进程接收从IDE集成开发环境发送来的调试命令,将其通过USB总线转发到ARM仿真器,ARM仿真器再将调试命令转换成JTAG格式的信号并发送到I/O口,从而控制调试目标执行特定的操作,达到调试的目的。同理,从调试目标返回的数据,先经过ARM仿真器的译码,再经过守护进程返回到IDE开发环境,从而形成一个完整的调试系统。
    3 硬件电路设计
        本设计的最大特点是采用了LPC2148作为主控芯片。该芯片内部集成了ARM7TDMI-S微控制器和完全兼容USB2.0的设备控制器,支持32个物理(16个逻辑)端点;支持控制、批量、中断和同步端点;所有端点都有一个双向的DMA通道。因为芯片内部集成了USB控制器,大大降低了电路板的设计难度和开发成本。其硬件电路框图如图3所示。

        (1)本机JTAG调试电路
        为了便于调试和烧写程序,将芯片LPC2148的JTAG接口接到一个20引脚的标准JTAG插口。本设计中使用引脚P0.8、P0.9、P0.10、P0.12、P0.14作为外部JTAG接口,尽量不用有其他接口功能的引脚,如P0.11、P0.14接口与I2C接口SCL1、SDA1功能复用,以便于将来的硬件升级。为了增强带负载能力,使用一片74HC244芯片,同时为了尽量兼容大部分ARM开发板上的不同JTAG插口,本设计提供了一个20引脚的JTAG插口和一个14引脚的JTAG插口。
        (2)USB电路(包括供电电路)
        USB接口电路如图4所示。为了使LPC2148的软件可以更灵活地控制USB设备与主机之间的连接,本接口电路使用P0.31(只能使用该引脚)来实现SoftConnect特性。当P0.31输出低电平时,D+线通过电阻上拉到VDD3.3,通知USB主机:USB设备与其建立连接;当P0.31输出高电平时,D+线断开与VDD3.3的连接,通知USB主机:USB设备已经断开与USB主机的连接。

        Q1选用的是P沟道MOS管,而不选用普通的PNP三极管,因为MOS管是电压驱动型,驱动电流几乎为0;而普通的PNP三极管是电流驱动,需要一定的驱动电流。导通时,P0.31_P17有可能被拉低,LPC2148要求该引脚在复位引脚为低电平期间不能被拉低,否则JTAG口将被禁止,因此必须选用P沟道的MOS管。LPC2148的P0.23引脚为USB设备控制器,用于检测USB总线是否插入检测引脚[4]。
    4 仿真器固件程序设计
        仿真器LPC2148芯片中的固件程序实现的功能包括:通过USB与上位机软件进行通信,并将上位机发送过来的、经过封装的USB数据流转换为JTAG信号,并最终送到相应的引脚或者将相应引脚的数据经过封装后,通过USB传送到PC机中。图5为应用程序的流程图。

        主函数首先将作为JTAG接口使用的5个引脚设置成相应属性,并完成USB设备初始化,配置中断向量、开中断,然后进入无限循环函数。
        无限循环函数首先处理USB事件,如USB控制传输、USB总线复位等。然后判断标志位是否收到数据,如果未收到则继续执行无限循环;如果收到了数据,则将数据从端点缓冲区读出,再交给数据处理函数处理。数据处理函数按照上位机程序对数据封装方式进行解析,根据解析的命令(读取TDI、写TMS或TDO等),通过分支处理跳到相应的处理函数。在这个过程中如果上位机要读取调试目标数据,可将相应的值按同样格式进行封装,然后通过USB发送到上位机。数据封装格式如图6所示。

        C语言定义的命令码如下:
        #define UNKOWN_COMMAND     0x00    //未知指令
        #define PORT_DIRECTION     0x01       //设置端口方向为输入或输出
        #define PORT_SET     0x02              //将JTAG端口的引脚都设为高电平
        #define PORT_GET         0x03         //读JTAG端口的引脚数据
        #define PORT_SETBIT  0x04          //设置JTAG端口的某一位为1,由DATA[0]中数据决定设置的具体位数
        #define PORT_GETBIT  0x05        //读取JTAG端口的某一位为1,由DATA[0]中数据决定读取的具体位数
        #define WRITE_TDI     0x06            //写TDI信号命令
        #define READ_TDO     0x07               //读TDO信号命令
        #define WRITE_AND_READ     0x08    //读写指令,对TDI写一位,对TDO一位
        #define WRITE_TMS         0x09          //写TMS信号命令
        #define WRITE_TMS_CHAIN 0x0A      //写TMS扫描链命令
        本仿真器经实际测试下载速度稳定在30 KB/s左右,具有单步、全速、设置断点(两个硬断点和无数软断点)等功能。本文提出了一种具有硬件电路设计简单、价格低廉、调试速度快的ARM仿真器设计方案,是取代传统并口方式ARM仿真器的一种确实可行的方案。
    参考文献
    [1] 田泽.嵌入式系统开发与应用[M].北京:北京航空航天大学出版社,2004.
    [2] 邓春梅.嵌入式系统软件仿真技术的研究与实现[D].成都:电子科技大学,2004.
    [3] 杨晶箐.USB接口的边界扫描测试控制器的设计与实现[D].成都:成都电子科技大学,2006.
    [4] 周立功,张华.深入浅出ARM7-LPC213x/214x[M].北京:北京航空航天大学出版社,2005.

    我 要 评 论

    网友评论

    热门文章

    技术子站

    更多

    项目外包

    更多

    推荐博客

  • 特朗普让俄重返G7遭5国反对 唯独安倍表态我理解 2019-06-19
  • 人口普查员:我想要生活延续下去 2019-06-18
  • 【北京沃德龙鼎车型报价】北京沃德龙鼎4S店车型价格 2019-06-18
  • 一语惊坛(5月7日):宏志展翅挫愈奋,青春闪耀益人寰。 2019-06-08
  • 中远海运能源运输股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-06-08
  • 赵哲春季写真大公开 百变风格切换自如 2019-06-03
  • 七大公会力挺吴音宁 网友酸:该提名参选台北市长 2019-06-03
  • 第十六届中国经济论坛 2019-06-02
  • 一个连基本语句都不懂的人只会瞎扯,看着就想笑 2019-05-19
  • 奇闻怪事:瑶族怪异风俗习惯之烟袋定情 2019-05-17
  • 媒体活力:《人民日报》探索全球 2019-05-12
  • 快来看一看,被中国报协点名的十九大融合传播优秀作品“优”在哪儿 2019-05-12
  • 2017地方领导留言板APP2.0 2019-05-12
  • 舟山检验检疫局积极“搭台” 助力企业唱响“三同”戏 2019-05-10
  • 段春华主持召开市人大常委会党组扩大会议 2019-05-06
  • 曾道人三尾中特 大乐透定胆杀号爱彩网 丈夫买彩票欠债400万妻子用还么 生肖时时彩 极速快3怎么玩 一尾中特公式规律 吉林十一选五的走势图 胜平负开奖时间 彩票大奖领奖安全吗 湖北11选5网上卖吗 马免费资料一肖中特 11选5前3组选胆拖玩法 百度贵州快三开奖结果 河南泳坛夺金攻略 500彩票网年报