μPSD3200系列为今日8位快闪微控制器带来更高密度与功能

本文作者:admin       点击: 2003-08-01 00:00
前言:
ST开始生产全新的快闪可编程系统组件(或可称为快闪PSD)已经有一段时间了。稍早前ST曾推出一系列PSD8xx与PSD9xx的PSD产品,它们整合了双记忆库闪存、SRAM、可编程逻辑(PLD),以及JTAG系统内编程(ISP)的能力,所有这些功能均整合在单芯片中。这些组件能与数百种不同的8位及16位不带ROM的微控制器搭配使用,组成双芯片解决方案。目前ST已经迈出了下一步,在PSD组件内整合了微控制器核心,开发出全新的μPSD3200系列产品。现在,PSD架构已经在安全、低成本的单芯片内结合了强大的8051微控制器核心。目前市场上还没有任何8位微控制器能在内存密度与功能上和μPSD3200匹敌。
μPSD3200是此系列产品的总称,现有两大系列主要产品线──μPSD323x以及μPSD325x,它们都内含了一个40MHz的8032微控制器核心以及PSD架构。这些组件内含了储存容量高达288Kbyte的闪存、32Kbyte的SRAM、带有16个宏电路元的快闪PLD,以及JTAG ISP的功能。另外,ST还为这些组件增加了多种芯片上周边接口及功能,包括有:
‧ I2C与USB 1.1界面
‧ 4个8位与1个16位PWM信道
‧ 2个UART通道
‧ 4个8位ADC信道
‧ 超过50个的通用I/O脚位
‧ 由8032核心提供的3个16位定时器以及2个外部中断
‧ 像watchdog定时器与低电压检测器这类监控功能

这些组件现在有80脚与52脚的TQFP封装两种版本可供选择。80脚封装版本可以将8032核心的地址/数据总线与外部平行周边连接起来,提供了额外的扩充功能;52脚的TQFP版本则没有这些总线接取功能。ST现可供应工作电压为5V及3.3V的组件,它们的工作温度均在-40°C到+85°C之间。
由于μPSD3200系列中的PSD架构具有许多优点,因此它具备有凌驾于市场上其它所有8位快闪微控制器之上的优势,包括:
‧ 最大的SRAM与闪存容量
‧ 双闪存数组
‧ 灵活的内存管理
‧ 芯片上通用可编程逻辑(快闪PLD)
‧ JTAG ISP功能
更大的SRAM与闪存
μPSD3200是今日市场上内存容量最大的8位快闪微控制器。这些微控制器需要储存密度更高之内存的最主要原因,是因为有些应用必须使用C语言进行编程,这些应用通常必须处理多个国家之间不同语音文字的字符及字符串,因此具有十分复杂的用户接口;另外,这些应用通常要使用很大的查找表,并记录这些数据,这都需要更庞大的内存容量。    μPSD3200将容量高达288Kbyte的闪存分为两个数组:一个是主数组,另一个是辅助数组;μPSD32x3的主数组容量是128Kbyte;而μPSD32x4的主数组容量是256Kbyte,辅助数组容量是32Kbyte。这两个数组是完全各自独立的,这代表8032核心能够在一个数组正在进行清除或写入动作时,同时从另一个数组中读出数据。这两个数组都能储存程序代码,也能储存数据。此外,这些组件还带有芯片上SRAM,μPSD323x的SRAM容量为8Kbyte;μPSD325x的SRAM容量则是32Kbyte,若应用在电池供电设备上,则这些行动装置的电池将自动地成为SRAM的备用电池,而将μPSD的SRAM当成NVRAM来使用。μPSD325x中容量为32Kbyte的SRAM能在USB与UART信道的高速数据转换应用中,用做大量数据的缓冲器,同时可储存大量变量。目前市场上还没有其它8位快闪微控制器具有如此大容量的SRAM。

双闪存与支持IAP的解碼PLD
传统设计中只有一个闪存数组,当内存的任何一部份在清除或写入时,是不能同时读取的,这使得设计人员很难在对闪存进行远程更新内容时,同时对其执行应用内编程(IAP)。而双闪存架构解决了这个问题。现在,微控制器可以在一个内存数组正在进行清除或更新时,同时从另一个内存数组读取并执行程序代码。设计人员可以在一个闪存数组中编写或插入任何的‘加载器’程序。在执行过程中,这个加载器程序会透过USB、UART、调制解调器、I2C或专用通道接收更新过的韧体,并将新韧体写到另一个闪存数组中。这将提供更大的灵活性,因为设计人员将能依照任何一种协议和故障容忍度的规范来编写加载器程序。这种功能是大多数其它8位快闪微控制器所无法达成的,这些8位微控制器必须使用一个预先确定的协议或是通信通道来执行IAP编程。

灵活的内存管理功能-突破传统8051关卡
在执行IAP时还存在着另一个障碍,这是由传统8051架构所造成的。8051核心在工作时是使用双地址空间,分别为程序代码空间与数据空间。然而8051核心无法擦除程序空间或是对程序空间进行写入工作,它们仅仅能清除或写入数据空间。这种安排可以防止程序代码偶然出现的问题。如此一来,如果程序空间是不可写入的,那么如何对一个产品在现场进行远距离的韧体更新呢?这个问题的答案可以从μPSD3200系列产品中的解碼PLD(DPLD)中获得,在数据更新期间,DPLD允许微控制器将原来在程序代码空间中的闪存数组暂时安放在数据空间中,然后在数据更新完成之后,再将其安放回程序空间之中。这种方法可用于μPSD3200两个闪存数组中的任何一个。
DPLD功能同时让设计人员能够就「多少闪存应该放在程序空间,多少应用放在数据空间」这个问题做最好的权衡,这通常必须取决于具体应用。有一些微控制器被用于大量算法、需要将大量闪存放在程序空间,或是需要用到大量数据等场合,这些应用场合都需要把大部份的闪存放到数据空间中。目前在市场上还没有任何其它的8051快闪微控制器能够灵活地达到这个目标,这些微控制器的芯片上闪存均是存放在程序空间中。
传统8051的另一个障碍,是它的寻址范围不能超过64Kbyte的程序代码或数据地址,因为传统微控制器仅有16个地址信号。那么,我们如何在μPSD3200一次存取闪存的全部空间呢?答案很简单,在DPLD中内含了一个8位的页面缓存器,它能够突破64Kbyte的限制。DPLD允许设计人员设定每个页面的大小,在第三方的8051 C编译器和电路中仿真器的支持下同时寻找页面(或是记忆库),这种功能就像是增加了8条地址线。目前市场上的其它8051快闪微控制器芯片上的闪存容量都不超64Kbyte,当需要使用更大容量的内存时,设计人员必须增加外部闪存组件,并且在外部添加译码和页面寻址逻辑电路。这种可编程逻辑性意味着只需要做很小的改变,设计人员就能够轻易地将任何现有的8051设计移植到μPSD3200的设计中,同时在新的设计中,设计人员也可以自行进行内存分配和变换。

通用的可编程逻辑电路
除了可编程的译码PLD之外,所有的μPSD3200系列组件都含有一个带16个宏单元的通用PLD。设计人员能够利用μPSD3200中的这些逻辑电路,消除掉他们在原来设计中放在外部的小型PAL、PLD以及74系列的分离式逻辑组件。这种通用PLD架构与传统的22V10 PLD组件非常类似。通用PLD的标准应用包括有胶合逻辑、状态机、移位缓存器、计数器、针对外部组件的芯片选择功能、键盘接口、延迟产生器、译码器,以及其它更多用途。这种逻辑的配置是透过软件开发工具PSDsoft Express来实现的。
目前没有其它的8位微控制器内含快闪PLD。

JTAG系统内编程(ISP)
ISP功能能够在无需使用微控制器核心的情况下,对组件进行编程序是更新,这点与IAP功能不同,IAP的执行需要使用微控制器。一个完全空白的μPSD3200组件能够直接被焊接在印刷电路板上,并透过符合工业标准的四线JTAG接口进行编程,所花费的过桯仅需10~25秒。这意味着能够很快地在实验室中开发出程序代码,但更重要的是,这还代表着不需要插座,或是在生产在线无需使用预编程的组件。JTAG ISP在最后一刻仍能很方便地修改产品的设计,有助于准时的存货管理(JIT)。μPSD3200组件现已获得多种JTAG编程工具的支持。包括ST的低价位FlashLINK JTAG电缆线,可插到任何一个PC的并行端口上。此外,许多第三方的JTAG编程器也开始支持μPSD3200组件,包括多种编程器与支持安捷伦公司ATE设备的支持服务。 

应用实例:收款机用的感热打印机
许多应用都要求更多的储存容量。这些需要更大内存容量的应用包含各种接口设备,并具备监测功能,这些需求让μPSD3200看起来更适合应用在广泛的嵌入式控制应用中。这些嵌入式应用包括有:收款机(POS)检查与卡片阅读机、POS用的感热式打印机、条形码扫描仪、贩卖机控制器、大楼安全系统、警报及门禁控制、工业控制、可携式GPS、公共电话,以及各种仪器。μPSD3200组件能大幅减小外部组件与逻辑组件的数量,从而降低成本,增进系统可靠性并降低功耗。
μPSD的一种理想应用是收款机用的感热式打印机,如图2所示。这些用来打印收据的小型打印机通常必须支持好几种语言,同时必须在非挥发性内存中储存多种的产品影像或商标。μPSD3254组件就非常适用于这种感热式打印机,其8032应用程序代码可存放在较小的32Kbyte辅助闪存中,而字型表、产品影像或公司商标以及其它数据则可存放在较大的256Kbyte主要闪存数组中。所有的μPSD3200组件都具备这些功能,这是此系列组件的典型应用实例,特别是μPSD3254,这个组件在必要时,可存放到8032中的数据空间之闪存会多于可放到程序空间的闪存。
在主机送出需要打印数据的同时,32Kbyte的SRAM会做为缓冲存储器之用。这个大容量的SRAM可提高数据传送速度,因为主机将能把更多数据以更有效率的方式传送给感热式打印机。
此应用包含了多种使用接口:
‧ PLD是被用来与印表头连接的胶合逻辑
‧ 一个UART以同步方式被用来将数据传送到印表头
‧ 第二个UART可直接连接到主机(现金缓存器或计算机)上,或是透过一个IrDA收发器或蓝芽模块与主机进行通讯
‧ USB 1.1(1.5Mbit/s)接口被当做与主机连接的另一个接口
‧ ADC信道可监测印表头温度与电池电平
‧ GPIO信号接口可连接到按钮与发光二极管指示灯上
‧ I2C可连接到实时时钟组件或其它周边上
‧ PWM通道可用来产生声音
‧ 在开发与生产时JTAG可进行系统内编程

使用IPA功能可以轻易地实现存放在非挥发性内存中之各种字符和商标的远程更新工作,主要原因是它是双闪存架构。在程序空间的辅助闪存中存放‘加载器’程序代码,而数据空间中的主要闪存中则放字符、影像和商标等数据。当8032从辅助闪存中执行加载器程序时,更新的数据会透UART、USB、IrDA或是蓝芽通道获得,此时新的资料将会被写入主要的闪存中。
字符和图像数据的更新的问题不只是我们刚才所看到的,其它的问题还包括程序是如何更新的?以及如何选择。在此我们可以用远距更新8032的应用程序代码,这些应用程序是存放在闪存中的,此时可以将辅助闪存做为数据空间,而主要闪存可做为程序空间。一旦主要和辅助闪存的用途被改变,过去存放在主要闪存中,处于睡眠状态的‘加载器’便会被唤醒,接收更新过的程序代码,并将之写入到辅助闪存中。

结论
传统的8位微控制器必须使用高密度SRAM与闪存,需要连接多种胶合逻辑,同时必须支持各种接口信道的应用,现在,μPSD3200系列组件可以实现这些功能,因为这些组件已经将这些功能整合在其中。与市场上其它的竞争方案相比,这将大幅降低成本,同时能增加JTAG ISP功能、透过IPA进行远程更新的功能、内存保密功能,而且制造出来的产品体积更小、电磁波干扰也相对减少,同时功耗也降低了。
目前μPSD3200系列共有12款组件,它们的内存容量、封装方式、周边、工作电压都不相同。另外,ST还将在2003年年中推出μPSD系列的全新产品──μPSD3300,它的功能将更加丰富,其8032核心将从3MIPS增加到10MIPS,甚至可达到更高;主要闪存的容量将扩充到512Kbyte、PLD尺寸增加一倍,达到32个宏单元。其周边支持也将获得加强,而USB 1.1接口也将支持全速率的数据传送模式。