《单片机选型指南》
一、概述
大家在进行单片机实验和开发产品过程中,往往对使用什么品种和型号的单片机感到很迷茫,不知从何着手。这主要是由于应用系统的性质、规模、投资大小等因素千差万别,单片机的种类繁多,因此选用 单片机很难有一个固定的规范。本文试图通过各方面说明单片机选用的一般原则。
二、实例说明
下面我们看一个单片机数字电容表的实例。
要测量一个电容的容量,常用的有两种方法:第一种方法是把电容作为一个振荡电路(如RC 振荡电路)回路中的一个元件,通过测量振荡频率即可知道电容量;第二种方法是通过测量RC 充放电回路的时间常数来测量电容量。
这里采用第二种方法设计一个单片机数字电容表,测试原理图1。电源电压E+经电阻R 给被测电容CX充电,CX 两端原电压随充电时间的增加而上升。当充电时间t等于RC 时间常数τ 时,CX 两端电压约为电源电压的63.2%,测量电容器充电达到该电压的时间,便能知道电容器的容量。
下面我们分析一下这个单片机系统对所有单片机的要求。
为了判断电容C 上的充电电压是否达到电源电压的63.2%,可以用电压比较器来检测,这样我们就必须选用一个有比较器的单片机。
测量结果采用4位数码管直接和单片机相连的方式,字段要占用7个I/O 口,数码管位选用占4个I/O口,加上电压比较器的2个I/O 口,因此所选用的单片机不能少于13个I/O 口。
设计程序的过程可能要进行反复修改,因此要选用带Flash 程序存储器的单片机,由于程序不是太复杂,程序存储器的容量有1KB就足够了。
综合上述因素,再考虑价格、单片机是否易购等因素,最后确认Atmel 公司的单片机AT89C2051 可以满足要求。
测试电路如图2 所示。
A 为AT89C2051 内部构造的电压比较器,AT89C2051 的P1.0 和P1.1 口除了作I/O 口外,第二功能是作为电压比较器的输入端,P1.0 为同相输入端,P1.1 为反相输入端,电压比较器的比较结果存入P3.6 口对应的寄存器,P3.6 口在AT89C2051 外部无引脚。电压比较器的基准电压设定为 0.632E+,在CX 两端电压从0升到0.632E+的过程中,P3.6 口输出为0,当电池电压CX 两端电压一旦超过 0.632E+时,P3.6 口输出变为1。以P3.6 口的输出电平为依据,用AT89C2051 内部的定时器T0 对充电时间进行计数,再将计数结果显示出来即得出测量结果。
整机电路见图3。电路由单片机电路、电容充电测量电路和数码显示电路等部分组成。P1.0 除了作比较器同相输入端外还兼作测试电容CX 的放电回路。数码管采用的是共阴数码管。
三、单片机选择的原则
由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。从上面这个例子我们可以看出选用单片机的一些基本原则了,下面就具体说一下。
3.1 性能
如何选择单片机,首先也是最重要的一点就是考虑功能要求,即设计的对象是什么,要完成什么样的 任务,再根据设计任务的复杂程度来决定选择什么样的单片机。在选型时可从下面不同角度进行考虑。
3.2 存储器
单片机的存储器可分为程序存储器(ROM)和数据存储器(RAM)。
程序存储器是专门用来存放程序和常数的,有MASK (掩模)ROM、OTPROM、EPROM、FlashROM 等类型。掩模这种形式的程序存储器适用成熟的和大批量生产的产品,如使用到彩色电视机等家电产品中的单片机就采用这种方式,只要用户把应用程序代码交给半导体制造厂家,在生产相应的单片机时将程序固化到芯片中,这种芯片一旦生产出来,程序就无法改变了。
采用EPROM 的单片机具有可以灵活修改程序的优点,但存在需要紫外线擦除、较费时间的缺点。在自己做试验或样机的研发阶段,推荐使用Flash 单片机,它有电写入、电擦除的优点,使得修改程序很方便,可以提高开发速度。对于初具规模的产品可选用OTP 单片机,它不但能免去较长的产品掩模时间,加快产品的上市时间,而且方便程序的修改,能够对产品进行及时的调整和升级。
程序存储器的容量可根据程序的大小确定。对于8位单片机片内程序存储器的最大容量能达到64KB,不够时还可以扩展。选用时程序存储器的容量只要够用就行了,不然会增加成本。
数据存储器是程序在运行中存放临时数据的,掉电后数据即丢失,现在有些型号的单片机提供了EEPROM,可用来存储掉电后需要保护的关键数据,如系统的一些设置参数。
3.3 运行速度
单片机的运行速度首先看时钟频率,一般情况对于同一种结构的单片机,时钟频率越高速度越快。其次看单片机CPU 的结构,采用CISC 结构(集中指令集)比采用RISC 结构(精简指令集)的速度要慢。就 是同一种结构、同一种时钟频率的单片机,有时候速度也不一样,比如Winbond (华邦)公司的W77 系列 的51 单片机1个机器周期只要4 个时钟周期,而一般的51 单片机1个周期是12个时钟周期,前者的速 度是后者的3倍。
在选用单片机时要根据需要选择速度,不要片面追求高速度,单片机的稳定性、抗干扰性等参数基本上是跟速度成反比的,另外速度快功耗也大。
3.4 I/O (输入/输出)口
I/O 口的数量和功能是选用单片机时首先要考虑的问题之一,要根据实际需要确定I/O 口的数量,I/O口多余了不仅芯片的体积增大,也增加了成本。
选用时还要考虑I/O 口的驱动能力,驱动电流大的单片机可以简化外围电路。51等系列的单片机下拉
(输出低电平)时驱动电流大,但上拉(输出高电平)时驱动电流很小。而PIC 和AVR 系列的单片机每个I/O 口都可以设置方向,当输出口使用时以推挽驱动的方式输出高、低电平,驱动能力强,也使得I/O 口资源灵活、功能强大、可充分利用。当然我们也可以根据I/O 口的功能来设计外围电路,例如用51 单片机驱动数码管,我们选用共阳的数码管就能发挥其输出口下拉驱动电流大的特点。
3.5 定时/计数器(I/O)
大部分单片机提供2~3 个定时/计数器还具有输入捕获、输出比较和PWM (脉冲宽度调制)功能,如AVR 单片机。有的单片机还有专门的PCA (可编程计数器阵列)模块和CCP (输入捕获/输出比较/PWM)模 块,如PIC 和Philips 的部分中高档单片机。利用这些模块不仅可以简化软件设计,而且能少占用CPU 的 资源。
现在还有不少单片机提供了看门狗定时器(WDT),当单片机“死机”后可以复位。
选用时可根据自己的需要和编程要求进行选择,不要片面追求功能多,用不上的功能就等于金钱的浪费。
3.6 串行接口
单片机常见的串行接口有:标准UART 接口、增强型UART 接口、I2C 总线接口、CAN 总线接口、SPI接 口、USB 接口等。大部分单片机没有串行接口。在没有特别说明的情况下我们常说的串行接口,简称串口, 指的就是UART。
如果系统只用一个单片机芯片时,UART 接口或USB 接口通常用来和计算机通信,不需要和计算机通信时可以不用。SPI接口可用来进行ISP编程,当你没有编程器时,尽量选用带这种接口的单片机,当然SPI接口也能用来和其它外设进行高速串行通信。 I2C 总线是一种两线、双向、可多主机操作的同步总线,IC 总线是一种工业标准,被广泛应用在各种电子产品中,如现在的彩色电视机就采用IC 总线进行参数的设置。具有 IC 总线接口的单片机在使用AT24C01 等串行EEPROM 时可以简化程序设计。
通常情况下使用最多的是UART 接口,其它接口可根据你的需要选择。
3.7 模拟电路功能
现在不少单片机内部提供了A/D 转换器、PWM 输出和电压比较器,也有少量的单片机提供了D/A 转换器。单片机在集成片内A/D 转换器的同时,还集成了采样/保持电路,使用户容易建立精密的数据采集系统。
PWM 输出模块可用来产生不同频率和占空比的脉冲信号。利用PWM 输出模块配合RC 滤波电路即可方便实现D/A 输出功能。PWM 输出模块也可以用来实现直流电机的调速等功能。
单片机内部集成的电压比较器可以实现多种功能,例如作阀值检测,实现低成本的A/D 转换器等。
3.8 工作电压、功耗
单片机的工作电压最低可以达到1.8V,最高6V,常用的单片机工作电压为4.5V~5.5V,低电压系列为2.7V~5.0V或2.4V~3.6V。选用时根据供电方式确定。
单片机的功耗参数主要是指正常模式、空闲模式、掉电模式下的工作电流,用电池供电的系统要选用电流小的产品,同时要考虑是否要用到单片机的掉电模式,如果要用的话必须选择有相应功能的单片机。
3.9 封装形式
单片机常见的封装形式有:DIP (双列直插式封装)、PLCC (PLCC 要对应插座)、QFP (四侧引脚扁平封装)、SOP (双列小外形贴片封装)等。做实验时一般选用DIP 封装的,如果选用其它封装,用编程器编程时还配专用的适配器。如果对系统的体积有要求,如遥控器中用的单片机,往往选用QFP和SOP封装的。
3.10 抗干扰性能、保密性
选用单片机要选择抗干扰性能好的,特别是用在干扰比较大的工业环境中的尤应如此。单片机加密后的保密性能也要好,这样可保证你的知识产权不容易被侵犯。
3.11 其它方面
在单片机的性能上还有很多要考虑的因素,比如中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内部有无时钟振荡器、有无上电复位功能等等。
3.11.1 单片机的可开发性
这也是一个十分重要的因素。所选择的单片机是否有足够的开发手段,直接影响到单片机能否顺利开发,以及开发的速度。对于被选择的单片机,应考虑下列问题。
3.11.2 开发工具、编程器
有没有集成的开发环境,在支持汇编语言的同时是否支持C 语言,使用C 语言可加快你的开发进度, 另外C语言的移值性也好。
你所选用的单片机有没有编程器支持,或能否采用ISP编程。
3.11.3 开发成本
你选择的单片机对应的编程器、仿真器价格是否高,是否要用专用设备,比如有时单片机需要选用专用的编程器,这样你的开发成本就高了。
3.11.4 开发人员的适用性
这也是一个很实际的问题,如果有两种单片机都能解决问题,当然选一种你熟悉的品种。在大多数情况下大家往往优先考虑选择51系列的单片机。
3.11.5 技术支持和服务
可以从下面几个方面进行考虑。
a、技术是否成熟
经大量使用被证明是成熟的产品你可以放心使用。
b、有无技术服务
国内有没有代理商和相应的技术支持,网站提供的资料是否丰富,包括芯片手册,应用指南,设计方案,范例程序等。
c、单片机的可购买性
单片机是否可直接购买到,这是指单片机能否直接从厂家或其代理商处买到,购买的途径是否顺畅。单片机是否有足够的供应量,以保证所选择的单片机能满足产品的生产需要。
选择单片机,还应注意选择那些仍然在生产中的型号,已经停产的单片机是不能使用的,因为它已无后续供货能力,直接影响到产品的继续生产和生命力。同时,也会给人以一种过时的感觉,从而影响产品的新颖性。
最好还要看一下所选用的单片机是否在改进之中,显然,对于准备推出新版本或有新版本的单片机,选择用于应用系统或产品具有较强的后劲。
d、产品价格
这也是一个重要的因素,在其它条件相当的情况下,当然选择价格低的产品,这样可以提高性价比。
根据上面几个原则对单片机进行选择,就可以选择最能适用于你的应用系统的单片机,从而保证应用系统有最高的可靠性、最优的性价比、最长的使用寿命和最好的升级换代性。
四、单片机的分类与选型
单片机的分类方式很多,下面从程序存储器的类型、应用范围、系统架构三个方面进行分类。
4.1 按程序存储器的类型分类
4.1.1 无片内程序存储器
这类单片机无片内程序存储器,必需在外部接存储器,如Intel公司的8031。
4.1.2 MASK (掩摸)ROM
由器件生产厂家在设计集成电路时将程序一次性固化,价格便宜,适合程序固定不变和大批量生产的应用场合。
4.1.3 OTP (一次性可编程)ROM
可一次性将程序写入单片机,无法更改,其成本较低。适合要求有一定灵活性且低成本的应用场合,尤其适合功能不断翻新、需要迅速量产的电子产品。
4.1.4 紫外线可擦除EPROM
单片机表面有一透明窗口,在一定量的紫外线照射后,能将存储器内所有信息清除,用户可以方便地将程序写入,出错后可以用紫外线擦除后修改,适用于小批量生产。
4.1.5 Flash ROM
Flash ROM 也即闪速存储器,简称闪存,此Flash 非那个动画的Flash,它是一种可快速写入和擦除的电可擦写型存储器,那么它和普通的电可擦写型存储器EEPROM 有什么区别呢?EEPROM 的电擦除是通过加一定的电压来实现内容擦除的,它的缺点是单位存储单元的尺寸大。20世纪80年代发明了Flash ROM,用Flash 这一名称是源于该存储器只需单步操作即能擦除其中的所有内容,这种存储器只能进行整片或一个区域的删除而不能进行单字节删除,由此也减小了单元尺寸,方便大面积集成,因此在单片机上得到了很好的应用。
使用闪存的单片机的程序可以反复擦写,灵活性很强,但价格较高,适合对价格不敏感的应用场合或做开发用途。
4.2 按应用范围分类
4.2.1 通用型/专用型
这是按单片机适用范围来区分的。例如,80C51 是通用型单片机,它不是为某种专用用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路,数码相机中的单片机电路等。
4.2.2 控制型/家电型
这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。
当然,上述分类并不是唯一的和严格的。例如,80C51类单片机既是通用型也可以作工控型。
4.3 按系统架构分类
这种分类方法按单片机的架构来分类,现对本公司拥有的产品进行简单的介绍,也是近年来市场的主流芯片。
4.3.1 Atmel 51 系列
4.3.1.1 Atmel 51 单片机的主要特点
a、内部含有Flash 存储器,在系统开发过程中很容易修改程序,可以大大缩短了系统的开发时间;
b、与MCS-51系列单片机引脚兼容,可以直接进行代换;
c、AT89 系列并不对80C31 的简单继承,功能进一步增强;
d、拥有看门狗功能,即当单片机受外界电磁场的干扰,造成程序跑飞,而陷入死循环,单片机无法正常工作时,看门狗产生复位信号给单片机,使程序重新回到起点。避免整个系统陷入停滞状态, 发生不可预料的后果。
4.3.1.2 Atmel 51 单片机的主要参数
a、主振频率:12~33MHz
b、工作电压:2.7~6.0V
c、I/O 口线:最多32个
d、串行口:1个
4.3.1.3 Atmel 51单片机选型表 (详见附件)
完整的pdf格式文档51黑下载地址(共13页):
单片机选型指南.pdf
(667.1 KB, 下载次数: 142)
|