单片机的应用设计挑战及解决方案

2009-2-21 21:55:00
  •   近年来,微控制器(MCU)在技术、工艺上又有了许多新的突破,有些公司推出了诸如具备联网、可编程特性的MCU产品,使MCU的应用领域日益拓展。因此,如何使用MCU开发新的应用以及如何掌握MCU开发技巧都成为工程师迫切想了解的内容。   从网站的调查看,工程师主要关心在设计中

  近年来,微控制器(MCU)在技术、工艺上又有了许多新的突破,有些公司推出了诸如具备联网、可编程特性的MCU产品,使MCU的应用领域日益拓展。因此,如何使用MCU开发新的应用以及如何掌握MCU开发技巧都成为工程师迫切想了解的内容。

  从网站的调查看,工程师主要关心在设计中如何构件软件框架、如何解决硬件抗干扰问题,为帮助工程师解决MCU设计中的难题,我们特别邀请了新华龙电子有限公司沈阳公司经理孙德龙和沈阳航空工业学院计算机系副主任潘琢金先生担任《MCU应用设计挑战及解决》专题研讨的嘉宾,与广大工程师一起分享MCU设计方面的经验。

孙德龙(新华龙电子有限公司 沈阳公司 经理)

专家观点:Cygnal MCU的设计特点

  MCS-51单片机及其衍生产品在我国乃至世界范围获得了非常广泛的应用,尤其是在我国,大部分大专院校都采用MCS-51单片机作为教学机型,大部分单片机系统工程师都熟悉MCS-51单片机。随着一些高集成度、高性能、低功耗的8位和16位RISC单片机的推出,基于标准8051内核的单片机正面临着退出市场的境地。因此一些半导体公司开始对传统8051内核进行大的改造,主要是提高速度和增加片内模拟和数字部件,以期大幅提高单片机的整体性能。Cygnal集成产品公司推出的C8051F单片机是这类MCS-51单片机的典型代表,也是目前功能最全、速度最快的8051衍生单片机。

下面列出了Cygnal C8051F单片机的一些主要特点。

一、高速CIP-51 内核

  C8051F单片机使用Cygnal的专利CIP-51核。CIP-51核采用流水线结构,机器周期由标准8051的12个系统时钟周期降为1个系统时钟周期,处理能力大大提高。在采用相同振荡器频率的情况下,C8051F单片机的峰值执行速度是标准8051的12倍。大部分C8051F单片机的峰值性能达到25MIPS,而C8051F12x系列的峰值性能可达到100MIPS。CIP-51扩展了标准8051的中断系统,这个扩展的中断系统可以提供22个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU干预,却有更高的执行效率。

二、丰富的模拟和数字资源

  C8051F单片机内部集成了大量的模拟和数字资源。

  模拟资源主要包括:

  由逐次逼近型ADC、多通道模拟输入选择器和可编程增益放大器组成的完整ADC子系统。ADC可以有多种转换启动方式,10位或12位的ADC数据字可以被编程为左对齐或右对齐方式。大部分器件中的ADC都可被被编程差分输入或单端输入。ADC子系统可以产生窗口比较中断,即当ADC数据位于一个规定的窗口之内或之外时向CPU申请中断,这一特性允许用ADC以后台方式监视一个关键电压,当转换数据位于规定的窗口之内时才向CPU申请中断。

数字资源主要包括:

  1. 标准8052单片机的数字资源。如三个16位定时器/计数器,256字节内部RAM,UART等。

  2. 片内可编程计数器/定时器阵列(PCA)。     3. SPI总线和SMBus/I2C总线。大部分C8051F单片机中集成了SPI总线和SMBus/I2C总线。这些串行总线不“共享”定时器、中断或端口I/O,所以可以使用任何一个或全部同时使用。

三、多源复位

  C8051F单片机可有多达7个复位源:一个片内VDD监视器、一个看门狗定时器、一个时钟丢失检测器、一个由比较器0提供的电压检测器、一个强制软件复位、CNVSTR引脚及外部复位引脚。外部复位引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到外部复位引脚。除了VDD监视器复位和外部引脚复位以外,每个复位源都可以由用户用软件禁止。

四、双重系统时钟

  C8051F单片机内部有一个能独立工作的时钟发生器并具有外部振荡器驱动电路。在复位后内部时钟发生器被默认为系统时钟。外部振荡器可以使用晶体、陶瓷谐振器、电容、RC电路或外部时钟源产生系统时钟。如果需要,时钟源可以在运行期间在内部振荡器和外部振荡器之间切换。这种时钟切换功能在低功耗系统中是非常有用的,它允许MCU从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速的内部振荡器。

五、可编程数字I/O和交叉开关

  C8051F单片机中引入了数字交叉开关,改变了以往内部功能与外部引脚的固定对应关系。交叉开关是一个大的数字开关网络,允许将内部数字系统资源分配给端口I/O引脚。与具有标准复用数字I/O的单片机不同,这种结构可支持所有的功能组合。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及单片机内部的其它数字信号配置为出现在端口I/O引脚。这就允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。

六、应用编程和FLASH安全机制

  C8051F单片机中具有可在系统和在应用编程的FLASH程序存储器。在应用编程特性允许将FLASH存储器用于非易失性数据存储,并可以通过用户软件对FLASH编程,这就允许现场更新8051固件,为产品的软件升级提供了极大的方便。FLASH存储器还具有安全机制,可以保护程序代码和数据,以防止程序或数据被读取或意外改写。C8051F单片机中独有的软件读限制这一安全功能还可以防止用户软件对被锁定的FLASH存储块中的内容进行读/写,为OEM厂商在C8051F单片机中增加产权固件提供了可能。

七、系统调试

  C8051F单片机具有片内JTAG和调试电路,通过4脚的JTAG接口并使用安装在最终应用系统中的器件就可以进行非侵入式、全速的在系统调试。Cygnal的调试系统支持观察和修改存储器和寄存器,支持断点、观察点、堆栈指示器和单步执行。   潘琢金(沈阳航空工业学院计算机系 副主任)

专家观点:Cygnal MCU的设计特点

  MCS-51单片机及其衍生产品在我国乃至世界范围获得了非常广泛的应用,尤其是在我国,大部分大专院校都采用MCS-51单片机作为教学机型,大部分单片机系统工程师都熟悉MCS-51单片机。随着一些高集成度、高性能、低功耗的8位和16位RISC单片机的推出,基于标准8051内核的单片机正面临着退出市场的境地。因此一些半导体公司开始对传统8051内核进行大的改造,主要是提高速度和增加片内模拟和数字部件,以期大幅提高单片机的整体性能。Cygnal集成产品公司推出的C8051F单片机是这类MCS-51单片机的典型代表,也是目前功能最全、速度最快的8051衍生单片机。

  下面列出了Cygnal C8051F单片机的一些主要特点。

一、高速CIP-51 内核

  C8051F单片机使用Cygnal的专利CIP-51核。CIP-51核采用流水线结构,机器周期由标准8051的12个系统时钟周期降为1个系统时钟周期,处理能力大大提高。在采用相同振荡器频率的情况下,C8051F单片机的峰值执行速度是标准8051的12倍。大部分C8051F单片机的峰值性能达到25MIPS,而C8051F12x系列的峰值性能可达到100MIPS。CIP-51扩展了标准8051的中断系统,这个扩展的中断系统可以提供22个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU干预,却有更高的执行效率。

二、丰富的模拟和数字资源     C8051F单片机内部集成了大量的模拟和数字资源。

模拟资源主要包括:

  由逐次逼近型ADC、多通道模拟输入选择器和可编程增益放大器组成的完整ADC子系统。ADC可以有多种转换启动方式,10位或12位的ADC数据字可以被编程为左对齐或右对齐方式。大部分器件中的ADC都可被被编程差分输入或单端输入。ADC子系统可以产生窗口比较中断,即当ADC数据位于一个规定的窗口之内或之外时向CPU申请中断,这一特性允许用ADC以后台方式监视一个关键电压,当转换数据位于规定的窗口之内时才向CPU申请中断。

数字资源主要包括:

  1. 标准8052单片机的数字资源。如三个16位定时器/计数器,256字节内部RAM,UART等。

  2. 片内可编程计数器/定时器阵列(PCA)。

  3. SPI总线和SMBus/I2C总线。大部分C8051F单片机中集成了SPI总线和SMBus/I2C总线。这些串行总线不“共享”定时器、中断或端口I/O,所以可以使用任何一个或全部同时使用。

三、多源复位

  C8051F单片机可有多达7个复位源:一个片内VDD监视器、一个看门狗定时器、一个时钟丢失检测器、一个由比较器0提供的电压检测器、一个强制软件复位、CNVSTR引脚及外部复位引脚。外部复位引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到外部复位引脚。除了VDD监视器复位和外部引脚复位以外,每个复位源都可以由用户用软件禁止。

四、双重系统时钟

  C8051F单片机内部有一个能独立工作的时钟发生器并具有外部振荡器驱动电路。在复位后内部时钟发生器被默认为系统时钟。外部振荡器可以使用晶体、陶瓷谐振器、电容、RC电路或外部时钟源产生系统时钟。如果需要,时钟源可以在运行期间在内部振荡器和外部振荡器之间切换。这种时钟切换功能在低功耗系统中是非常有用的,它允许MCU从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速的内部振荡器。

五、可编程数字I/O和交叉开关

  C8051F单片机中引入了数字交叉开关,改变了以往内部功能与外部引脚的固定对应关系。交叉开关是一个大的数字开关网络,允许将内部数字系统资源分配给端口I/O引脚。与具有标准复用数字I/O的单片机不同,这种结构可支持所有的功能组合。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及单片机内部的其它数字信号配置为出现在端口I/O引脚。这就允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。

六、应用编程和FLASH安全机制

  C8051F单片机中具有可在系统和在应用编程的FLASH程序存储器。在应用编程特性允许将FLASH存储器用于非易失性数据存储,并可以通过用户软件对FLASH编程,这就允许现场更新8051固件,为产品的软件升级提供了极大的方便。FLASH存储器还具有安全机制,可以保护程序代码和数据,以防止程序或数据