JTAG是一种嵌入式处理器开发工具的接口,是目前单片机普遍采用的在系统调试和编程方式之一。使用JTAG调试模式,用户可以发送指令和数据给处理器,同时也可以接收处理器发送过来的数据,这样就可以在外部实现对处理器的控制并进行一定的操作,譬如读写寄存器、擦除FLASH、向RAM、FLASH写入数据等。标准的JTAG接口是四线:TMS,TCK,TDI,TDO。相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。
MPC5554提供JTAG和Nexus两种调试接口。为了使用方便,Freescale公司开发出了针对JTAG与Nexus共用的专用烧写器与配套软件,为14针脚。其主要特点是双向同步串行通信。同步串行通信时钟由仿真器提供,并与单片机总线时钟同步。通过USBMultilink转换接口(连接到目标板14针JTAG/Nexus接口上),可以在线实现烧写、校验、检查、上载、擦写等功能。Freescale对14针JTAG/NexlJs接口引脚定义,参见表1。
3 硬件设计
该系统的硬件设计为基于MPC5554的最小系统板,包括晶振电路、电源模块、I/O模块、A/D转换模块、RS 232通信端口,CAN端口,跑马灯,外扩2片AMD公司的FLASH芯片AM29LV160DT作为程序存储器,2片外扩RAM,其功能模块如图2所示。
AM29LV160DT存储容量为16 Mb,供电方式为2.7~3.6 V单电压供电,无需另外提供FLASH擦除和写入电压。该芯片有48引脚FBGA,48引脚TSOP和44引脚SO三种封装形式,该系统中使用SO44封装形式,图3所示为其引脚逻辑图。其数据宽度可配置为8位(字节)和16位(字)两种模式。FLASH内部包含35个扇区,每个扇区大小根据数据宽度的不同而不同。表2列出了AM29LV160DT的扇区地址分配。