在线询价
在线询价
本文将阐述MCU方案开发构架和工作原理,为方案开发设计工程师和采购方提供MCU的选型技巧。
7MCU方案开发低功耗
越来越多的移动电子产品出现,推动MCU也快速地向低功耗方向发展。低功耗不仅仅是为了省电,更是是为了降低电源模块以及散热模组的成本。随着电流的降低,电磁干扰和热噪声也大幅度地降低了。
上拉下拉电阻也有功耗,如对单一的信号进行上拉或下拉,电流也就是几个微安到几十微安之间,但是对于一个被驱动了的信号进行上拉和下拉,电流能达到几十毫安。
闲置不用的端口,尽量不要悬空。如果悬空,外界的干扰可能在这些端口形成反复的震荡信号,MOS工艺芯片的功耗主要取决于门电路的翻转次数。
8MCU方案开发成本和交期
很多8位和16位及32位MCU,价差已降至将近几美分,需结合产品实际情况选取合适的MCU。
MCU选定后,后续很多新项目也会用这一系列MCU,因此在做MCU选项时一定要调查清楚供应商是否长期生产该系列的芯片,有几家生产工厂。在我们的客户所在地,该供应商是否有强大的售后服务团队。
对MCU进行试验验证,确保产品的低失效率,因为高失效率率意味着更高的成本。调查统计各MCU及其供应商的口碑。
9MCU方案开发其它功能
将更多的其它功能集成到MCU是大的趋势。如DSP功能,上电复位,低电压检测功能。应调查清楚所选这一系列MCU现在及未来可集成哪些功能模块,为后续新产品的设计开发做准备。
对于MCU,在已批量生产后轻易不要做替代动作,MCU的替代需做各种严格的测试验证,成本较高。
MCU方案开发程序的编写
明确了MCU的相关功能后,接下来就可以开始编程了。
MCU方案开发的程序的编写与PC下的程序的编写存在很大的区别,虽然现在基于C的MCU开发工具越来越流行,但对于一个高效的程序代码和喜欢使用汇编的设计者来讲,汇编语言仍然是最简洁、最有效的编程语言。对于MCU的程序编写,其基本的框架可以说是大体一致的,一般分为初始化部分(这是MCU程序设计与PC最大的不同),主程序循环体和中断处理程序三大部分(见图1 a 和 b),其分别说明如下:
MCU方案开发初始化:
对于所有的MCU程序的设计来讲,出世化是最基本也是最重要的一步,一般包括如下内容:
MCU方案开发主程序循环体:
大多数MCU是属于长时间不间断运行的,因此其主程序体基本上都是以循环的方式来设计,对于存在多种工作模式的应用来讲,则可能存在多个循环体,相互之间通过状态标志来进行转换。
对于主程序体,一般情况下主要安排如下的模块:
MCU方案开发中断处理程序:
中断程序主要用于处理实时性要求较高的任务和事件,如,外部突发性信号的检测,按键的检测和处理,定时计数,LED显示扫描等。一般情况下,中断程序应尽可能保证代码的简洁和短小,对于不需要实时去处理的功能,可以在中断中设置触发的标志,然后由主程序来执行具体的事务――这一点非常重要,特别是对于低功耗、低速的MCU来讲,必须保证所有中断的及时响应。
对于不同任务体的安排,不同的MCU其处理的方法也有所不同。例如,对于低速、低功耗的MCU(Fosc=32768Hz)应用,考虑到此类项目均为手持式设备和采用普通的LCD显示,对按键的反应和显示的反应要求实时性较高,应此一般采用定时中断的方式来处理按键的动作和数据的显示;而对于高速的MCU,如Fosc>1MHz的应用,由于此时MCU有足够的时间来执行主程序循环体,因此可以只在相应的中断中设置各种触发标志,并将所有的任务放在主程序体中来执行;
在MCU的程序设计中,还需要特别注意的一点就是:要防止在中断和主程序体中同时访问或设置同一个变量或数据的情况。有效的预防方法是,将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否执行该数据的相关操作;而在其他的程序体中(主要是中断),对需要进行该数据的处理的地方只设置触发的标志。――这可以保证数据的执行是可预知和唯一的。
免责声明:部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递 更多信息之 目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们 会尽快处理。官方所有内容、图片如未经过授权,禁止任何形式的采集、镜像,否则后果自负!