资源描述:
《(单片机)CPU的选择》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、电子设计竞赛系列指导2009年全国大学生电子设计竞赛即将开始,各个学校已经开始安排相关培训,准备参赛同学也已经有针对性地开始提高自己的动手能力,为配合此次电子设计大赛,特将本人参加大赛的经历以及这些年从事硬件研发的经验作了总结,并发表于本论坛,希望对各位参赛的同学有一定参考意义或者帮助。同时,欢迎热心的朋友提出不同观点或者补充。让我们共同讨论、共同进步。另预祝各位准备参加2009年电子设计大赛的同学能够通过此次大赛大幅提高自己的动手能力,并在比赛中取得优秀成绩。电子设计竞赛系列指导之一CPU的选择最近经常有参加电子设计大赛的同学问我这样的问题:我最近在学XX单片机或者XXARM,不知道
2、这个对大赛是否有用?或者参加电子设计大赛最好学什么控制器?我想应该从以下几个方面去考虑这个问题:1.基本资源是否够用?很多学生都很熟悉AT89S系列单片机,常用、比较容易买到的是AT89S51/AT89S52,但是这个两个型号的单片机RAM偏少,只有128/256字节(一般不建议在单片机外部扩展内存,因为其连线太多,外部RAM存取速度也会慢些)。如果在比赛中需要建立大一点的数组,可能就会受到限制,而比赛期间时间比较紧张,很难写出效率高、占用内存少的代码,如果遇到RAM溢出,那将是很大的麻烦。而且这两个型号的单片机其他硬件资源也比较少,只有串口和IO口。如要连接EEPROM则需要通过软件
3、来模拟IIC或SPI总线,速度慢。而且不带内部AD(有些地方对AD的速度要求不高可以用单片机内部的AD(比如小车上的AD),因为连线方便),同时还不支持硬件仿真(只能用别的单片机来仿,仿真时占用串口和一个定时器)。2.性能怎么样?这是一个很实际的问题。我们参加电子设计大赛的作品都是由手工焊接出来的,很多地方就是用线连在万能焊接板上,如果性能不可靠将会出现晶振不起振,数据线长了传送的数据就不对,而且容易被静电打坏,这些都将直接影响你的比赛进度,有些单片机速度慢,数据处理能力差,也会影响到赛场的发挥.而且有些地方还需要考虑单片机的功耗等3.开发流程与平台是否简单、容易上手?很多学生学的是5
4、1单片机,觉得它速度慢、资源少,于是决定在比赛前重新学一款新的控制器,但是有个问题你要首先要考虑:开发平台要简单,参考资源要多,能否在短期内掌握内部资源的操作.开发工具是否昂贵,比如dsp的开发工具一般都比较贵,因而很少有学生使用DSP来做开发,而且DSP本身参考资料不是很多.经过以上比较,我推荐以下几种CPU并作相关说明:1.LPC2138这个CPU比较贵,但是为了比赛准备两片也是值得的,他的RAM很大,比如你做2007年的A题(音频信号分析仪)就非常需要这个芯片,32K的RAM,带有AD,该题的要求是20Hz的分辨率,5S的分析时间,只要多采点数据,做到10Hz的分辨率都没有问题,
5、但是很多学生就是因为选用了常见的51,M16(网上有这个单片机的FFT代码,但是点数很少,而且是汇编代码的,很多学生改起来比较困难)等单片机,这些单片机自带的RAM不够,51单片机没有硬件乘法器。有部分学生用51单片机做,外扩了RAM、AD,还挂了个LCD,连线复杂,可靠性很低,到了测试的时候很可能会出现意外(这里要友情提醒一下,你们的比赛作品在上交的时候,装到盒子中时一定要垫上一定的海绵,泡沫或者碎纸,以免运输过程中损坏),比如启动不了了。而选择LPC2138的话,它本身自带AD,带大容量的RAM,这样,只要在外部接模拟调理电路和LCD就可以搞定硬件了,其他就是软件编程,处理速度不需
6、要担心,你可以使用60M的主频,带硬件乘法器。大容量的RAM和FLASH对于需要移植操作系统和GUI的作品更是适用。该芯片可以用KEIL(你们应该很熟悉了)开发,用USB接口的调试工具,支持硬件仿真,开发工具便宜(推荐使用智林的ULINK或者Jlink)。比赛前需要做好最小系统的板子。2.STM32F103RB他的好处与LPC2138差不多,但是资料更多些,而且提供了一些算法库(FFT,PID),这个算法库是很有用的,因为让你用汇编去写这个是不现实的,自己用C语言写的效率也很低,有了这些你就可以直接调用了,而且STM32F103是Ctecx-M3的内核,速度会比ARM7快,效率也有所提
7、高.带实时时钟、串口、SPI接口、IIC接口、AD等常用外设.但寄存器设置会比LPC2138麻烦点.,其开发工具类型很多(推荐使用智林的ULINK或者Jlink),一般价格都比较便宜。比赛前也需要做好最小系统的板子。3.ATMEGA32单片机,在AVR单片机里这个单片机资源适中,2K的RAM,做一般的题目应该是够的,32K的FLASH也足够了,一般比赛过程中是写不了那么大的代码的,除非之前移植好了操作系统、GUI等东西在里面。其资源要比普通51