首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年5月6日星期一
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
带8位CISC微控制器的系统内可编程闪存的建设
Programmable Flash With 8-Bit CISC Microprocessor System
■Mark Rootz, STMicroelectronics PSM 分公司

在新的嵌入式设计 中,有三分之一是采用8位CISC微控制器(MCU),嵌入式统计编程人员开始使用高级编程语言。闪存密度不断提高。所有这些趋势可以由一个设计方案关联起来:利用大容量闪存设计嵌入式MCU系统的解决方案。

用闪存替代PROM或EPROM的优点包括:开发代码的时间缩短;产品可以在组装线上完成测试和按需定制过程;可以现场纠正代码错误,不用拆除产品;增加产品新特性十分容易,甚至可以通过远程完成。


闪存有多大才够用


固件往往会超出系统最初设计的内存容量,产生这种现象有各种原因:固件所具有系统差异化特性;使用高级语言编写代码;采用OS内核;因此,64K字节闪存是今天嵌入式8位CSIC设计的最低配置需求,还需要把数据存储和记录功能所需的存储容量考虑在内。这些特性可以大幅度提升产品的可销售性。


系统内编程和应用中编程


一般情况下,系统内编程(ISP)应用于可编程逻辑以及可编程非易失性存储器(NVM)。但是,在本文中,我们将引用一个新的术语“应用中编程(IAP)”。当涉及到微控制器时,ISP和IAP之间存在着细微但重要的差别,内存ISP是指对内存进行编程时,MCU保持脱机状态,并且不涉及这一过程。而系统内IAP则是指MCU参加内存编程过程,这对更新固件过程中必须联机的系统来说很重要。在一般情况下,ISP适用于生产制造,而IAP则适合现场更新。


IAP并不是想象得那么简单


一个主机通过一个由MCU支持的信道,向嵌入式闪存系统下载固件,这个信道通常情况下是一个UART,但是由MCU支持的任何信道都可以提供这一功能(如CAN、调制解调器、USB、J1850等)。由于MCU参与IAP过程,因此,它必须执行由一个非可擦或非可编程的存储器阵列提供的代码。另外,MCU无法使用引导代码和闪存编程算法(IAP装入代码)。因此,必须使用一个备用存储器阵列来存储IAP装入代码。今天,AMD、Atmel、SST和ST等多家公司都能提供在单片上包含两个以上的独立并行闪存器件,而且,SST还提供了一带两个单板并行闪存的单芯片MCU。并行存储器特别适用于IAP应用。系统设计人员必须选择正确型号的备用存储器来存储IAP装入代码。每种备用存储器都有优点和缺陷,如表1所示,备用存储器可以位于MCU外部,也可以插件的形式装在MCU内。图1是一个带外存储器具有IAP功能的系统的顶视图。


其它问题


某些MCU(特别是8051)提供两个独立的地址空间,一个用于程序内存,另一个用于数据内存。因为,这些MCU不能在下载过程中向程序空间写入代码。今天,一些产品能够在IAP过程中,按数据空间而不是程序空间对闪存进行临时性的“重新分类”。SST开发的单片闪存MUC和ST推出的PSD都能提供这种功能,另一种方法是,通过外部合并,使闪存既能提供程序存储空间又能提供数据存储空间,但是这种方法丧失了独立空间产生的保护作用,并且整体地址空间也缩小了一倍。

8位CICS MCU通常提供的线性地址空间不足64K字节,要想超过64K,必须采用页面调度技术(或内存模块技术)。但当一个拥挤的内存印象图必须容纳临时IAP装入代码时,这项技术会变得十分复杂。设计人员必须提供IAP装入代码和主存储器之间的动态换入和换出方法,从而优化拥挤的地址空间。在IAP过程中,当需要一套中断向量时,或者应用程序需要不同的向量时,存储器交换功能特别重要。ST开发的PSD器件就在芯片上建设了动态映像能力。


ISP可选方案


一个独立配套的信道可以直接给闪存内容编程,无需MCU介入。Atmel和 Mitsubishi开发的闪存通过一个小型外设接口(SPI)实现ISP,同时保持MCU处于复位状态。ST开发的闪存PSD采用了JTAG,可直接实现闪存ISP。图2说明了两种方法。这些方案都引起了人们的关注,因为,在实现ISP过程中,它们要求开发和调试嵌入式软件,也不需要备用存储器。软件工程师可以直接为项目开发应用代码。

ISP还解决了制造问题,设计人员不喜欢用芯片插座设计产品,插座成本高、不可靠,插座部分必须预编程,而且还须库存,通过提供对完全空白的MCU和焊接在电路板上的内存的编程方法,一个独立的ISP信道可以解决这些问题。如果一个产品的设计具有ISP功能,那么,所有硬件都可以在出货时进行组装和测试过程,并按照客户的要求,准确修改产品。

如果在这一过程中,MCU可以脱机,那么ISP还可完成现场更新。


单板还是外部闪存


嵌入式闪存可以插件的形式装在MCU(单片MCU)之内,也可以装在外部套件内,让我们看一下,哪一种方法可行。

单片MCU

对目前所选的带单板闪存的8位CISC MCU进行的一项调查显示,密度范围在8K-64K字节之间。

单片MCU的优点:单一器件,节省空间;功耗低;安全存储,无权限访问无法查看或复制存储内容;无等待状态操作。

缺点:经常出现内存容量不足现象;固定特性设置;如果MCU不提供闪存,必须重写代码;一般情况下内存印象图固定;ISP/IAP信道类型固定;时常需要编程电压增加到12 VDC (VPP);大多数器件的擦/写循环次数少(限制数据使用闪存);调试可见度低,在线仿真器更加重要。

外部闪存

在MCU外部实现IAP闪存,带来了很多机会。
使用外存储器的优点:成本效益;可以实现更高的闪存密度;可以继续使用MCU和上次项目中开发的旧代码;内存印象图完全对设计人员开放;IAP信道的选择只受限于MCU能力;可以选择成本低廉的无ROM的普通MCU。

缺点:通常需要一个备用的IAP内存;MCU接口复杂(页面调度、交换、程序与数据空间);地址和数据总线连接占用了MCU I/O的全部管脚;功耗高;占据空间大;内存内容不安全,容易被无权限访问者偷看或复制。
跨越障碍:设计/调试外部IAP闪存时,设计人员面对的挑战;创建一个MCU到闪存IAP的接口(译码、控制、分段等);增加一个次存储阵列,使MCU在IAP过程中可以工作;克服一些MCU无法向程序内存写入代码的缺陷。

设计MCU接口和增加一个IAP次存储阵列,与闪存器件的集成化水平有关。一个普通的分立器件解决方案,包括一个闪存器件、一个IAP次存储器阵列和一个用于地址译码、信号分离、控制逻辑以及存储器页面调度、分段和交换实现的CPLD。因为大多数8位MCU具有512字节或容量不大的单板SRAM,所以,通常还需要一个外部元件。AMD、Atmel、ST 和 SST提供的闪存器件由两个大容量并行阵列组成,每个都有一个固定的地址映像图定义。ST提供的可编程系统器件(PSD)家族包含三个并行内存(2个闪存,1个SRAM),内建一个MCU接口及可编程地址映像逻辑。

假如一个8位IAP闪存的设计,要求代码或数据必须使用大容量的闪存,那么,只有AMD、Atmel、 ST 和 SST开发的高密度器件可以满足这样的需求。地址译码和信号分离、内存的页面调度、交换和分段译码需要可编程逻辑。见图3。

图4所示是ST开发的 PSD854F2器件,这是一个高度集成化双片解决方案。PSD 有三个独立的并行内存阵列和一个可以直接建立连接的可编程MCU接口。所有的地址译码和信号分离、存储页面调度、存储交换和扇区译码均通过可编程逻辑在内部完成。除提供IAP功能外,一个JTAG信道还提供直接ISP。 被外部地址和数据连接所占用的MCU I/O 管脚,通过增加管脚,恢复功能。安全性能确保PSD 内容不会被无权限人员偷看或复制。
 

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com