一、MCU
MCU就是微控制器,是电机系统实现自动控制的“中枢大脑”,大脑里其中包含了最精华的控制算法的实现。目前控制器大概分四大类:单片机、ARM、DSP、FPGA。
单片机适用算法简单、成本低廉或者某些专用场合。比如4位的用于钟表之类。以前由于微机课程的原因,对单片机的了解仅仅局限于8051,现在才知道8位的或者16位的单片机依旧市场广泛。以项目中用到的STM8和S12ZVM为例,一个ST公司8位的或者16位的单片机足够满足汽车某一方面的电机控制需求,甚至能够将芯片电源、微控制器、MOSFET预驱动、LIN/CAN/PWM通信集于一身,功能足够满足项目要求。
ARM目前没用过做主控芯片,只听说过ST公司的STM32F103和F407,对于ARM和DSP的区别我还是认同网上以为DSP培训工程师的说法:ARM接口资源多一些,方便做一些展示型的东西,比如显示屏之类的,如果要做控制,还是DSP专业一些。
DSP得益于TI公司强大的实力以及各种针对中国的大学计划、培训课程之类,是电机控制器的首要之选。各种例程、教学资源网上都可以找得到,在此不多赘述。
FPGA并行运算、硬件实现,具有进行大规模矩阵运算的优势。不过根据自己的经验,用FPGA写算法还是比较难做,因为没有那么多的库可以用,写到最后连最基础的功能都需要自己去写,着实难写,不过也可能是自己水平有限,没有找到合适的途径。
对于目前FPGA的发展,我觉得DSP+FPGA是一条不错的道路,DSP做主控芯片,FPGA做协处理器,将FPGA挂在DSP总线上,适合FPGA的运算交给它去处理,然后读回来进行处理。目前XILINX和Intera(Altera)公司好像都在按照这个思路去做。当然还有一些比如SOPC、高级语言编程、MATLAB转化HDL的思路。目前觉得FPGA还是不太适合作为主控芯片,需要看两大公司发展思路。
在进行MCU选型的时候,考虑以下几个因素:主频、内部资源、成本、实际项目需求等。主频决定了MCU能够以多快的速度运行,是非常重要的一点;内部资源要保证功能能够实现;成本问题也要注意,这是做了横向项目之后才有的感受。实际项目需求上,选型时要考虑不同器件的特点。比如,DSP属于通用器件,资源多,功能强大。但是这也说明一件事:资源多归多,可是对哪一方面也可能不是最精的,如果需要某一方面还是要去找一些专用芯片,不能上来就是DSP,汽车级芯片还是NXP、Infineon更专业。
0755-83660119