好久没动手,想做点东西了。
做什么呢,太大的比如断路器、熔断器什么的比较靠近机械目前自己做不了,太小的控制器比如什么流水灯没什么技术含量属于入门级别的。上个学期用MSP430做的温度检测系统勉勉强强算是有点难度,但是还有很多MCU的外设还没有用到,比如ADC、WatchDog、PWM、通信接口类的。进一步说,对控制算法、仿真也没有了解,收获太少。想了想,不如就从去年电子设计大赛没做的电源入手吧。做个电源,需要信号采集采样(ADC)、保护(WatchDog、Reset)、外围硬件(模电知识)、闭环控制(控制算法)、PWM(电力电子器件)、远程控制(通信接口)……不错不错,那就开始吧。
这次要做一个小的控制系统了,并且肯定是闭环控制的。不过还不是很确定是用模拟器件完成还是用单片机控制,用模拟器件控制的话,或许效果也不错。先看一下闭环控制系统的基本组成环节:测量反馈元件、比较元件、放大元件、校正元件、执行元件以及被控对象。(除被控对象以外的所有元件合在一起,成为控制器)
而且现在还没有确定做开关电源还是数字电源,先拿去年的电子设计大赛题目来说:
一、主控芯片的选择
主控芯片,应该算是这个控制系统的核心即控制器,需要完成对信号的采样、对执行元件的控制,同时还要完成其他的一些辅助工作比如交互界面,通信等等等等,所以主控芯片的选择也很挠头。这个学期开了DSP(Digital Signal Processor)课程,之前也学过8位的单片机,我也接触过16位的MSP、32位的ARM单片机K60,那么用在本次设计上,到底使用哪种芯片呢?这正是我第一阶段面对的最大问题。那么就分析一下各自的优劣吧。
首先看一下参赛选手:
经久不衰的 STC15 (8-bit MCU)
TI公司在单片机的尝试 MSP430 (16-bit MSP)
在智能车比赛中的老面孔 K60(32-bit ARM MCU)
大名鼎鼎的DSP TMS320F2812/TMS320F28069(32 - bit 定点DSP)
它们可以说可以代表现在市面上所有常见的主控芯片了,并且很具有代表性。STC15可以说是为我们常说的51(增强型的51),现在大学里学的单片机大部分都是以它入手,会些C语言就能操作它完成一些基本的控制任务,并且现在宏晶公司已经把它玩上天了,片内集成了N多外设,其价格非常低廉,适合新手使用,不过因为是8位的单片机,主频不高,因此在大量数据处理上还是有些力不从心。MSP430在之前我也说过,是TI公司在MCU领域面对低功耗的拳头产品,片内外设相对来说也比较丰富,我个人认为缺点还是主频不算特别高,计算能力相对来说也不是很强,不太适合运动控制和实时控制,更加适合手持设备。K60是采用ARM内核(可以翻看之前介绍架构和制程的那篇),是面对嵌入式系统和移动设备的新兴宠儿,现在很流行的STM32也是ARM内核,具体来说,K60采用了Cortex-M4内核,尤其是C-M4比C-M3多了高能效数字信号控制模块(DSP模块),对大量数据处理有了专门的库函数,并且主频相对来说很高,基本都在100MHz以上,现在很多的控制器都用ARM来做,并且具有低功耗、低成本的特点,应该是一个大趋势。DSP是运动控制领域的老大哥了,生来就为了做电机控制、图像处理、音频处理等等等需要数字信号的场合,优点真的无需赘述,随便翻开一本DSP教材肯定就会有比较大的篇幅介绍,但是外围电路比较复杂,并且价格较高算是一个缺点吧!
具体在以下方面进行一下比较:运算速度(整数、浮点数)、集成外设数量(PWM、通信、ADC精度\通道)、基本参数(RAM、ROM、IO口)、IDE(友好性、仿真、资料数量)、价格(是不是好搞到啊)、其它。