免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1018 | 回复: 0
打印 上一主题 下一主题

嵌入式系统中的接口编程技术 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-10 17:37 |只看该作者 |倒序浏览
摘要:分析了
嵌入式系统开发
中常用的三种芯片编程方法,介绍了接口的标准、工作原理及在芯片中的实现,根据接口所提供的边界扫描功能,通过机并行接口模拟接口的时序,实现了使用目标系统中微处理器的接口对系统程序存储器的编程。
关键词:嵌入式系统联合测试行为组织编程器手持设备

随着手持式电子设备的迅猛发展,手机掌上电脑、电子书和数码相机等正在快步走进人们的日常生活。这一类电子产品同属于嵌入式系统的范畴,都是以高性能的微处理器为核心扩展相应的存储器和功能电路,运行小巧的操作系统和相应的应用程序,实现电子设备的各种功能。由于是手持设备,因而要求体积小、重量轻、耗电少。这些特点决定了设备内部的印制板的尺寸比常规电子设备小得多,而且元器件密度大,双面贴装。这给设计人员带来了若干问题,如操作系统代码和应用程序的写入,板上芯片的测试等。本文作者结合实际工作,就嵌入式系统中如何通过接口进行芯片编程作了探讨。
几种常用的芯片编程方法

嵌入式系统
开发和产品生产过程中,对系统程序存储器编程主要使用三种编程方法:通过编程器编程、使用板上编程器编程和在系统编程。
通过编程器编程
这是在、、等芯片流行时常用的传统编程方法,即在可编程芯片焊装到电路板之前,使用专门的编程器对芯片进行代码或数据的写入,然后将已编程的芯片安装到电路板上。
使用编程器进行编程特别适合于封装的芯片,如果是其它类型的封装,则必须使用相应的适配器。这种方法的缺点是需要手工进行待编程芯片的插入、锁定等工作,容易造成芯片方向错误、引脚错位等,导致编程效率降低。
使用板上编程器编程
这种方法是在电路板上所有芯片已经焊装完毕后,再对板上的可编程芯片进行编程。通过专用电缆将电路板与外部计算机连接,由计算机的应用程序进行板上可编程芯片的代码或数据写入。芯片擦除、编程所需要的电源、控制信号、地址、数据和相关命令都由板外的编程控制器提供。在进行板上编程时,需要通过专门的辅助电路关断目标板上的电源或

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

数据寄存器指令寄存器

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

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

系统电路板

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



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/81862/showart_1285825.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP