管L1和电阻R1的电流也会相应变化,而在取样电阻两端的电压也随之变化,此变化的电 压经主板红外接口的输入端IRRX输入主机。由于不同的红外接收管的电气参数不同,所以 取样电阻RI的阻值要根据实际情况作一定范围的调整。 12.2.总线 总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通 路。总线的主要参数有 ●总线的带宽 总线的带宽指的是一定时间内总线上可传送的数据量,即我们常说的每秒钟传送多少 MB的最大稳态数据传输率。与总线带宽密切相关的两个概念是总线的位宽和总线的工作时 钟频率 ●总线的位宽 总线的位宽指的是总线能同时传送的数据位数,即我们常说的32位、64位等总线宽度 的概念。总线的位宽越宽则总线每秒数据传输率越大,也即总线带宽越宽 总线的工作时钟频率 总线的工作时钟频率以MHz为单位,工作频率越高则总线工作速度越快,也即总线带 宽越宽。 1.2.2.1.IsA IBM公司于1981年推出的基于8位机PC/XT的总线,称为PC总线。1984年IBM公 司推出了16位PC机PCAT,其总线称为AT总线。然而IBM公司从未公布过他们的AT 总线规格。为了能够合理地开发外插接口卡,由Itel公司,IEE和EISA集团联合开发了 与BMAT原装机总线意义相近的ISA总线,即816位的“工业标准结构”(SA- ndustry Standard Architecture)总线 ISA总线有98只引脚。其中62线的一段基于8位的PC总线,可以独立使用,连接8 位的扩展卡,而62线与36线相加后就扩展成标准的16位ISA,连接16位的扩展卡。 ISA总线的主要性能指标如下 (1)LO地址空间0100H-03FFH (2)24位地址线可直接寻址的内存容量为16MB (3)8/16位数据线 (4)62+36引脚 (5)最大位宽16位(b (6)最高时钟频率8MHz (7)最大稳态传输率16MB/s (8)中断功能 (9)DMA通道功能 (10)开放式总线结构,允许多个CPU共享系统资源 12.2.2.PCI 1991年下半年, Intel公司首先提出了PCl的概念,并联合IBM、 Compaq、AST、HP DEC等100多家公司成立了PCI集团,其英文全称为: Peripheral Component Interconnect Special Interest Group(外围部件互连专业组),简称 PCISIG。PCI有32位和64位两种,32 位PCI有124引脚,64位有188引脚,目前常用的是32位PCL。32位PCI的数据传输率为 133MB/s,大大高于ISA
- 20 - 管 L1 和电阻 R1 的电流也会相应变化,而在取样电阻两端的电压也随之变化,此变化的电 压经主板红外接口的输入端 IRRX 输入主机。由于不同的红外接收管的电气参数不同,所以 取样电阻 R1 的阻值要根据实际情况作一定范围的调整。 1.2.2. 总线 总线就是各种信号线的集合,是计算机各部件之间传送数据、地址和控制信息的公共通 路。总线的主要参数有: z 总线的带宽 总线的带宽指的是一定时间内总线上可传送的数据量,即我们常说的每秒钟传送多少 MB 的最大稳态数据传输率。与总线带宽密切相关的两个概念是总线的位宽和总线的工作时 钟频率。 z 总线的位宽 总线的位宽指的是总线能同时传送的数据位数,即我们常说的 32 位、64 位等总线宽度 的概念。总线的位宽越宽则总线每秒数据传输率越大,也即总线带宽越宽。 z 总线的工作时钟频率 总线的工作时钟频率以 MHz 为单位,工作频率越高则总线工作速度越快,也即总线带 宽越宽。 1.2.2.1. ISA IBM 公司于 1981 年推出的基于 8 位机 PC/XT 的总线,称为 PC 总线。1984 年 IBM 公 司推出了 16 位 PC 机 PC/AT,其总线称为 AT 总线。然而 IBM 公司从未公布过他们的 AT 总线规格。为了能够合理地开发外插接口卡,由 Intel 公司,IEEE 和 EISA 集团联合开发了 与 IBM/AT 原装机总线意义相近的 ISA 总线,即 8/16 位的“工业标准结构”(ISA-Industry Standard Architecture)总线。 ISA 总线有 98 只引脚。其中 62 线的一段基于 8 位的 PC 总线,可以独立使用,连接 8 位的扩展卡,而 62 线与 36 线相加后就扩展成标准的 16 位 ISA,连接 16 位的扩展卡。 ISA 总线的主要性能指标如下: (1) I/O 地址空间 0100H-03FFH (2) 24 位地址线可直接寻址的内存容量为 16MB (3) 8/16 位数据线 (4) 62+36 引脚 (5) 最大位宽 16 位(bit) (6) 最高时钟频率 8MHz (7) 最大稳态传输率 16MB/s (8) 中断功能 (9) DMA 通道功能 (10) 开放式总线结构,允许多个 CPU 共享系统资源 1.2.2.2. PCI 1991 年下半年,Intel 公司首先提出了 PCI 的概念,并联合 IBM、Compaq、AST、HP、 DEC 等 100 多家公司成立了 PCI 集团,其英文全称为:Peripheral Component Interconnect Special Interest Group(外围部件互连专业组),简称 PCISIG。PCI 有 32 位和 64 位两种,32 位 PCI 有 124 引脚,64 位有 188 引脚,目前常用的是 32 位 PCI。32 位 PCI 的数据传输率为 133MB/s,大大高于 ISA
PCI总线的主要性能 (1)支持10台外设 (2)总线时钟频率33.3MHz66MHz (3)最大数据传输速率13MB/ (4)时钟同步方式 (5)与CPU及时钟频率无关 (6)总线宽度32位(5V)/64位(3.3V) (7)能自动识别外设 1.223.D2C总线 在现代电子系统中,有为数众多的IC需要进行相互之间以及与外界的通信。为了提供 硬件的效率和简化电路的设计, PHILIPS开发了一种用于内部IC控制的简单的双向两线串 行总线rC( inter IC总线)。rC总线支持任何一种IC制造工艺,并且 PHILIPS和其他厂商 提供了种类非常丰富的rC兼容芯片。作为一个专利的控制总线,PC已经成为世界性的工 业标准。 CONTROLLER SCL GATE CONTROLLER ADC 图1.7.1C总线示意图 每个rC器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD驱动 器)或者可以接收也可以发送的器件(例如:存储器)。发送器或接收器可以在主模式 或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。C是一个 多主总线,即它可以由多个连接的器件控制。 早期的rC总线数据传输速率最高为100 Kbits/s,采用7位寻址。但是由于数据传 输速率和应用功能的迅速增加,IC总线也增强为快速模式(400 Kbits/s)和10位寻址 以满足更高速度和更大寻址空间的需求 rC总线始终和先进技术保持同步,但仍然保持其向下兼容性。并且最近还增加了 高速模式,其速度可达34Mbss。它使得rC总线能够支持现有以及将来的高速串行 传输应用,例如 EEPROM和 Flash存储器。 1224.SPI总线 串行外围设备接口SPI( serial peripheral interface)总线技术是 Motorola公司推出的一 种同步串行接口。 Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口 21
- 21 - PCI 总线的主要性能 (1) 支持 10 台外设 (2) 总线时钟频率 33.3MHz/66MHz (3) 最大数据传输速率 133MB/s (4) 时钟同步方式 (5) 与 CPU 及时钟频率无关 (6) 总线宽度 32 位(5V)/64 位(3.3V) (7) 能自动识别外设 1.2.2.3. I2C 总线 在现代电子系统中,有为数众多的 IC 需要进行相互之间以及与外界的通信。为了提供 硬件的效率和简化电路的设计,PHILIPS 开发了一种用于内部 IC 控制的简单的双向两线串 行总线 I 2 C(inter IC 总线)。I 2 C 总线支持任何一种 IC 制造工艺,并且 PHILIPS 和其他厂商 提供了种类非常丰富的 I 2 C 兼容芯片。作为一个专利的控制总线,I 2 C 已经成为世界性的工 业标准。 图 1.7. I2 C 总线示意图 每个 I 2 C 器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD 驱动 器)或者可以接收也可以发送的器件(例如:存储器)。发送器或接收器可以在主模式 或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。I 2 C 是一个 多主总线,即它可以由多个连接的器件控制。 早期的 I 2 C 总线数据传输速率最高为 100Kbits/s,采用 7 位寻址。但是由于数据传 输速率和应用功能的迅速增加,I 2 C 总线也增强为快速模式(400Kbits/s)和 10 位寻址 以满足更高速度和更大寻址空间的需求。 I 2 C 总线始终和先进技术保持同步,但仍然保持其向下兼容性。并且最近还增加了 高速模式,其速度可达 3.4Mbits/s。它使得 I 2 C 总线能够支持现有以及将来的高速串行 传输应用,例如 EEPROM 和 Flash 存储器。 1.2.2.4. SPI 总线 串行外围设备接口 SPI(serial peripheral interface)总线技术是 Motorola 公司推出的一 种同步串行接口。Motorola 公司生产的绝大多数 MCU(微控制器)都配有 SPI 硬件接口
如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的 软件就相当简单,使CPU有更多的时间处理其他事务。 由SPI连成的串行总线是一种三线同步总线,总线上可以连接多个可作为主机的MCU, 装有SPI接口的输出设备,输入设备如液晶驱动、AD转换等外设,也可以简单连接到单个 TIL移位寄存器的芯片。总线上允许连接多个能作主机的设备,但在任一瞬间只允许有 个设备作为主机。总线的时钟线SCK由主机控制,另外两根分别是:主机输入从机输出线 MSO和主机输出/从机输入线MOSI。典型的结构如图1.8所示 SPI输出外设IC SPI 数数 SPI主机 SPI输入外设IC 端 另一台MCU SPI从机 图18.SPI总线示意图 系统可以简单,也可以复杂,主要有以下几种形式 (1)一台主机MCU和若干台从机MCU (2)多台MCU互相连接成一个多主机系统。 (3)一台主机MCU和若干台从机外围设备。 主机和哪台从机通讯通过各从机的选通线进行选择 SPI是全双工的,即主机在发送的同时也在接收数据,传送的速率由主机编程决定;时 钟的极性和相位也是可以选择的,具体的约定由设计人员根据总线上各设备接口的功能决 1225.PC104总线 1992年IEE开始着手为PC和PCAT总线制定一个精简的 IEEEP9%6标准(草稿), PC104作为基本文件被采纳,叫做 IEEE P9961兼容PC嵌入式模块标准。可见,PC104 是一种专门为嵌入式控制而定义的工业控制总线。我们知道 IEEE-P996是PC和PC/AT工 业总线规范,IEEE协会将它定义IEEP9.1,很明显PC104实质上就是一种紧凑型的 IEEE-P996,其信号定义和PC/AT基本一致,但电气和机械规范却完全不同,是一种优化 的、小型、堆栈式结构的嵌入式控制系统总线。 PC104有两个版本,8位和16位,分别与PC和PCAT相对应。PC104PLUS则与PCI 总线相对应,在PC104总线的两个版本中,8位PC104共有64个总线管脚,单列双排插 针和插孔,P1:64针,P2:40针,合计104个总线信号,PC104因此得名。当8位模块 和16位模块连接时,16位模块必须在8位模块得下面。P2总线连结在8-位元模块中是可 选的。 PC104PLUS是专为PCI总线设计的,可以连接高速外接设备。PC104PLUS在硬件
- 22 - 如 68 系列 MCU。SPI 总线是一种三线同步总线,因其硬件功能很强,所以,与 SPI 有关的 软件就相当简单,使 CPU 有更多的时间处理其他事务。 由 SPI 连成的串行总线是一种三线同步总线,总线上可以连接多个可作为主机的 MCU, 装有 SPI 接口的输出设备,输入设备如液晶驱动、A/D 转换等外设,也可以简单连接到单个 TTL 移位寄存器的芯片。总线上允许连接多个能作主机的设备,但在任一瞬间只允许有一 个设备作为主机。总线的时钟线 SCK 由主机控制,另外两根分别是:主机输入/从机输出线 MISO 和主机输出/从机输入线 MOSI。典型的结构如图 1.8.所示。 图 1.8. SPI 总线示意图 系统可以简单,也可以复杂,主要有以下几种形式: (1) 一台主机 MCU 和若干台从机 MCU。 (2) 多台 MCU 互相连接成一个多主机系统。 (3) 一台主机 MCU 和若干台从机外围设备。 主机和哪台从机通讯通过各从机的选通线进行选择。 SPI 是全双工的,即主机在发送的同时也在接收数据,传送的速率由主机编程决定;时 钟的极性和相位也是可以选择的,具体的约定由设计人员根据总线上各设备接口的功能决 定。 1.2.2.5. PC104 总线 1992 年 IEEE 开始着手为 PC 和 PC/AT 总线制定一个精简的 IEEEP996 标准(草稿), PC104 作为基本文件被采纳,叫做 IEEE P996.1 兼容 PC 嵌入式模块标准。可见,PC104 是一种专门为嵌入式控制而定义的工业控制总线。我们知道 IEEE-P996 是 PC 和 PC/AT 工 业总线规范,IEEE 协会将它定义 IEEE-P996.1,很明显 PC104 实质上就是一种紧凑型的 IEEE-P996,其信号定义和 PC/AT 基本一致,但电气和机械规范却完全不同,是一种优化 的、小型、堆栈式结构的嵌入式控制系统总线。 PC104 有两个版本,8 位和 16 位,分别与 PC 和 PC/AT 相对应。PC104PLUS 则与 PCI 总线相对应,在 PC104 总线的两个版本中,8 位 PC104 共有 64 个总线管脚,单列双排插 针和插孔,P1:64 针,P2:40 针,合计 104 个总线信号,PC104 因此得名。当 8 位模块 和 16 位模块连接时,16 位模块必须在 8 位模块得下面。P2 总线连结在 8-位元模块中是可 选的。 PC104PLUS 是专为 PCI 总线设计的,可以连接高速外接设备。PC104PLUS 在硬件 时钟 SPI 主机 SPI SPI 输出外设 IC SPI 输入外设 IC 另一台 MCU SPI 从机 数据输出 数据输入 从机选通 1 从机选通 2 从机选通 3 端 口
上通过一个3×40即120孔插座连接,PC104PLUS包括了PCI规范2.1版要求的所有信号。 为了向下兼容,PC104PLUS保持了PC104的所有特性。因此PC104PLUS规范包含了两种 总线标准:ISA和PCI,可以双总线并存。 PC104PLUS与PC104相比有以下3个特点 (1)相对PC/104连接,增加了第三个连结接口支持PCI总线 (2)改变了组件高度的需求,增加模块的柔韧性 (3)加入了控制逻辑单元,以满足高速总线的需求 1226.CAN总线 CAN,全称为“ Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场 总线之一。起先,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置 ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪 表装备、电子主干系统中,均嵌入CAN控制装置。CAN是一种多主方式的串行通讯总线 基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当 信号传输距离达到10Km时,CAN仍可提供高达50 Kbit/s的数据传输速率 为促进CAN以及CAN协议的发展,1992在欧洲成立了CiA( Can in Automation)。在 CⅰA的努力推广下,CAN技术在汽车电控制系统、电梯控制系统、安全监控系统、医疗仪 器、纺织机械、船舶运输等方面均得到了广泛的应用。现已有400多家公司加入了CiA CiA已经为全球应用CAN技术的权威。 controler controller on-chip 1o ports transceiver transceiver transceiver Bus wires 图1.9.CAN总线示意图 CAN的主要特性 (1)低成本 (2)极高的总线利用率 (3)很远的数据传输距离(长达10Km) (4)高速的数据传输速率(高达 Mbit/s); (5)可根据报文的ID决定接收或屏蔽该报文; (6)可靠的错误处理和检错机制 (7)发送的信息遭到破坏后,可自动重发 8)节点在错误严重的情况下具有自动退出总线的功能; 9)报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息
- 23 - 上通过一个 3×40 即 120 孔插座连接,PC104PLUS 包括了 PCI 规范 2.1 版要求的所有信号。 为了向下兼容,PC104PLUS 保持了 PC104 的所有特性。因此 PC104PLUS 规范包含了两种 总线标准:ISA 和 PCI,可以双总线并存。 PC104PLUS 与 PC104 相比有以下 3 个特点: (1) 相对 PC/104 连接,增加了第三个连结接口支持 PCI 总线 (2) 改变了组件高度的需求,增加模块的柔韧性 (3) 加入了控制逻辑单元,以满足高速总线的需求 1.2.2.6. CAN 总线 CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场 总线之一。起先,CAN 被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置 ECU 之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪 表装备、电子主干系统中,均嵌入 CAN 控制装置。CAN 是一种多主方式的串行通讯总线, 基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当 信号传输距离达到 10Km 时,CAN 仍可提供高达 50Kbit/s 的数据传输速率。 为促进 CAN 以及 CAN 协议的发展,1992 在欧洲成立了 CiA(CAN in Automation)。在 CiA 的努力推广下,CAN 技术在汽车电控制系统、电梯控制系统、安全监控系统、医疗仪 器、纺织机械、船舶运输等方面均得到了广泛的应用。现已有 400 多家公司加入了 CiA, CiA 已经为全球应用 CAN 技术的权威。 图 1.9. CAN 总线示意图 CAN 的主要特性 (1) 低成本; (2) 极高的总线利用率; (3) 很远的数据传输距离(长达 10Km); (4) 高速的数据传输速率(高达 1Mbit/s); (5) 可根据报文的 ID 决定接收或屏蔽该报文; (6) 可靠的错误处理和检错机制; (7) 发送的信息遭到破坏后,可自动重发; (8) 节点在错误严重的情况下具有自动退出总线的功能; (9) 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息
12.3.嵌入式系统开发常用的硬件调试和编程技术 123.1.微代码支持的串口调试 传统上,首先用于开发嵌入式系统的工具是内部电路仿真器(ICE),它是一个相对昂 贵的部件,用于植入微处理器与总线之间的电路中,允许使用者监视和控制微处理器所有信 号的进出。它提供了总线工作的清晰情况,避免了许多对硬件软件底层工作状况的猜测 过去,一些工作依赖ICE为主要调试工具,用于整个开发过程。但是,一旦初始化软 件对串口支持良好的话,多数的调试可以不用ICE而直接使用串口开始调试。下面以EZ328 的 Bootstrap模式为例加以说明 EZ328支持 Bootstrap模式,允许用户通过UART控制器初始化目标板和下载程序到目 标板的RAM和 FLASH中。一旦程序被下载,就能够被执行,给了用户一个简单的用于故 障分析的调试环境和更新 FLASH存储器中程序的途径 在 bootstrap模式下,MC68EZ328的UART控制器被初始化到9600baud,无奇偶校验 8位字符和1个停止位,准备下载程序或者数据。为了下载数据或者程序,你必须将代码转 换成 bootstrap格式文件,是一种包含 bootstrap记录的text文件。 在你下载程序到系统储存器中之前,你要使用EZ328的内部寄存器来初始化目标系统 这些内部寄存器可以被作为存储器,使用 bootstrap记录来写入相应的内容。 bootstrap的设计提供了一个8字节长的指令缓存,用户可以向其中下载68000的指令。 这个特点使得用户可以在存储系统无效或者单MPU系统的情况下运行68000指令。该指令 缓存从0 xFFFFAA开始。 Bootstrap模式是MC68EZ328的三种操作模式(常规,仿真和 bootstrap)中的一种。它 具有最高的优先级。为了进入 bootstrap模式,用户必须驱动 MUBRK信号为低电平并执行 系统复位。复位后, bootstrap复位向量会在内部产生。这些两个字长的复位向量被装载到内 核的堆栈指针和程序计数器中。然后内建的 bootstrap程序将开始运行并接收数据传送 1.2.3.2.编程技术 在正式调试最小系统之前,必须做的一件事就是将调试程序的目标板部分烧写到系统的 FLASH ROM中。烧写的方法有几种 (1)使用编程器,就是在芯片焊接之前,先通过编程器将代码烧写道 FLASH中,再将 FLASH芯片焊接到目标板上。使用编程器进行编程特别适合于DIP封装芯片的编 程,如果是其它类型的封装,则必须要使用相应的适配器。这种方法的缺点是需要 手工进行待编程芯片的插入、锁定等工作,容易造成芯片方向错误,引脚错位等, 导致编程效率降低 (2)使用板上编程器编程(OBP),这种方法是在板上所有芯片包括 FLASH芯片已经 焊装完毕之后,再对可编程芯片进行编程。通过专用电缆将电路板与外部计算机连 接,由计算机的应用程序进行板上可编程芯片的代码或数据写入,芯片擦除、编程 所需要的电压、控制信号、地址数据和相关命令都由板外的编程控制器提供。使用 板上编程器进行板上编程时,需要关断目标板上CPU的电源或将其外部接口信号 殳置为高阻状态,以免与编程时的地址、数据和控制信号发生冲突。这种方法的缺 点是需要在电路板上设计编程用的接口、隔离等辅助电路,在编程时通过跳线或 FET开关进行编程与正常工作的状态转换。这样会增加每个电路板芯片的数量,造 成产品成本的增加 (3)在系统编程(ISP、ISW),是指直接利用系统中带有JIAG接口的器件,如CPU CPLD、FPGA等,执行对系统中程序存储器芯片内容的擦除和编程操作。一般而 言,高档微处理器均带有JAG接口,系统程序存储器的数据总线、地址总线和控
- 24 - 1.2.3. 嵌入式系统开发常用的硬件调试和编程技术 1.2.3.1. 微代码支持的串口调试 传统上,首先用于开发嵌入式系统的工具是内部电路仿真器(ICE),它是一个相对昂 贵的部件,用于植入微处理器与总线之间的电路中,允许使用者监视和控制微处理器所有信 号的进出。它提供了总线工作的清晰情况,避免了许多对硬件软件底层工作状况的猜测。 过去,一些工作依赖 ICE 为主要调试工具,用于整个开发过程。但是,一旦初始化软 件对串口支持良好的话,多数的调试可以不用 ICE 而直接使用串口开始调试。下面以 EZ328 的 Bootstrap 模式为例加以说明。 EZ328 支持 Bootstrap 模式,允许用户通过 UART 控制器初始化目标板和下载程序到目 标板的 RAM 和 FLASH 中。一旦程序被下载,就能够被执行,给了用户一个简单的用于故 障分析的调试环境和更新 FLASH 存储器中程序的途径。 在 bootstrap 模式下,MC68EZ328 的 UART 控制器被初始化到 9600baud,无奇偶校验, 8 位字符和 1 个停止位,准备下载程序或者数据。为了下载数据或者程序,你必须将代码转 换成 bootstrap 格式文件,是一种包含 bootstrap 记录的 text 文件。 在你下载程序到系统储存器中之前,你要使用 EZ328 的内部寄存器来初始化目标系统。 这些内部寄存器可以被作为存储器,使用 bootstrap 记录来写入相应的内容。 bootstrap 的设计提供了一个 8 字节长的指令缓存,用户可以向其中下载 68000 的指令。 这个特点使得用户可以在存储系统无效或者单 MPU 系统的情况下运行 68000 指令。该指令 缓存从 0xFFFFAA 开始。 Bootstrap 模式是 MC68EZ328 的三种操作模式(常规,仿真和 bootstrap)中的一种。它 具有最高的优先级。为了进入 bootstrap 模式,用户必须驱动/EMUBRK 信号为低电平并执行 系统复位。复位后,bootstrap 复位向量会在内部产生。这些两个字长的复位向量被装载到内 核的堆栈指针和程序计数器中。然后内建的 bootstrap 程序将开始运行并接收数据传送。 1.2.3.2. 编程技术 在正式调试最小系统之前,必须做的一件事就是将调试程序的目标板部分烧写到系统的 FLASH ROM 中。烧写的方法有几种: (1) 使用编程器,就是在芯片焊接之前,先通过编程器将代码烧写道 FLASH 中,再将 FLASH 芯片焊接到目标板上。使用编程器进行编程特别适合于 DIP 封装芯片的编 程,如果是其它类型的封装,则必须要使用相应的适配器。这种方法的缺点是需要 手工进行待编程芯片的插入、锁定等工作,容易造成芯片方向错误,引脚错位等, 导致编程效率降低。 (2) 使用板上编程器编程(OBP),这种方法是在板上所有芯片包括 FLASH 芯片已经 焊装完毕之后,再对可编程芯片进行编程。通过专用电缆将电路板与外部计算机连 接,由计算机的应用程序进行板上可编程芯片的代码或数据写入,芯片擦除、编程 所需要的电压、控制信号、地址数据和相关命令都由板外的编程控制器提供。使用 板上编程器进行板上编程时,需要关断目标板上 CPU 的电源或将其外部接口信号 设置为高阻状态,以免与编程时的地址、数据和控制信号发生冲突。这种方法的缺 点是需要在电路板上设计编程用的接口、隔离等辅助电路,在编程时通过跳线或 FET 开关进行编程与正常工作的状态转换。这样会增加每个电路板芯片的数量,造 成产品成本的增加。 (3) 在系统编程(ISP、ISW),是指直接利用系统中带有 JTAG 接口的器件,如 CPU、 CPLD、FPGA 等,执行对系统中程序存储器芯片内容的擦除和编程操作。一般而 言,高档微处理器均带有 JTAG 接口,系统程序存储器的数据总线、地址总线和控