嵌入式系统中的接口编程技术

kaifabanlyn 2008-10-10 04:08:00
摘要:分析了嵌入式系统开发中常用的三种芯片编程方法,介绍了接口的标准、工作原理及在芯片中的实现,根据接口所提供的边界扫描功能,通过机并行接口模拟接口的时序,实现了使用目标系统中微处理器的接口对系统程序存储器的编程。
关键词:嵌入式系统联合测试行为组织编程器手持设备

随着手持式电子设备的迅猛发展,手机掌上电脑、电子书和数码相机等正在快步走进人们的日常生活。这一类电子产品同属于嵌入式系统的范畴,都是以高性能的微处理器为核心扩展相应的存储器和功能电路,运行小巧的操作系统和相应的应用程序,实现电子设备的各种功能。由于是手持设备,因而要求体积小、重量轻、耗电少。这些特点决定了设备内部的印制板的尺寸比常规电子设备小得多,而且元器件密度大,双面贴装。这给设计人员带来了若干问题,如操作系统代码和应用程序的写入,板上芯片的测试等。本文作者结合实际工作,就嵌入式系统中如何通过接口进行芯片编程作了探讨。
几种常用的芯片编程方法
在嵌入式系统开发和产品生产过程中,对系统程序存储器编程主要使用三种编程方法:通过编程器编程、使用板上编程器编程和在系统编程。
通过编程器编程
这是在、、等芯片流行时常用的传统编程方法,即在可编程芯片焊装到电路板之前,使用专门的编程器对芯片进行代码或数据的写入,然后将已编程的芯片安装到电路板上。
使用编程器进行编程特别适合于封装的芯片,如果是其它类型的封装,则必须使用相应的适配器。这种方法的缺点是需要手工进行待编程芯片的插入、锁定等工作,容易造成芯片方向错误、引脚错位等,导致编程效率降低。
使用板上编程器编程
这种方法是在电路板上所有芯片已经焊装完毕后,再对板上的可编程芯片进行编程。通过专用电缆将电路板与外部计算机连接,由计算机的应用程序进行板上可编程芯片的代码或数据写入。芯片擦除、编程所需要的电源、控制信号、地址、数据和相关命令都由板外的编程控制器提供。在进行板上编程时,需要通过专门的辅助电路关断目标板上的电源或

将其外部接口信号设置为高阻状态,以免与编程时的地址、数据和控制信号发生冲突。
在板上编程可以克服芯片引脚错位、方向插反等问题,避免烧毁芯片、编程错误,保证了芯片编程的高成功率和可靠性。另一个优点就是及时软件升级,可以做到在产品出厂时系统使用最新版本的固化软件,这对于日新月异的手持电子设备而言是必须的。
这种方法的缺点是需要在电路板上设计编程用的接口、隔离等辅助电路,在编程时通过跳线或开关进行编程与正常工作的状态转换。这样会增加每个电路板芯片的数量,造成产品成本的增加。
在系统编程
这种方法直接利用系统中带有接口的器件如、、等,执行对系统程序存储器芯片内容的擦除和编程操作。一般而言,高档微处理器均带有接口,系统程序存储器的数据总线、地址总线和控制信号直接接在微处理器上。编程时,使用机内插卡或并行接口通过专用电缆将系统电路板与机联系起来,在机上运行相关程序,将编程数据及控制信号传送到接口的芯片,利用相应指令从微处理器的引脚按照芯片的编程时序输出到存储器。这种编程方法的条件是系统中必须存在带有接口或与之兼容的芯片如微处理器。优点是系统板上不需要增加其它与编程有关的辅助电路,减小了电路板的尺寸,避免了对微小封装芯片的手工处理,特别适用于电路板尺寸有严格限制的手持设备。
接口介绍
面对复杂电路的设计、整板测试的难度及表面贴装技术带来的有限测试引脚等问题,业界不得不寻找一个标准加以解决。边界扫描即标准,该测试标准定义了用于解决上述问题的硬件结构和工作机制。其优点在于将极其复杂的印刷电路板测试转变成具有良好结构性、可以通过软件简单而灵活处理。它虽然是一个主要用于片上电路的测试标准,但却打开了各种相关应用的大门。这个标准定义了可用于完成功能和互连测试以及内建自测过程的各种指令。芯片生产厂商如、、、、等对标准进行了扩充,使用扩展的专用指令执行维护和诊断应用及对可配置器件的可编程算法,使接口广泛用于系列芯片的编程。概括起来,接口主要应用于:电路的边界扫描测试和可编程芯片的在系统编程。
接口的结构
在硬件结构上,接口包括两部分:端口和控制器。与接口兼容的器件可以是微处理器或其它符合规范的芯片。标准中规定对应于数字集成电路芯片的每个引脚都设有一个移位寄存单元,称为边界扫描单元。它将电路与内核逻辑电路联系起来,同时隔离内核逻辑电路和芯片引脚。由集成电路的所有边界扫描单元构成边界扫描寄存器。边界扫描寄存器电路仅在进行测试时有效,在集成电路正常工作时无效,不影响集成电路的功能。具有接口的芯片内部结
边界扫描寄存器
•指令寄存器
指令寄存器是基于电路的移位寄存器,通过它可以串行输入执行各种操作的指令。
•数据寄存器组
数据寄存器组是一组基于电路的移位寄存器。操作指令被串行装入由当前指令所选择的数据寄存器。随着操作的执行,测试结果被移出。
引脚定义
接口主要包括四个引脚:、、和及一个可选配的引脚,用于驱动电路模块
和控制执行规定的操作。各引脚的功能如下:
•:测试时钟,为控制器和寄存器提供测试参考。在的同步作用下通过和
引脚串行移入或移出数据及指令。同时,为控制器状态机提供时钟。
•:控制器的模式输入信号。的上升沿时刻的状态确定控制器即将进入的工作状态。通常引脚具有内部上拉电阻,以保证该引脚在没有驱动时处于逻辑状态。
•:指令和数据寄存器的串行数据输入端。控制器的当前状态以及保存在指令寄存器中的具体指令决定对于一个特定的操作由装入哪
内部逻辑

数据寄存器指令寄存器

测试访问端口控制器图带有接口的芯片内部结构图
测试逻辑的最高级电路包括个主要模块:
•测试访问端口控制器
控制器提供对嵌入在兼容器件内部的测试功能电路的访问控制,是一个同步状态机。每个兼容的器件都有自己的控制器。通过测试
模式选择和时钟信号控制其状态转移,实现由标准确定的测试逻辑电路的工作时序。

•:指令和数据寄存器的串行数据输出
端。控制器的当前状态以及保持在指令寄存器中的具体指令决定对于一个特定的操作哪个寄存器的内容送到输出。对于任何已知的操作,在和之间只能有一个寄存器(指令或数据)处于有效连接状态。在的下降沿改变状态,并且只在数据通过器件移动过程中有效。该引脚在其它时间处于三态状态。
•:测试复位输入信号,低电平有效,为控制器提供异步初始化信号。
接口的使用
通过接口可以进行电路板及芯片的测试,也可以实现对目标电路板上的程序存储器编程。本文仅讨论使用接口对板上存储器的编程。一般,可以利用专用的机内插卡式硬件控制器或独立的编程器访问器件,也可以直接由机的并行接口模拟时序,硬件控制器或编程器通过专用电缆连接到目标电路板。被编程的存储器芯片的地址线、数据线和控制信号线接到兼容芯片的相应引脚上。值得注意的是:采用这种编程方法,不要求器件具有接口,只要与其相连接的芯片具有接口即可。在编程芯片时,需要做的工作主公司的芯片和该公司的系列存储器芯片。芯片是一种高性能、低功耗、集成有多种常用接口的微处理器芯片,特别适合于手持设备。而是公司使用独创的个存储单元记录比特数据技术制造的闪速存储器芯片,其特点是体积小、容量大、成本低,特别适合于程序代码与数据的存储。

系统电路板

要有:机发送指令或数据到兼容芯片的边界扫描寄存器
();将保存在中的指令或数据通过专用指令传送给存储器。这个过程是由运行
在机上的软件进行控制的。
部电路的测试或编程。芯片提供的指令包括:
•()旁通片上系统逻辑指令,用于未被测试的芯片;
•()片外电路测试指令,用于测试电路板上芯片之间的互连;
•()采样引脚预加载数据指令,用于采样芯片引脚信号或通过加载数据控制引脚输出信号;
•()读芯片识别码指令,用于识别电路板上的芯片;
•()设置高阻态指令,用于将芯片的引脚设为无效状态。
括号中的内容是指令的操作码,它们通过引脚串行移入到指令寄存器。和指令的操作码是中规定的,因此对于所有的接口兼容芯片,这两个指令的操作码都是相同
的。其它指令的操作码可以由芯片厂商根据实际定义。结合待编程的存储器特征,利用上面提供
的指令编写一个编程存储器的机应用程序,借助芯片的接口将目标系统使用的操作系统和应用软件写入到存储器中。对目标板上的存储器进行编程时,在机上运行该程序来控制并行接口模拟时序并将编程代码传送到的控制器,利用的边界扫描单元(),把编程数据先移入到边界扫描寄存器()。然后通过指令按照
芯片的编程时序将数据通过地址总线和数据总线写入存储器,实现芯片编程操作。在内容
结束
的写入过程中,程序对片同时执行写操作,完成位编程。
联系电话:13148818895 0755-83690800/075583662100 余焕丽

...全文
191 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
嵌入式系统设计师教程简介: 本书按照人事部、信息产业部全国计算机技术与软件专业技术资格(水平)考试要求编写,内容紧扣《嵌入式系统设计师考试大纲》。全书共6章,分别对嵌入式系统基础知识、嵌入式微处理器与接口设计、嵌入式软件与操作系统、嵌入式软件程序设计、嵌入式系统设计与维护等知识进行了详细的讲解,最后介绍了一个典型的嵌入式系统设计案例。 本书内容丰富,结构合理,概念清晰。既可作为全国计算机技术与软件专业技术资格(水平)考试嵌入式系统设计师级别的考试用书,供有关考生学习使用,也可以作为本科生嵌入式系统相关课程教材或培训用书使用。 作者简介: 目录: 第1章 嵌入式系统基础知识 1.1 嵌入式系统的定义和组成 1.1.1 嵌入式系统的定义 1.1.2 嵌入式系统发展概述 1.1.3 嵌入式系统的组成 1.1.4 实时系统 1.2 嵌入式微处理器体系结构 1.2.1 冯·诺依曼与哈佛结构 1.2.2 CISC与RISC 1.2.3 流水线技术 1.2.4 信息存储的字节顺序 1.3 嵌入式系统的硬件基础 1.3.1 组合逻辑电路基础 1.3.2 时序逻辑电路 1.3.3 总线电路及信号驱动 1.3.4 电平转换电路 1.3.5 可编程逻辑器件基础 1.4 嵌入式系统信息表示与运算基础 1.4.1 进位计数制与转换 1.4.2 计算机数的表示 1.4.3 非数值数据编码 1.4.4 差错控制编码 1.5 嵌入式系统的性能评价 1.5.1 度量项目 1.5.2 评价方法 1.5.3 评估嵌入式系统处理器的主要指标 第2章 嵌入式微处理器与接口知识 2.1 嵌入式微处理器的结构和类型 2.1.1 嵌入式微处理器的分类 2.1.2 典型8位微处理器的结构和特点 2.1.3 典型16位微处理器的结构和特点 2.1.4 典型32位微处理器的结构和特点 2.1.5 DSP处理器的结构和特点 2.1.6 多核处理器的结构和特点 2.2 嵌入式系统的存储体系 2.2.1 存储器系统概述 2.2.2 嵌入式系统存储设备分类 2.2.3 ROM的种类与选型 2.2.4 Flash:Memory的种类与选型 2.2.5 RAM的种类与选型 2.2.6 外部存储器的种类与选型 2.3 嵌入式系统输入输出设备 2.3.1 嵌入式系统常用输入/输出设备概述 2.3.2 GPIO原理与结构 2.3.3 A/D接口基本原理与结构 2.3.4 D/A接口基本原理与结构 2.3.5 键盘接口基本原理与结构 2.3.6 显示接口基本原理与结构 2.3.7 触摸屏接口基本原理与结构 2.3.8 音频接口基本原理与结构 2.4 嵌入式系统总线接口 2.5 嵌入式系统网络接口 2.6 嵌入式系统电源 2.7电子电路设计基础 第3章 嵌入式系统软件及操作系统知识 第4章 嵌入式软件程序设计 第5章 嵌入式系统开发与维护知识 第6章 嵌入式系统设计
嵌入式系统开发圣经 大小为42M的书,给你提供详细的嵌入式开发知识,是学习的好资料 本书特色:详细的理论讲解,让你全面了解当前嵌入式开发系统的发展趋势。以信息家电、智能型手机、PDA产品为出发点,广泛深入地分析相关的嵌入式系统技术。适用于产品主管、系统设计分析人员及欲进入该领域的工程师。是一本开发嵌入式系统产品必备的入门圣经,进入嵌入式系统领域的宝典。 目录: 第1章 嵌入式系统的介绍 1-1 嵌入式系统概述 1-1-1 嵌入式系统的组成 1-1-2 典型的嵌入式系统 1-1-3 嵌入式系统的发展趋势 1-2 信息家电 1-2-1 信息家电的兴起 1-2-2 信息家电的产品 1-2-3 信息家电的研发状况 1-2-4 信息家电的未来 1-3 入门必学 1-3-1 系统集成能力 1-3-2 程序语言编写能力 1-3-3 市场应用导向 1-4 未来展望 1-4-1 集成服务导向 1-4-2 轻薄小型人性化 1-4-3 软硬件网络无线集成 1-4-4 创意产生与实现 1-5 本书导读 第2章 嵌入式SoC硬件系统概论 2-1 嵌入式系统微处理器的发展 2-1-1 4位以及8位嵌入式系统微处理器 2-1-2 16位以上的嵌入式系统微处理器 2-1-3 协同微处理器(Co-processor) 2-1-4 CISC与RISC 2-1-5 数字信号处理器(Digital Signal Process-DSP) 2-1-6 超长指令集微处理器(VLIW) 2-2 SoC嵌入式系统微处理器 2-2-1 什么是SoC嵌入式系统微处理器 2-2-2 SoC微处理器的设计开发 2-2-3 RISC结合DSP的SoC嵌入式系统微处理器 2-2-4 快速的SoC嵌入式系统微处理器设计与制造 2-3 ARM公司ARM RISC架构微处理器 2-3-1 ARM RISC嵌入式系统微处理器简介 2-3-2 ARM 7 Thumb嵌入式系统微处理器系列 2-3-3 Thumb指令集 2-3-4 ARM 9 Thumb嵌入式系统微处理器系列 2-3-5 ARM 10 Thumb嵌入式系统微处理器系列 2-3-6 ARM RISC嵌入式系统微处理器的应用 2-3-7 相关数据查询 2-4 Intel公司StrongARM微处理器 2-4-1 StrongARM架构 2-4-2 SA 1110/SA 1111模拟实验版 2-4-3 StrongARM嵌入式系统微处理器的应用 2-4-4 参考数据 2-5 德州仪器公司TMS320 DSP微处理器 2-5-1 TMS320 DSP微处理器简介 2-5-2 德州仪器公司C5X DSP微处理器系列 2-5-3 德州仪器公司C6X DSP微处理器系列 2-5-4 德州仪器公司TMS320DM310 DSP微处理器 2-5-5 DSP微处理器的应用 2-5-6 参考数据 2-6 Philips公司Trimedia微处理器 2-6-1 简介 2-6-2 Trimedia微处理器架构 2-6-3 软件开发工具 2-6-4 TM-1300模拟实验版 2-6-5 TM-1300嵌入式系统微处理器应用 2-6-6 参考数据 2-7 德州仪器公司OMAP架构微处理器 2-7-1 OMAP简介 2-7-2 OMAP架构 2-7-3 OMAP程序开发 2-7-4 OMAP微处理器在多媒体上的应用 2-8 Intel公司XScale架构微处理器 2-8-1 XScale微处理器简介 2-8-2 XScale微处理器硬件架构 2-8-3 XScale微处理器应用产品开发(PCA) 2-8-4 XScale微处理器-PXA210/250 2-8-5 参考数据 2-9 其他常见高端的嵌入式系统微处理器 2-9-1 MIPS RISC嵌入式系统微处理器 2-9-2 Hitachi SH系列嵌入式系统微处理器 2-9-3 Motorola嵌入式系统微处理器 2-9-4 Intel嵌入式系统微处理器 2-9-5 STMicroelectronics嵌入式系统微处理器 2-9-6 AMD嵌入式系统微处理器 2-9-7 三菱嵌入式系统微处理器 2-9-8 富士通嵌入式系统微处理器 2-10 存储器 2-10-1 可编程只读存储器 2-10-2 随机存储器(Random Access Memory) 2-11 通信接口 2-11-1 IEEE 1394 2-11-2 USB 2-11-3 红外线 2-11-4 蓝牙模块(Bluetooth) 2-11-5 IEEE 802.11 2-12 输出与输入装置 2-12-1 触摸屏 2-12-2 LCD显示器 2-13 扩展装置 2-13-1 PCMCIA扩展装置 2-13-2 CF扩展装置 2-13-3 SD扩展装置 2-13-4 Memory Stick 2-13-5 Springboard 2-14 便携式嵌入式系统电源系统 2-14-1 便携式嵌入式系统电源的要求 2-14-2 智能型电池系统 2-15 小结 第3章 嵌入式系统软件开发 3-1 嵌入式系统基本概述 3-1-1 系统规划与设计 3-1-2 开发平台与目标平台 3-1-3 开发环境与开发流程 3-2 开始您的第一步 3-2-1 目标平台 3-2-2 下载程序 3-2-3 开发考虑 3-3 嵌入式操作系统 3-3-1 操作系统的基本运作 3-3-2 开机 3-3-3 执行应用程序 3-3-4 系统移植 3-3-5 选择一个嵌入式操作系统 3-4 嵌入式软件的开发流程 3-4-1 系统开发 3-4-2 编译 3-4-3 链接 3-4-4 重新定位 3-4-5 下载 3-5 沟通软件与硬件的桥梁 3-5-1 由说明书认识硬件组件 3-5-2 驱动程序的编写 3-5-3 断与异常处理 3-6 调试技术 3-6-1 仿真软件 3-6-2 目标平台上的调试 3-6-3 硬件辅助调试 3-7 您必须了解的事情 3-7-1 常见的错误处理 3-7-2 程序技巧 3-8 总览 第4章 信息家电软件的大趋势 4-1 多采多姿的Java世界 4-1-1 Java的概念 4-1-2 Java世界 4-1-3 企业版J2EE 4-1-4 标准版J2SE 4-1-5 袖珍版J2ME 4-1-6 Java Card 4-1-7 小结 4-2 移动装置的Java Virtual Machine-KVM(K Virtual Machine) 4-2-1 KVM的由来 4-2-2 KVM移植技术 4-2-3 KVM验证 4-2-4 小结 4-3 移动设备上的开发套件-MIDP 4-3-1 Java与无线通信 4-3-2 MIDP的由来 4-3-3 MIDP开发环境 4-3-4 MIDP开发实例 4-3-5 MIDP的移植 4-3-6 小结 4-4 Symbian Java Phone 4-4-1 Java Phone架构 4-4-2 JTAPI 4-4-3 应用实例 4-4-4 小结 4-5 Jini 4-5-1 Jini的架构 4-5-2 Jini的移植 4-5-3 小结 4-6 电信服务i-Mode与i-appli 4-6-1 i-Mode通信系统 4-6-2 Compact HTML 4-6-3 Java Enabled i-mode:i-appli 4-7 Java Chip让Java飞起来 4-7-1 Java Chip的诞生 4-7-2 各家的JavaChip 4-7-3 小结 4-8 总结 第5章 Smart Handheld Device软件系统设计 5-1 前言 5-2 嵌入式操作系统基本概念 5-2-1 嵌入式操作系统 5-2-2 软件组件 5-3 PDA产品面面观 5-3-1 Palm-PDA的创作先驱 5-3-2 WinCE Pocket PC多媒体的佼佼者 5-3-3 我国嵌入式操作系统发展概况 5-3-4 PDA发展趋势 5-4 针对产品定义选择系统软件 5-4-1 基本技术比较 5-4-2 产品应用 5-5 Symbian Platform:典型的智能型手机系统设计 5-5-1 功能结构介绍 5-5-2 GTv6基本组件 5-5-3 Framework 5-5-4 通信与网络 5-5-5 应用层 5-5-6 Java Phone 5-5-7 新一代智能型手机 5-5-8 持续创新的Symbian OS v7.0 5-5-9 系统开发环境 5-6 嵌入式Linux相关技术 5-6-1 嵌入式Linux概述 5-6-2 工作评估 5-6-3 Linux目录结构 5-6-4 工具链(Toolchain) 5-6-5 内核配置 5-6-6 编译内核 5-6-7 雏型板测试 5-6-8 选择嵌入式Linux图形接口 5-6-9 自己动手做Linux Based iPAQ 5-7 结束语

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧