制信号直接接在微处理器上。编程时,使用PC机内插卡或并行接口通过专用电缆 将系统电路板与PC机联系起来,在PC机上运行相关程序,将编程数据及控制信 号传送到JTAG接口的芯片,再利用相应指令从微处理器的引脚按照 FLASH芯片 的编程时序输出到 FLASH存储器。这种编程方法的条件是系统中必须存在带有 JTAG接口或与之兼容的芯片,如微处理器。优点是系统板上不需要增加其它与编 有关的附属电路,减小了电路板的尺寸,同时,避免了对微小封装芯片的手工处 理,特别适用于电路板尺寸有严格限制的手持设备。缺点是编程速度慢,对于代码 长度小的编程比较适合。 1233.JATG与IEE49协议简介 JTAG是英文“ Joint Test Action Group(联合测试行为组织)”的词头字母的简写,该组 织成立于1985年,是由几家主要的电子制造商发起制订的PCB和IC测试标准。JIAG建 议于1990年被IEEE批准为IEEE11491-1990测试访问端口和边界扫描结构标准。该标准 规定了进行边界扫描所需要的硬件和软件。自从1990年批准后,IEE分别于1993年和 1995年对该标准作了补充,形成了现在使用的IEEE491a-1993和IEEE149b-1994 JTAG主要应用于:电路的边界扫描测试和可编程芯片的在系统编程 电路的边界扫描测试技术:用具有边界扫描功能的芯片构成的印刷板,可通过相应的测试 设备检测已安装在印刷板上的芯片的功能,检测印刷板连线的正确性,同时,可以方便地 检测该印刷板是否具有预定的逻辑功能,进而对由这种印刷板构成的数字电气装置进行故障 检测和故障定位。在系统编程在上节已经提过,这里不再重复。 在硬件结构上,JIAG接口包括两部分:JTAG端口和控制器。与JTAG接口兼容的器 件可以是微处理器(MPU)、微控制器(MCU)、PLD、CPL、FPGA、ASIC或其它符合 IEEE149.1规范的芯片。IEE11491标准中规定对应于数字集成电路芯片的每个引脚都设 有一个移位寄存单元,称为边界扫描单元BSC。它将JTAG电路与内核逻辑电路联系起来 同时隔离内核逻辑电路和芯片引脚。由集成电路的所有边界扫描单元构成边界扫描寄存器 BSR。边界扫描寄存器电路仅在进行JTAG测试时有效,在集成电路正常工作时无效,不影 响集成电路的功能。具有JTAG接口的芯片内部结构如图1.10所示。 Boundary-Scan Register Gd Internal Data Register Instruction Regist Bypass register IDO TMS TAP Contrdler 图1.10.JTAG接口芯片内部结构图
- 25 - 制信号直接接在微处理器上。编程时,使用 PC 机内插卡或并行接口通过专用电缆 将系统电路板与 PC 机联系起来,在 PC 机上运行相关程序,将编程数据及控制信 号传送到 JTAG 接口的芯片,再利用相应指令从微处理器的引脚按照 FLASH 芯片 的编程时序输出到 FLASH 存储器。这种编程方法的条件是系统中必须存在带有 JTAG 接口或与之兼容的芯片,如微处理器。优点是系统板上不需要增加其它与编 程有关的附属电路,减小了电路板的尺寸,同时,避免了对微小封装芯片的手工处 理,特别适用于电路板尺寸有严格限制的手持设备。缺点是编程速度慢,对于代码 长度小的编程比较适合。 1.2.3.3. JATG 与 IEEE1149 协议简介 JTAG 是英文“Joint Test Action Group(联合测试行为组织)”的词头字母的简写,该组 织成立于 1985 年,是由几家主要的电子制造商发起制订的 PCB 和 IC 测试标准。JTAG 建 议于 1990 年被 IEEE 批准为 IEEE1149.1-1990 测试访问端口和边界扫描结构标准。该标准 规定了进行边界扫描所需要的硬件和软件。自从 1990 年批准后,IEEE 分别于 1993 年和 1995 年对该标准作了补充,形成了现在使用的 IEEE1149.1a-1993 和 IEEE1149.1b-1994。 JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在系统编程。 电路的边界扫描测试技术:用具有边界扫描功能的芯片构成的印刷板,可通过相应的测试 设备,检测已安装在印刷板上的芯片的功能,检测印刷板连线的正确性,同时,可以方便地 检测该印刷板是否具有预定的逻辑功能,进而对由这种印刷板构成的数字电气装置进行故障 检测和故障定位。在系统编程在上节已经提过,这里不再重复。 在硬件结构上,JTAG 接口包括两部分:JTAG 端口和控制器。与 JTAG 接口兼容的器 件可以是微处理器(MPU)、微控制器(MCU)、PLD、CPL、FPGA、ASIC 或其它符合 IEEE1149.1 规范的芯片。IEEE1149.1 标准中规定对应于数字集成电路芯片的每个引脚都设 有一个移位寄存单元,称为边界扫描单元 BSC。它将 JTAG 电路与内核逻辑电路联系起来, 同时隔离内核逻辑电路和芯片引脚。由集成电路的所有边界扫描单元构成边界扫描寄存器 BSR。边界扫描寄存器电路仅在进行 JTAG 测试时有效,在集成电路正常工作时无效,不影 响集成电路的功能。具有 JTAG 接口的芯片内部结构如图 1.10.所示。 图 1.10. JTAG 接口芯片内部结构图
在对多个具有JIAG芯片编程时,可以组成JTAG菊花链结构( Daisy chain),是一种特 殊的串行编程方式。每片TD输入端与前面一片的TDO输出端相连,最前面一片的TDI 端和最后一片的TDO端与JTAG编程接口的TDl、TDO分别相连。如图1.11.所示。链中的 器件数可以很多,只要不超出接口的驱动能力即可。通过状态机控制,可以使非正在被编程 器件的TDI端直通TDO端,这样就可以使数据流形成环路,对各器件按序进行编程。使用 者可以通过读取每个芯片特有的识别码知道该器件在链中的位置 TDI TCK IDO 图1.11.JTAG菊花链结构图 (1)指令寄存器IR:由两个或更多个指令寄存单元和指令译码器组成,通过它可以串行输 入执行各种操作的指令 (2)数据寄存器组:是一组基于电路的移位寄存器。操作指令被串行装入由当前指令所选 择的数据寄存器。随着操作的执行,测试结果被移出 (3)边界寄存器DR:在内部逻辑电路和各引脚之间均插入了一串边界扫描单元,形成了 由TD到TDO之间的边界寄存器链 (4)旁路寄存器BP:它只是1位寄存器。它的一端与TDI相连,另一端与TDO相连。在 指令控制下,由TD输入的数据可以直接经由本片的旁路寄存器送到TDO。使用旁路 寄存器,可以越过片1、片2的边界寄存器,仅经过它们的旁路寄存器直接向片3输 入数据 (5)测试访问端口(TAP)控制器:TAP控制器是一个16状态的莫尔型同步时序电路,响 应于测试时钟TCK的上升沿。在TCK和TMS协同配合下确定来自TD的串行数据 是指令码还是测试码,进而产生 ClockIR、 ClockS、 UpdateR、 UpdateDR、 ShiftEr 和Mode、 Control等信号,实现对IR和DR的设置和控制 (6)测试总线:这种芯片至少有四个供边界扫描用的附加引脚TCK、TMS、TD和TDO 还可以另设一个引脚TRST。TCK是测试时钟输入引脚,TMS是测试方式选择引脚, TDI是测试用输入引脚,TDO是测试用输出引脚。这四个引脚构成了测试总线。TRST 是供TAP控制器复位用的 124.33V和5V装置的互连 连接3.3ⅴ设备到5Ⅴ设备需要考虑到驱动器和接收器的逻辑电平是否匹配。图1.12描 述了用于 V CMOS,5VTIL和3.3VTTL的逻辑电平标准。可以看到,VTIL和3.3VTTL 的逻辑电平是相同的,而5 V CMOS逻辑电平与前两者是不同的。这在连接33V系统到5V 系统时是必须考虑的
- 26 - 在对多个具有 JTAG 芯片编程时,可以组成 JTAG 菊花链结构(Daisy chain),是一种特 殊的串行编程方式。每片 TDI 输入端与前面一片的 TDO 输出端相连,最前面一片的 TDI 端和最后一片的 TDO 端与 JTAG 编程接口的 TDI、TDO 分别相连。如图 1.11.所示。链中的 器件数可以很多,只要不超出接口的驱动能力即可。通过状态机控制,可以使非正在被编程 器件的 TDI 端直通 TDO 端,这样就可以使数据流形成环路,对各器件按序进行编程。使用 者可以通过读取每个芯片特有的识别码知道该器件在链中的位置。 图 1.11. JTAG 菊花链结构图 (1) 指令寄存器 IR:由两个或更多个指令寄存单元和指令译码器组成,通过它可以串行输 入执行各种操作的指令。 (2) 数据寄存器组:是一组基于电路的移位寄存器。操作指令被串行装入由当前指令所选 择的数据寄存器。随着操作的执行,测试结果被移出。 (3) 边界寄存器 DR:在内部逻辑电路和各引脚之间均插入了一串边界扫描单元,形成了 由 TDI 到 TDO 之间的边界寄存器链 (4) 旁路寄存器 BP:它只是 1 位寄存器。它的一端与 TDI 相连,另一端与 TDO 相连。在 指令控制下,由 TDI 输入的数据可以直接经由本片的旁路寄存器送到 TDO。使用旁路 寄存器,可以越过片 1、片 2 的边界寄存器,仅经过它们的旁路寄存器直接向片 3 输 入数据。 (5) 测试访问端口(TAP)控制器:TAP 控制器是一个 16 状态的莫尔型同步时序电路,响 应于测试时钟 TCK 的上升沿。在 TCK 和 TMS 协同配合下确定来自 TDI 的串行数据 是指令码还是测试码,进而产生 ClockIR、ClockIR、UpdateIR、UpdateDR、ShiftDR 和 Mode、Control 等信号,实现对 IR 和 DR 的设置和控制。 (6) 测试总线:这种芯片至少有四个供边界扫描用的附加引脚 TCK、TMS、TDI 和 TDO, 还可以另设一个引脚 TRST。TCK 是测试时钟输入引脚,TMS 是测试方式选择引脚, TDI 是测试用输入引脚,TDO 是测试用输出引脚。这四个引脚构成了测试总线。TRST 是供 TAP 控制器复位用的。 1.2.4. 3.3V 和 5V 装置的互连 连接 3.3V 设备到 5V 设备需要考虑到驱动器和接收器的逻辑电平是否匹配。图 1.12.描 述了用于 5V CMOS,5V TTL 和 3.3V TTL 的逻辑电平标准。可以看到,5V TTL 和 3.3V TTL 的逻辑电平是相同的,而 5V CMOS 逻辑电平与前两者是不同的。这在连接 3.3V 系统到 5V 系统时是必须考虑的。 TDI TCK TMS TDO 芯片 1 芯片 2 芯片 3
Vcc 4.44 3.5 3.3V Vcc 2.5 Vt VoH VIH 2T VIH 1.5 0.5 VOL GND GND 0- GND 5-V CMOS 5-VTTL 3.3-VTTL Standard TTL LVT. LVC. ALVC, LV 图1.12.5 V CMOS,5VTTL和3,3VTTL开关电平标准 (1)5VTIL装置驱动3.3VTL装置。5VTTL和3.3VLVC的逻辑电平是相同的。因为5V 容忍度的装置可以经受住65V的直流输入,所以5VTTL连接3.3V且容忍度为5 的装置时,可以不需要额外的元器件。T的CBT( crossbar technology)开关可以用来 从5VTTL向3.3V且容忍度不为5V的装置传送信号。该开关通过使用一个外部的产 生0.丌V压降的二极管和CBT(门极到源极的压降为1V),从而产生3.3V的电平 (2)3ⅴTIL装置(LVC)驱动5VTTL装置。两者逻辑电平是相同的,连接可以不需要外 部电路或装置 (3)5COMS装置驱动3.3VTTL装置。两个不同的逻辑电平连接在一起,进一步分析5V COMS装置的VOH和ⅤOL与3.3VLVC装置的VH和VIL电平,虽然存在不一致的 地方,但有5V容忍度的3.3V装置可以在5 V CMOS电平输入下工作。使用5V容忍 度的LVC装置,5 V CMOS驱动3.3VLVC是可能的 (4)3.3VTIL装置驱动5 V CMOS装置。3.3VLVC的VOH是24V(输出电平可达3.3 V),而5 V CMOS装置的最小ⅤIH要求是3.5V。因此,用3.3VLVC或其他3.3V标 准的装置驱动5 V CMOS装置是不可能的。解决该问题就需要用到专用芯片,如TI 的SN74ALVC164245和SN74LVC4245等。这些芯片一边采用33V电平供电,另 边采用5V电平供电,可以使33V逻辑部分驱动5 V CMOS装置。 13.嵌入式系统开发示例——EZ开发板 1.3.1.系统性能 (1)主处理器 采用FZ328CPU,20MHz,3.3V供电,34MPS,24addr/16data,100TQFP封装 (2)外围存储器 8MByte EDO Ral 4MByte FLASH (3)调试接口 个RS232接口 板上9个备用按键,已与处理器中断引脚连接 个电源拨动开关,一个系统操作模式选择拨动开关 板上留有一个34pin和一个40pin双排过孔焊盘,方便系统外围设备接入和信号分析 (4)LCD液晶和触摸屏接口: 留有20针标准点阵LCD和触摸屏接口
- 27 - 图 1.12. 5V CMOS,5V TTL 和 3.3V TTL 开关电平标准 (1) 5V TTL 装置驱动 3.3V TTL 装置。5V TTL 和 3.3V LVC 的逻辑电平是相同的。因为 5V 容忍度的装置可以经受住 6.5V 的直流输入,所以 5V TTL 连接 3.3V 且容忍度为 5V 的装置时,可以不需要额外的元器件。TI 的 CBT(crossbar technology)开关可以用来 从 5V TTL 向 3.3V 且容忍度不为 5V 的装置传送信号。该开关通过使用一个外部的产 生 0.7V 压降的二极管和 CBT(门极到源极的压降为 1V),从而产生 3.3V 的电平。 (2) 3V TTL 装置(LVC)驱动 5V TTL 装置。两者逻辑电平是相同的,连接可以不需要外 部电路或装置。 (3) 5V COMS 装置驱动 3.3V TTL 装置。两个不同的逻辑电平连接在一起,进一步分析 5V COMS 装置的 VOH 和 VOL 与 3.3V LVC 装置的 VIH 和 VIL 电平,虽然存在不一致的 地方,但有 5V 容忍度的 3.3V 装置可以在 5V CMOS 电平输入下工作。使用 5V 容忍 度的 LVC 装置,5V CMOS 驱动 3.3V LVC 是可能的。 (4) 3.3V TTL 装置驱动 5V CMOS 装置。3.3V LVC 的 VOH 是 2.4V(输出电平可达 3.3 V),而 5V CMOS 装置的最小 VIH 要求是 3.5V。因此,用 3.3V LVC 或其他 3.3V 标 准的装置驱动 5V CMOS 装置是不可能的。解决该问题就需要用到专用芯片,如 TI 的 SN74ALVC164245 和 SN74LVC4245 等。这些芯片一边采用 3.3V 电平供电,另一 边采用 5V 电平供电,可以使 3.3V 逻辑部分驱动 5V CMOS 装置。 1.3. 嵌入式系统开发示例——EZ 开发板 1.3.1. 系统性能 (1) 主处理器: 采用 EZ328 CPU,20MHz,3.3V 供电,3.4MIPS,24 addr/16 data,100 TQFP 封装 (2) 外围存储器: 8MByte EDO RAM 4MByte FLASH (3)调试接口: 一个 RS232 接口 板上 9 个备用按键,已与处理器中断引脚连接 一个电源拨动开关,一个系统操作模式选择拨动开关 板上留有一个 34pin 和一个 40pin 双排过孔焊盘,方便系统外围设备接入和信号分析 (4)LCD 液晶和触摸屏接口: 留有 20 针标准点阵 LCD 和触摸屏接口
板载12位触摸屏采样芯片 (5)LED信号指示灯: 个系统板良好指示灯 1个电源指示灯 2个串口通讯数据上传与下行指示灯 2个网络连接与通讯指示灯 9个中断输入指示灯 (6)10M以太网接口 (7)3V适配器或者2节5号电池供电 (8)开发板所支持的操作模式 EZ328正常模式 EZ328的 bootstrap模式 台式机平台为 linux 提供 uclinuxⅸ内核、GCC环境 13.,2.系统硬件设计 1.3.2.1.CPU与存储器模块 EZ的DRAM控制器支持两个bank的DRAM,每个bank最多为4MB,可以有256K 16、512K×8、512K×16、1M×8、1M×16、4M×8和4M×16DRAM几种形式。通过EZ 的CSD0和CSD1两个引脚来选择两个bank。同时提供行地址触发RAS和列地址触发CAS 信号。我们选择使用4M×16 bit EDO dram芯片MT4LC4M16R61G-5,10位列地址线 12位行地址线。其RAS接EZ的RAS0,CASL和\CASH分别接EZ的CAS1和CAS0 FLASH 选用 FUJISTU公司的MBM29LV160E-70TN,3.3V供电。单片容量为2M×8bM×16bit, 使用两片,组成系统4M的 FLASH闪存。选择单片1M×16bit的格式时,一片的CE连接 EZ的CSAO,另一片的连接EZ的CSA1,两片的NWE都接EZ的UWE; 1.3.2.2.LCD显示模块 EZ328的LCD控制器可以支持在黑白显示模式下640×512和灰度显示模式下320×240 的单屏单色 STN LCD EZ328LCD控制器中包含的 STN LCD面板的标准信号如下 表1.10. STN LCD控制信号列表 LDB30]LCD数据总线。用来传输要在LCD上显示的象素点数据 LFLM LCD帧标识信号。用来指示新一帧显示的开始。LFLM在一帧的第一个 行脉冲后有效,并保持有效直到第二个行脉冲。紧接着变为无效并保持到 LLPLCD行脉冲信号。用来锁存一行数据到LCD面板上。当一行象素点数据 被送到LCD时有效,然后在8个象素时钟周期内无效 LCLK LCD移位时钟信号。输出数据到LCD面板上与该时钟同步 LACDLCD交替晶体方向,用来控制液晶方向的交替 LCD采用了清华液晶公司的THMG320240A,电压ⅤCC范围是27-3.3V,输入的高电 平最小值是0.8×VCC。可见EZ和该块LCD可以直接连接。对比度调节电路如下
- 28 - 板载 12 位触摸屏采样芯片 (5)LED 信号指示灯: 1 个系统板良好指示灯 1 个电源指示灯 2 个串口通讯数据上传与下行指示灯 2 个网络连接与通讯指示灯 9 个中断输入指示灯 (6)10M 以太网接口 (7)3V 适配器或者 2 节 5 号电池供电 (8)开发板所支持的操作模式 EZ328 正常模式 EZ328 的 bootstrap 模式 (9)调试环境 台式机平台为 linux 提供 uclinux 内核、GCC 环境 1.3.2. 系统硬件设计 1.3.2.1. CPU 与存储器模块 EZ 的 DRAM 控制器支持两个 bank 的 DRAM,每个 bank 最多为 4MB,可以有 256K× 16、512K×8、512K×16、1M×8、1M×16、4M×8 和 4M×16 DRAM 几种形式。通过 EZ 的\CSD0 和\CSD1 两个引脚来选择两个 bank。同时提供行地址触发\RAS 和列地址触发\CAS 信号。我们选择使用 4M×16bit EDO DRAM 芯片 MT4LC4M16R6TG-5,10 位列地址线, 12位行地址线。其\RAS接EZ的\RAS0,\CASL和\CASH分别接EZ的\CAS1和\CAS0。FLASH 选用 FUJISTU 公司的 MBM29LV160TE-70TN,3.3V 供电。单片容量为 2M×8bit/1M×16bit, 使用两片,组成系统 4M 的 FLASH 闪存。选择单片 1M×16bit 的格式时,一片的\CE 连接 EZ 的\CSA0,另一片的连接 EZ 的\CSA1,两片的\WE 都接 EZ 的\UWE; 1.3.2.2. LCD 显示模块 EZ328的LCD控制器可以支持在黑白显示模式下640×512和灰度显示模式下320×240 的单屏单色 STN LCD。 EZ328 LCD 控制器中包含的 STN LCD 面板的标准信号如下: 表 1.10. STN LCD 控制信号列表 LD[3:0] LCD 数据总线。用来传输要在 LCD 上显示的象素点数据 LFLM LCD 帧标识信号。用来指示新一帧显示的开始。LFLM 在一帧的第一个 行脉冲后有效,并保持有效直到第二个行脉冲。紧接着变为无效并保持到 下一帧 LLP LCD 行脉冲信号。用来锁存一行数据到 LCD 面板上。当一行象素点数据 被送到 LCD 时有效,然后在 8 个象素时钟周期内无效 LCLK LCD 移位时钟信号。输出数据到 LCD 面板上与该时钟同步 LACD LCD 交替晶体方向,用来控制液晶方向的交替 LCD 采用了清华液晶公司的 THMG320240A,电压 VCC 范围是 2.7-3.3V,输入的高电 平最小值是 0.8×VCC。可见 EZ 和该块 LCD 可以直接连接。对比度调节电路如下:
VDD DISPOF ELI VEL THMG320240A 图1.13.LCD对比度调节电路 1.3.,2.3.串口模块 使用 MAXIM公司的MAX3232,工作电压为+3.3V 1.3.2.4.电源模块 选用MAX1677,输入电压范围为+0.7-+55V,产生+3.3V和+5V电压输出,其中+ 5V电压备用。 相关电阻值有如下计算公式 Rl=R2(VOUT/1.25V)-1],ⅤoUT取十5V,R2在10kg-200kΩ之间取值。最后选 择R2和R1分别为20ka和62kQ 33√MA BOOST DUTPUT C2 MAX1677 GND 12 LCDLXHYr LCDON REF ER0530 CLKSE LCD BOOSTOUTPT LCDPOL LCDGND 47u LCDFB R2 图1.14.电源模块电路
- 29 - 图 1.13. LCD 对比度调节电路 1.3.2.3. 串口模块 使用 MAXIM 公司的 MAX3232,工作电压为+3.3V。 1.3.2.4. 电源模块 选用 MAX1677,输入电压范围为+0.7-+5.5V,产生+3.3V 和+5V 电压输出,其中+ 5V 电压备用。 相关电阻值有如下计算公式: R1 = R2 [(VOUT / 1.25V) - 1],VOUT 取+5V,R2 在 10kΩ-200kΩ之间取值。最后选 择 R2 和 R1 分别为 20kΩ和 62kΩ。 图 1.14. 电源模块电路