MCU

MCU是Microcontroller Unit(微控制器单元)的缩写,它是一种集成了中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/O)、定时器(Timer)、串行通信接口(UART、SPI、I2C等)和其他外围设备控制器的单个芯片。MCU通常用于嵌入式系统中,用于控制各种电子设备和系统。

由于其集成度高、体积小、功耗低以及成本相对较低等特点,MCU被广泛应用于各种嵌入式系统中,例如智能家居设备、医疗设备、汽车电子系统、工业自动化等。MCU的选择通常基于应用的需求,如处理性能、功耗、外设接口等因素。

选择适合某个产品使用的微处理器是一项艰巨的任务。不仅要考虑许多技术因素,而且要考虑可能影响到项目成败的成本和交货时间等商业问题。
  
在项目刚启动时,人们经常压抑不住马上动手的欲望,在系统细节出台之前就准备微控制器选型了。这当然不是个好主意。
  
在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。此时遵循以下10个简单步骤可确保做出正确的选择。
  
步骤1:制作一份要求的硬件接口清单

利用大致的硬件框图制作出一份微控制器需要支持的所有外部接口清单。有两种常见的接口类型需要列出来。第一种是通信接口。
  
系统中一般会使用到USB、I2C、SPI、UART等外设。如果应用要求USB或某种形式的以太网,还需要做一个专门的备注。这些接口对微控制器需要支持多大的程序空间有很大的影响。
  
第二种接口是数字输入和输出、模拟到数字输入、PWM等。这两种类型接口将决定微控制器需要提供的引脚数量。图1显示了常见的框图例子,并列出了对I/O的要求。

步骤2:检查软件架构
  
软件架构和要求将显著影响微控制器的选择。处理负担是轻是重将决定是使用80MHz的DSP还是8MHz的8051。就像硬件一样,记录下所有要求非常重要。
  
例如,是否有算法要求浮点运算?有高频控制环路或传感器吗?并估计每个任务需要运行的时间和频度。然后推算出需要多少数量级的处理能力。运算能力的大小是确定微控制器架构和频率的最关键要求之一。
  
步骤3:选择架构
  
利用步骤1和步骤2得到的信息,一个工程师应该能够开始确定所需的架构想法。8位架构可以支撑这个应用吗?需要用16位的架构吗?或者要求32位的ARM内核?在应用和要求的软件算法之间经常推敲这些问题将最终得出一个解决方案。
  
不要忘了还有未来的可能要求和功能扩展。只是因为目前8位微控制器可以胜任当前应用并不意味着你不应为未来功能扩展甚至易用性考虑16位微控制器。
  
记住,微控制器选型是一个反复的过程。你可能在这个步骤中选择了一个16位的器件,但在后面的步骤中发现32位ARM器件会更好。这个步骤只是让工程师有一个正确的考虑方向。
  
步骤4:确定内存需求
  
闪存(flash)和RAM是任何微控制器的两个非常关键的组件。确保程序空间或变量空间的充足无疑具有最高优先级。选择一个远多于足够容量的闪存和RAM通常是很容易做到的。
  
不要等到设计末尾时才发现你需要110%的空间或者有些功能需要削减,这可不是闹着玩的。实际上,你可以在开始时选择一个具有较大空间的器件,后面再转到同一芯片系统中空间更小些的器件。
  
借助软件架构和应用中包含的通信外设,工程师可以估计出该应用需要多大的闪存和RAM空间。不要忘了预留足够空间给扩展功能和新的版本!这将解决未来可能遇到的许多头疼问题。
  
步骤5:开始寻找微控制器
  
既然对微控制器所需功能有了更好的想法,现在就可以开始寻找合适的微控制器了!像艾睿、安富利、富昌电子等微控制器供应商是寻找微控制器的一个很好的起点场所。
  
与这些供应商的现场应用工程师讨论你的应用和要求,通常他们会向你推荐一款技术领先又能满足要求的新器件。不过要记住,他们可能有推销某个系列微控制器的冲动!
  
第二个最佳场所是你已经熟悉的芯片供应商。例如,如果你过去用过Microchip的器件,并有丰富的使用经验,那就开启他们的网站吧。
  
大多数芯片供应商都有一个搜索引擎,允许输入你的外设组合、I/O和功耗要求,搜索引擎会逐渐缩小器件范围,最终找出匹配要求的器件清单来。工程师随即可以在这个清单中仔细选择出最合适的一款微控制器。
  
步骤6:检查价格和功耗约束
  
到这时,选型过程应该得出许多潜在的候选器件了。这时应认真检查它们的功耗要求和价格。如果器件需要从电池和移动设备供电,那么确保器件低功耗绝对是优先考虑的因素。
  
如果不能满足功耗要求,那就按清单逐一向下排查,直到你选出一些合适的来。同时不要忘了检查处理器的单价。虽然许多器件在大批量采购时会接近1美元,但如果它是极其专用或高端的处理机,那么价格可能很重要。千万不要忘了这一关键要素。
  
步骤7:检查器件的可用性
  
至此你手头就有了一份潜在器件清单,接下来需要开始检查各个器件的可用程度如何。一些重要事项需要记住,比如器件的交货期是多少?是否在多个分销商那里都有备货,或者需要6至12周的交货时间?你对可用性有什么要求?你不希望拿到一份大定单却必须干等3个月才能拿到货吧。
  
接下来的问题是器件有多新,是否能够满足你的产品生命周期需要。如果你的产品生命周期是10年,那么你需要找到一种制造商保证在10年后仍在生产的器件。
  
步骤8:选择开发套件
  
选择一种新的微控制器的一个重要步骤是找到一款配套的开发套件,并学习控制器的内部工作原理。一旦工程师热衷于某种器件,他们应寻找有什么可用的开发套件。
  
如果找不到能用的开发套件,那么这种器件很可能不是一个好选择,工程师应该重新退回去寻找一款更好的器件。目前大多数开发套件不到100美元。支付比这个价格高的费用(除非这种套件能适应多种处理器模块)实在有些冤枉。换一种器件也许是更好的选择。
  
步骤9:调查编译器和工具
  
开发套件的选择基本上限制死了微控制器的选型。最后一个需要考虑的因素是检查可用的编译器和工具。大多数微控制器在编译器、例程代码和调试工具方面有许多选择。
  
重要的是确保所有必要的工具都可用于这种器件。如果没有得心应手的工具,开发过程将变得异常艰苦且代价高昂。
  
步骤10:开始试验
  
即使选定了微控制器,事情也不是说一成不变了。通常拿到开发套件的时间远早于第一个硬件原型建立的时间。要充分利用开发套件搭建测试电路、并将它们连接到微控制器。
  
选择高风险的器件,设法让它们与开发套件一起工作。随后你可能会发现,你认为能很好工作的器件存在一些不可预见的问题,然后被迫选择另外一种微控制器。
  
在任何情况下,早期的试验将确保你做出正确的选择,如果有必要做出改变,影响将降至最小!

围观 377

1、引言 

随着集成电路集成度的提高,越来越多的元件集成到芯片上,电路功能变得复杂,工作电压也在降低。当一个或多个电路里产生的信号或噪声与同一个芯片内另一个电路的运行彼此干扰时,就产生了芯片内的EMC问题,最为常见的就是SSN(Simultaneous Switch Noise,同时开关噪声)和Crosstalk(串音),它们都会给芯片正常工作带来影响。由于集成电路通过高速脉冲数字信号进行工作,工作频率越高产生的电磁干扰频谱越宽,越容易引起对外辐射的电磁兼容方面问题。基于以上情况,集成电路本身的电磁干扰(EMI)与抗扰度(EMS)问题已成为集成电路设计与制造关注的课题。

集成电路电磁兼容不仅涉及集成电路电磁干扰与抗扰度的设计和测试方法,而且有必要与集成电路的应用相结合。针对汽车电子领域来讲,将对整车级、零部件级的电磁兼容要求强制性标准,结合到集成电路的设计中,才能使电路更易于设计出符合标准的最终产品。作为电子控制系统里面最为关键的单元——微控制器(MCU),其EMC性能的好坏直接影响各个模块与系统的控制功能。

本文在汽车电子MCU 中采用抗EMI的设计方法,依据IEC61967传导测试标准,对汽车电子MCU进行电磁干扰的测试。

2、汽车电子MCU设计方法

下面介绍在汽车电子MCU中使用的可行性设计方法以及其他几种抗EMI设计技术。

2.1 时钟电路设计
  
由于时钟电路产生的时钟信号一般都是周期信号,其频谱是离散的,离散谱的能量集中在有限的频率上。又由于系统中各个部分的时钟信号通常由同一时钟分频、倍频得到,它们的谱线之间也是倍频关系,重叠起来进而增大辐射的幅值,因此说时钟电路是一个非常大的污染源。

针对汽车电子MCU 数字前端设计,在抗EMI方面采用门控时钟的方法改进。任何时钟在不需要时都应关闭,减低工作时钟引起的电磁发射问题。根据A8128(汽车电子MCU的型号)芯片系统功能设计要求,采用Run、Idle、Stop和Debug四种工作模式,在每一种工作模式下针对系统时钟、外设模块时钟进行适当门控。此外,还有几种在时钟方面常见的抗EMI的设计方法,包括:

①降低工作频率
  
MCU的工作时钟应该设定为满足性能要求所需的最低频率。从下面的测试结果可以看出,一个MCU的运行频率由80MHz变为10MHz,可以使频谱宽频范围内的干扰峰值产生几十dBμV 的衰减,而且能够有效的降低功耗。

②异步设计
  
异步电路工作没有锁定一个固有频率,电磁辐射大范围均匀分布而不会集中在特定的窄带频谱中。这一关键本质特征决定了即使异步电路使用大量的有源门电路,它所产生的电磁发射也要比同步电路小。

③扩展频谱
  
扩展频谱时钟是一项能够减小辐射测量值的技术,这种技术对时钟频率进行1%~2%的调制,扩散谐波分量,在CISPR16或FCC发射测试中峰值较低,但这并非真正减小瞬时发射功率。因此,对一些快速反应设备仍可能产生同样的干扰。扩展频谱时钟不能应用于要求严格的时间通信网络中,比如FDD、以太网、光纤等。

2.2 IO端口设计
  
在汽车电子MCU 的输入输出端口设计中,也加入了抗EMI方案,包括翻转速率(slew rate control)和驱动强度(drive strength)控制方法。通过在所有通用P口引入可配置的翻转速率和驱动强度寄存器,在需要的时候打开相应功能。翻转速率有打开和关闭两种选择,打开后能够有效地平缓上升沿或者下降沿,降低瞬态电流,进而控制芯片产生的电磁干扰强度。驱动强度有强驱动电流和弱驱动电流两种选择,在能够满足工作驱动强度的情况下,选择弱电流驱动会更好的控制电磁干扰现象。

另外,基于GSMC 180nm工艺库,选择具有施密特触发特性的IO,可以有效地平缓输入信号中带进来的尖峰或者噪声信号等,对芯片的电磁抗扰度有所帮助。

3、汽车电子MCU测试方案

IEC61967标准是国际电工委员会制定的有关集成电路电磁发射的标准,用于频率为150kHz到1GHz的集成电路电磁发射测试。标准中涉及到辐射和传导两类测试方法,由于传导方式的电磁干扰带给芯片应用上的影响更大一些,本次试验选取IEC61967-4直接耦合法进行测试。该方法又分为1Ω测试法和150Ω测试法,1Ω测试法用来测试接地引脚上的总干扰电流,150Ω测试法用来测试输出端口的干扰电压。

在测试时,需要在进行测试的电路中接入串联电阻为1Ω的电流探针(探针即为1Ω测试网络,已经集成在EMC测试板的芯片地端与PCB地平面之间),49Ω串联放置为了形成50Ω匹配,用接收机测量射频电流流经该电阻时产生的射频电压,所测得的电压应为所有流回到集成电路的射频电流在电流探头上产生电压的总和,测得的电压值可以换算为流过探针的电流,测试环境图如图1所示。

图1 1Ω测试环境

在150Ω测试中,集成电路的引脚通过标准规定的匹配网络接到测试接收机,通过150Ω探针(探针即为150Ω测试网络,已经集成在EMC测试板上)可以测量SSN在输入输出端口和电源两类引脚上的传导干扰,通过计算可以将接收机测量的电压转换为噪声电压幅值,测试环境图如图2所示。

图2 150Ω测试环境

下面是针对EMI进行的1Ω和150Ω测试步骤,包括测试前准备工作以及测试数据分析等。

3.1 测试前装备工作
  
①环境温度
  
本次实验集中在晚间进行,现场温度控制在23±2℃范围内,符合标准要求。
  
②环境噪声电平
  
将DUT(被测设备)固定在实验台上且为断电状态,用EMI接收机测量残留噪声。本次实验环境噪声电平在可接受的测试要求内,详情请参看图6。
  
③其他环境条件
  
所有其他可能影响测试结果的环境条件,例如环境湿度。本次实验所测得的相对湿度为45%RH左右。
  
④确认工作状态
  
给DUT供电并检查确认IC处于正常的工作状态,同时在实验时保持周围的测试条件不变。

3.2 1Ω测试
  
(1)将SMA连接线一端连接到测试板,另一端连接到接收机(安捷伦N9030,内置N141A电磁兼容测试软件),将EMI接收机的测量频率范围设置为150kHz到1GHz,根据标准对测试操作的要求,分成150kHz~30MHz(RBW 为9kHz)和30MHz~1GHz(RBW 为120kHz)两段。下面测试图中绿色边框范围内的是150kHz~30MHz,范围外的是30MHz~1GHz。

结合汽车电子MCU 端口特性以及标准要求,将接地端口与1Ω网络相连,再与SMA口相接,引入EMI接收机进行监控,原理图如图3、图4所示。

图3 芯片的地网络引脚

图4 1Ω网络

(2)选取可能影响EMC特性的因素,在时钟上分别测试10MHz、20MHz以及77MHz频率下电磁干扰大小数值,在测试功能上选取模数转换程序ADC;

(3)测量每一段频谱内可能出现的干扰,提取各个谐波的包络值,接收机的电压可以换算为流过探针的电流。测试仪器以及EMC测试板如图5所示;

图5 实际测试环境

(4)在对每个频率点测试的时候要进行多次测量,以便排除偶然因素的干扰。下面是各个测试情况的说明;

①时钟采用外部晶振10MHz,烧录SRAM 中的程序为ADC。图6左侧为未上电时的环境噪声信号,右侧为上电但未运行程序的测量结果。

图6 断电vs.上电

通过对比可以得出上电之后在整个频谱范围内干扰强度变大,时钟的固定周期将使电磁辐射集中在时钟基波和谐波附近很窄的频谱范围内。根据傅里叶级数展开公式可以得出,在时钟倍频处的频点其干扰值也越大,所以在10MHz、20MHz等倍频点处的现象更明显,为了进一步对比,运行ADC程序,分别在10MHz、20MHz以及77MHz时钟下进行测试,比较不同时钟接地引脚总干扰电流大小,测试结果如图7、图8、图9所示。

图7 10MHz—ADC测试图

图8 20MHz—ADC测试图

图9 77MHz—ADC测试图

图10 10/20/77MHz—ADC测试数据整理

图7、图8、图9分别是10MHz、20MHz和77MHz的测试图,图10是整理后的数据。通过对比可以得出,频谱大致集中在100MHz以内,在对应工作时钟的主频点处干扰值最大,10MHz、20MHz情况下在相应倍频点(如40MHz、60MHz等频点)附近的干扰值也比较集中。

提取数据得到10 MHz时峰值点为9.999MHz(62.643dBμV),20 MHz 时的峰值点为20.002MHz(61.692dBμV),77MHz时的峰值点为19.264MHz(48.049dBμV)以及77.042MHz(47.316dBμV)。可以看出,77MHz时干扰强度和密度反而要弱于20MHz,可能是由于77MHz是MCU工作的极限时钟,此时工作性能受到一定影响,导致测试的结果有所不同。

③由于汽车电子MCU的工作时钟可以选择外部晶振或者内部PLL倍频,所以要对两种情况分别测试,以便比较是否有差别。运行ADC程序后的测试结果如图11所示。

图11 PLL vs.外部晶振(10MHz)

从图11中可以看出,在频谱范围内各个峰值点的分布大致相同,整个频谱范围内没有明显差异,MCU通过外部晶振或PLL倍频两种方式测得的结果基本一致,时钟源选择上不会对芯片的电磁干扰强度带来影响。

3.3 150Ω测试
  
(1)设备装置连接同1Ω测试法的步骤①;
  
(2)根据芯片电源类型,电源分为4路,分别是VDD1(数字IO 供电的5V 电源信号)、VDD2(为ADC和PLL供电的LDO 的5V 电压)、VDD3(数字逻辑LDO的5V电压输入)和VDD4(Flash的5V电压输入)。可单独对每一路电源的干扰噪声进行捕捉,连接方式与1Ω 测试法步骤②相同,如图12所示;

图12 VDD连接150Ω网络145

(3)根据汽车电子MCU应用特点,选取最为典型的PWM、CAN 程序,为了方便以后对众多引脚进行单独测量,将P0、P1、P2(P3未涉及到外设功能复用)端口共24个引脚进行了开关控制,再通过150Ω耦合网络连接到EMI接收机,图13是P0端口的电路原理图,P1和P2的原理图同P0。

图13 IO-P0连接150Ω网络

(4)重复测试多次,得到较多测试样本,经过整理,下面是各个测试情况的说明。
  
①从电源端口结果来看,区别很小,下面以VDD1为例进行分析说明。VDD1测试选取了ADC和counter(数字计数器)的程序,以比较不同类别的程序对数字供电是否有影响,测试结果如图14、图15所示。

在10MHz和20MHz时钟上对比,ADC最高峰值分别为35.827dBμV、43.517dBμV;counter的最高峰值为35.899dBμV、43.271dBμV。可以得出频率越高,干扰强度越大。但就两类程序横向对比来看,结果基本上一致。另外还发现60~300MHz和550~650MHz两处集中的干扰频谱,可见电源处的干扰在高频附近比较明显。

②PWM 功能测试
  
双通道模式下,在不同占空比和周期大小情况下,测试对应P口引脚处传导发射强度的大小,测试结果如图16、图17所示。

从图16中的干扰密度可看出时钟对电磁干扰影响程度。在图17中,由于period和duty较长,测试结果相差不大,此时时钟频率变成次要因素,主要因素取决于输出引脚处高低电平变化周期长短。

③CAN功能测试
  
运行Loopback(回路模式)程序,在不同时钟频率下进行比较,测试结果如图18、图19所示。

从图16~19中观察,随着时钟频率变大,TX和RX端口的传导辐射强度也变大。对于RX端口,10/40MHz频点附近的干扰密度比较大,且在40MHz时候现象更明显,捕捉到连续三个频点(图18右侧标注),分别是39.060 MHz(71.063dBμV)、39.360MHz(67.447dBμV)、40.020MHz(39.171dBμV),两个时钟下的峰值都在70~85dBμV 之间,但一般都在10MHz以下,应该是受低频某一频点的影响较明显。

对于TX端口,10/40MHz频点附近的干扰密度没有RX明显,峰值也都在70~85dBμV 之间,且发生在10MHz以下,和RX的特点大致相同。

4、测试结果分析
  
从测试数据结果可以总结出以下几点:
  
①在时钟频率上,从10 MHz到40 MHz、77MHz,干扰强度或是密度在整体上都会增加,可以是一小段频谱或者是整个频谱范围内,这与测试对象关系比较大。分析原因不难发现,由于时钟电路产生的时钟信号一般都是周期信号,其频谱是离散的,离散谱的能量集中在有限的频率上,又由于系统中各个部分的时钟信号通常由同一时钟分频、倍频得到,它们的谱线之间也是倍频关系,会重叠起来进而增大辐射的幅值。

②在程序烧写方式上,外部晶振或PLL倍频两种方式测得的结果基本一致,整个频谱范围内没有明显差异,时钟源选择上不会对芯片的电磁干扰强度带来影响。

③从VDD1测试结果来看,除了得出频率越高,干扰强度越大之外,还发现出现干扰的频谱范围分别在60~300MHz和550~650MHz两处,可见电源处的干扰在高频附近比较明显。

④对于PWM 功能,通过配置输出波形周期和占空比大小,会导致在不同时钟下产生的电磁干扰强度有所差异。由于双通道模式下寄存器为16bit(原单通道模式为8bit),此时周期和占空比可配置的数值变大,PWM 波输出引脚处的高低电平翻转周期就取决于周期和占空比的设置,与时钟的关系变得没有之前如此紧密,时钟变成了次要因素。由此建议在满足功能要求的前提下,使用PWM 功能时尽量将周期和占空比数值变得大一些,这样会较好地改进EMC性能;

⑤对于CAN 总线来讲,通过10 MHz和40MHz时钟对比,当合理地降低时钟工作频率,会使一大段频谱范围内的干扰值降低,从整体上较好的控制EMI带来的影响。

5、 结束语
  
对于微电子行业来说,芯片级电磁兼容性的设计与测试已经成为一个非常重要的主题。实际上,如果不对集成电路电磁辐射及抗扰度方面进行深入的研究,就很难满足电子设备电磁兼容性方面的需要。本文通过对设计方法的引入,并进一步通过测试方案去总结归纳影响电磁发射的因素和原因,从而间接证明了设计方法的必要性和重要性。

围观 452

汽车电子行业是将电子信息技术应用到汽车所形成的新兴行业。从广义上讲,汽车电子从基础元器件、电子零部件、车载电子整机、机电一体化的电子控制系统(ECU)、整车分布式电子控制系统、与汽车电子有关的车外电子系统等软硬件。从系统看包括零部件系统、车内、车际网络。

一、概述

近二三十年来,随着电子信息技术的快速发展和汽车制造业的不断变革,汽车电子技术的应用和创新极大地推动了汽车工业的进步与发展,对提高汽车的动力性、经济性、安全性,改善汽车行驶稳定性、舒适性,降低汽车排放污染、燃料消耗起到了非常关键的作用,同时也使汽车具备了娱乐、办公和通信等丰富功能。

现代汽车电子集电子技术、汽车技术、信息技术、计算机技术和网络技术等于一体,包括基础技术层、电控系统层和人车环境交互层三个层面,经历了分立电子元器件控制、部件独立控制及智能化、网络化集成控制应用三个发展阶段。目前汽车电子产品可以分为电子控制系统和车载电子装置两大类,其中电子控制系统性能直接决定着汽车整车的性能。

随着汽车电子技术的发展,越来越多的ECU控制单元被应用在汽车中,网络总线系统作为汽车控制网络平台,所有的ECU控制单元和车载电器都将逐步搭载到汽车网络平台上,以达到数据信息共享、实现全车智能化控制。在汽车朝着综合集成控制发展的趋势下,车载网络总线系统作为汽车全车控制网络及通信平台,对汽车全车通信、智能化控制及提升整车性能、安全性、操控性愈加至关重要。

二、汽车电子技术的发展情况

(一)行业现状

市场情况世界汽车电子产业的发展与汽车工业的发展密切相关,美国、欧洲、日本是全球传统的主要汽车市场,也是汽车电子产业的技术领先者,掌握着国际汽车电子行业的核心技术与市场发展优势。目前全球汽车电子产品主要市场仍集中于欧洲、北美、日本等地区,但是随着汽车制造产业向新兴国家和地区的逐步转移,中国、印度、南美等发展中国家和地区汽车电子新兴市场正快速发展。

当前新能源汽车中汽车电子成本占比已经达到47%,随着新能源汽车产量逐渐增加,汽车电子单车产值仍将持续提升。在不同档次和科技含量的汽车中,汽车电子在整车成本中的占比情况如下:

(二)行业特点

1、重视安全、环保和节能

汽车电子的应用是解决安全、环保、节能的主要技术手段,例如:在节能方面,世界主要汽车生产国开始研究和应用电子模块控制的混合动力轿车、氢燃料电池混合动力轿车及纯电动轿车等。

2、传感器性能不断提高、数量不断增加

由于汽车电子控制系统的多样化,使其所需要的传感器种类、数量不断增加,并不断研制出新型、高精度、高可靠性、低成本和智能化的传感器。在性能上,具有较强的抵抗外部电磁干扰的能力,保证传感器信号的质量不受影响,在特别严酷的使用条件下能保持较高的精度;在结构上,具有结构紧凑、安装方便的优点,从而免受机械特性的影响。

3、车用微处理器不断升级换代

随着汽车电子占整车比重不断提高,MCU(微控制单元)在汽车领域的应用将超过家电和通讯领域使用的数量,成为世界上最大的MCU应用领域。

4、数据总线技术应用日益普及

大量数据的快速交换、高可靠性及廉价性是对汽车电子网络系统的要求。汽车内部网络的构成主要依靠总线传输技术,其优点为:减少线束的数量和线束的容积,可提高电子系统的可靠性和可维护性;采用通用传感器达到数据共享的目的;通过系统软件实现系统功能的变化,以改善系统的灵活性等。

5、智能汽车及智能交通系统(ITS)开始应用

以卫星通信、移动通信、计算机技术为依托进行车载电子产品的开发和应用,实现计算机、通讯和消费类电子产品“3C”整合。如:车辆定位、自主导航、无线通讯、语音识别、出行信息通报、电子防撞产品、车路通讯以及多媒体车载终端等。

6、新技术在汽车电子产品中不断得到应用

光纤在汽车信号传输中的应用、新的控制理论和方法的大量应用、蓝牙技术等都是汽车电子技术的发展趋势。
国际汽车巨头纷纷将更多的电子信息技术设备装备到整车中,而电子信息技术设备供应商也纷纷将下一个经济增长点定位在汽车电子行业上。摩托罗拉公司认为,汽车技术发展至今,有70%的创新来源于汽车电子。汽车电子专业厂商保持快速的增长势头,而经营电子产品的跨国公司也纷纷涉足汽车电子行业,使汽车电子成为相对独立的新兴行业。

(三)行业细分

从用途来看,汽车电子可以分为四大类:动力控制系统、安全控制系统、通讯娱乐系统与车身电子系统等。汽车行业随着信息技术与消费电子等应用逐步渗透其中,传统汽车行业或将面临来自移动互联网、消费电子行业等新型行业的冲击。

1、动力控制系统

主要指基于汽车发动机、变速箱等动力系统的传感器、控制系统等,通常用于进行发动机燃烧控制,汽车尾气循环处理(如废气再循环EGR),自动变速箱控制(自动/手自一体)。

2、安全控制系统

分为主动安全系统与被动安全系统,主动安全控制系统是以提高汽车的主动安全性能为主要目标的控制系统,被动安全控制系统是使车辆在事故发生时大幅减低碰撞强度的控制系统。主动安全系统包括汽车安全驾驶辅助系统、防抱死制动系统ABS、制动辅助系统BAS、驱动防滑装置ASR、电子制动辅助系统EBA、电子稳定程序ESP、车辆偏离警告系统、碰撞规避系统、胎压监测系统TPMS、自动驾驶公路系统等。被动安全系统包括安全气囊、预警式安全带等。

3、通讯娱乐系统

车载信息系统(运用计算机、卫星定位、通讯、控制等技术来提供安全、环保及舒适性功能和服务的汽车电子设备)、车载音响、车载电视、车载导航(GPS)等。

4、车身电子系统

转向控制、仪表仪盘、空调控制系统、汽车防盗系统、中控锁等。

通讯娱乐系统与车载电子系统开始步入增长期。根据德勤报告的数据显示,预计2012-2016E通讯娱乐系统年复合增长率将达10.8%,为各细分行业中年复合增长率最快,安全控制系统年复合增长率将为10.2%,位居第二。

围观 481

低功耗是MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验。
  
平时我们在做产品的时候,基本的功能实现很简单,但只要涉及低功耗的问题就比较棘手了,比如某些可以低到微安级的MCU,而自己设计的低功耗怎么测都是毫安级的,电流竟然能够高出标准几百到上千倍,遇到这种情况千万不要怕,只要认真你就赢了。下边咱们仔细分析一下这其中的原因。
  
第一条:掐断外设命脉——关闭外设时钟
  
先说最直观的,也是工程师都比较注意的方面,就是关闭MCU的外设时钟,对于现在市面上出现的大多数的MCU,其外设模块都对应着一个时钟开关。只需要打开这个外设的时钟,就可以正常的使用这个外设了,当然,此外设也就会产生相应的功耗;反之,如果想要让这个外设不产生功耗,只需关闭它的时钟即可。
  
第二条:让工作节奏慢下来——时钟不要倍频
  
除了外设模块功率消耗之外,还有一个功耗大户需要注意一下,这就是PLL和FLL模块。PLL和FLL主要是用来对原始的时钟信号进行倍频操作,从而提高系统的整体时钟,相应的,其功耗也会被提上去。所以在进入低功耗之前,需要切换是种模式,旁路掉PLL和FLL模块,从而尽可能的降低MCU的功耗,等到MCU唤醒之后再把时钟切换回去。
  


  
第三条:围堵涓涓细流——注意I/O口的电平状态
  
如果认为只要关闭外设时钟就能够保证外设不再耗电,那么你就太天真了。如果IO口没有做好处理的话,它就会在暗地里偷走功耗,而你却浑然不知。具体原因是这样的,一般的IO的内部或者外部都会有上下拉电阻,举个例子,如下图所示,假如某个IO口有个10KΩ的上拉电阻,把引脚拉到3.3V,然而当MCU进入低功耗模式的时候,此IO口被设置成输出低电平,根据欧姆定律,此引脚就会消耗3.3V/10K=0.33mA的电流,假如有四、五个这样的IO口,那么几个mA就贴进去了,太可惜了。所以在进入低功耗之前,请逐个检查IO口的状态:
  
如果此IO口带上拉,请设置为高电平输出或者高阻态输入;
  
如果此IO口带下拉,请设置为低电平输出或者高阻态输入;
  

  
总之一句话,不要把上好的电流浪费在产生热量的功能上,咱可不靠这点温度去暖手。
  
第四条:睦邻友好合作——注意I/O与外设IC的统筹
  
IO口的上下拉电阻消耗电流这一因素相对比较明显,下边咱来说一个不明显的因素:IO口与外部IC相连时的电流消耗。假如某个IO口自带上拉,而此与IO相连的IC引脚偏偏是自带下拉的,那么无论这个引脚处于什么样的电平输出,都不可避免的产生一定的电流消耗。所以凡是遇见这一类的情况,首先需要阅读外设IC的手册,确定好此引脚的的状态,做到心中有数;然后在控制MCU睡眠之前,设置好MCU的IO口的上下拉模式及输入输出状态,要保证一丝儿电流都不要被它消耗掉。
  
第五条:断开调试器连接,不要被假象所迷惑
  
还有一类比较奇特,检测出来的电流消耗很大,可实际结果是自己杞人忧天,什么原因呢?是因为在测试功耗的时候MCU还连接着调试器呢!这时候大部分电流就会被调试器给掳走,平白无故的让工程师产生极度郁闷的心情。所以在测低功耗的时候,一定不要连接调试器,更不能边调试边测电流。
  
总结
  
MCU的低功耗设计是一个细致活,要养成良好的习惯,做到每添加一个功能都要重新验证一下低功耗是否符合要求,这样就可以随时随地干掉消耗功率的因素。如果把所有功能都设计好了才去考虑低功耗的问题,一个不小心,就可能要更改程序的架构——即便如此也不一定能把功耗给彻底降下去。
围观 284

新一代年轻消费族群对于生活品质的需求逐渐提高,不仅小米要发展智能家居,中兴通讯也在于近日在北京揭晓智"智能家居"将成为市场主流,而智能家居的崛起也必然引爆MCU(Micro controller Unit,微控制器)的需求量迅速攀升,众多MCU厂商可望迎来庞大商机。

智能家居所需要的IC芯片与物联网主流芯片基本上是一致的,物联网的数据处理、加工、传输都离不开MCU,在物联网(IoT)发展趋势之下,节能、安全感测、3C产品、医疗及汽车电子应用等,均已成为MCU的热门应用领域。

MCU为未来每一个物联网设备的关键组件之一,也是数百亿个物联网终端节点的布建基础,负责智能控制、网路连结、无线传输、人机界面互动系统,举凡玩具、家电、汽车等都不难见其踪迹。

工业物联网、穿戴式装置和智能家居为目前微控制器(MCU)市场的主要驱动力,而32位更是当前驱动MCU成长的重要领域,尽管8位仍有一席之地,但随着物联网对数据处理能力要求越来越高,32位MCU势必将成为市场上主流。

事实上,32位MCU已经在电机及变频控制、安防监控、指纹辨识、触控按键等应用发挥重要的作用,以2015年统计数据来看,去年全年全球32位MCU的出货量,已经超过4/8/16位MCU的总和,可见得随着家电产品智能化水平的提高,以及人机接口和讯息交互的需求上升,32位高性能应用已经有显着的优势。

不可否认的,未来MCU市场成长动能来源将倚靠「智能家居」的带动,全球最大市调机构GFK就披露,全球7个国家的7000个消费者中,有50%消费者认为智能家居会对他们生活造成影响,而这些人中又以中国消费者占比最高,这意味着中国有越来越多家庭对于高价智能家电日益青睐,未来普通家电产品和智能家电的价差可望逐渐缩小,这个市场将有不容小觑的成长爆发力。

根据研究机构Researchand Markets报告显示,未来五年全球智能家居设备和服务市场将每年以8%~10%的速度增长,随着中国经济的稳步发展,预计2016年、2017年中国的智能家居市场规模复合增长率将超过20%,将为MCU带来庞大的市场需求。

随着物联网的飞速发展,使得智能家居得以同步成长,当前有越来越多的企业正加大努力进入新的市场领域,国外大厂像是高通、NXP、ARM、MarWell、Atmel和意法半导体等,国内厂商包括联发科、灵动微、新唐等皆积极抢攻MCU市场大饼。

围观 352

选择适合某个产品使用的微处理器是一项艰巨的任务。不仅要考虑许多技术因素,而且要考虑可能影响到项目成败的成本和交货时间等商业问题。

在项目刚启动时,人们经常压抑不住马上动手的欲望,在系统细节出台之前就准备微控制器选型了。这当然不是个好主意。

在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。此时遵循以下10个简单步骤可确保做出正确的选择。

步骤1:制作一份要求的硬件接口清单

利用大致的硬件框图制作出一份微控制器需要支持的所有外部接口清单。有两种常见的接口类型需要列出来。第一种是通信接口。

系统中一般会使用到USB、I2C、SPI、UART等外设。如果应用要求USB或某种形式的以太网,还需要做一个专门的备注。这些接口对微控制器需要支持多大的程序空间有很大的影响。

第二种接口是数字输入和输出、模拟到数字输入、PWM等。这两种类型接口将决定微控制器需要提供的引脚数量。图1显示了常见的框图例子,并列出了对I/O的要求。


图1:硬件功能清单

步骤2:检查软件架构

软件架构和要求将显著影响微控制器的选择。处理负担是轻是重将决定是使用80MHz的DSP还是8MHz的8051。就像硬件一样,记录下所有要求非常重要。

例如,是否有算法要求浮点运算?有高频控制环路或传感器吗?并估计每个任务需要运行的时间和频度。然后推算出需要多少数量级的处理能力。运算能力的大小是确定微控制器架构和频率的最关键要求之一。

步骤3:选择架构

利用步骤1和步骤2得到的信息,一个工程师应该能够开始确定所需的架构想法。8位架构可以支撑这个应用吗?需要用16位的架构吗?或者要求32位的ARM内核?在应用和要求的软件算法之间经常推敲这些问题将最终得出一个解决方案。

不要忘了还有未来的可能要求和功能扩展。只是因为目前8位微控制器可以胜任当前应用并不意味着你不应为未来功能扩展甚至易用性考虑16位微控制器。

记住,微控制器选型是一个反复的过程。你可能在这个步骤中选择了一个16位的器件,但在后面的步骤中发现32位ARM器件会更好。这个步骤只是让工程师有一个正确的考虑方向。

步骤4:确定内存需求

闪存(flash)和RAM是任何微控制器的两个非常关键的组件。确保程序空间或变量空间的充足无疑具有最高优先级。选择一个远多于足够容量的闪存和RAM通常是很容易做到的。

不要等到设计末尾时才发现你需要110%的空间或者有些功能需要削减,这可不是闹着玩的。实际上,你可以在开始时选择一个具有较大空间的器件,后面再转到同一芯片系统中空间更小些的器件。

借助软件架构和应用中包含的通信外设,工程师可以估计出该应用需要多大的闪存和RAM空间。不要忘了预留足够空间给扩展功能和新的版本!这将解决未来可能遇到的许多头疼问题。

步骤5:开始寻找微控制器

既然对微控制器所需功能有了更好的想法,现在就可以开始寻找合适的微控制器了!像艾睿、安富利、富昌电子等微控制器供应商是寻找微控制器的一个很好的起点场所。

与这些供应商的现场应用工程师讨论你的应用和要求,通常他们会向你推荐一款技术领先又能满足要求的新器件。不过要记住,他们可能有推销某个系列微控制器的冲动!

第二个最佳场所是你已经熟悉的芯片供应商。例如,如果你过去用过灵动微电子的器件,并有丰富的使用经验,那就开启他们的网站吧。

大多数芯片供应商都有一个搜索引擎,允许输入你的外设组合、I/O和功耗要求,搜索引擎会逐渐缩小器件范围,最终找出匹配要求的器件清单来。工程师随即可以在这个清单中仔细选择出最合适的一款微控制器。

步骤6:检查价格和功耗约束

到这时,选型过程应该得出许多潜在的候选器件了。这时应认真检查它们的功耗要求和价格。如果器件需要从电池和移动设备供电,那么确保器件低功耗绝对是优先考虑的因素。

如果不能满足功耗要求,那就按清单逐一向下排查,直到你选出一些合适的来。同时不要忘了检查处理器的单价。虽然许多器件在大批量采购时会接近1美元,但如果它是极其专用或高端的处理机,那么价格可能很重要。千万不要忘了这一关键要素。

步骤7:检查器件的可用性

至此你手头就有了一份潜在器件清单,接下来需要开始检查各个器件的可用程度如何。一些重要事项需要记住,比如器件的交货期是多少?是否在多个分销商那里都有备货,或者需要6至12周的交货时间?你对可用性有什么要求?你不希望拿到一份大定单却必须干等3个月才能拿到货吧。

接下来的问题是器件有多新,是否能够满足你的产品生命周期需要。如果你的产品生命周期是10年,那么你需要找到一种制造商保证在10年后仍在生产的器件。

步骤8:选择开发套件

选择一种新的微控制器的一个重要步骤是找到一款配套的开发套件,并学习控制器的内部工作原理。一旦工程师热衷于某种器件,他们应寻找有什么可用的开发套件。

如果找不到能用的开发套件,那么这种器件很可能不是一个好选择,工程师应该重新退回去寻找一款更好的器件。目前大多数开发套件不到100美元。支付比这个价格高的费用(除非这种套件能适应多种处理器模块)实在有些冤枉。换一种器件也许是更好的选择。

步骤9:调查编译器和工具

开发套件的选择基本上限制死了微控制器的选型。最后一个需要考虑的因素是检查可用的编译器和工具。大多数微控制器在编译器、例程代码和调试工具方面有许多选择。

重要的是确保所有必要的工具都可用于这种器件。如果没有得心应手的工具,开发过程将变得异常艰苦且代价高昂。

步骤10:开始试验

即使选定了微控制器,事情也不是说一成不变了。通常拿到开发套件的时间远早于第一个硬件原型建立的时间。要充分利用开发套件搭建测试电路、并将它们连接到微控制器。

选择高风险的器件,设法让它们与开发套件一起工作。随后你可能会发现,你认为能很好工作的器件存在一些不可预见的问题,然后被迫选择另外一种微控制器。

在任何情况下,早期的试验将确保你做出正确的选择,如果有必要做出改变,影响将降至最小!

围观 368

原子读操作是在MCU并发编程中常用的操作,简单举个例子来阐述问题:

我们使用RTOS或裸机状态编程时,必然需要一个全局时钟基准,通常是在一个定时器中断中累加实现,简化代码如下:

static unsigned long volatile __jiffies = 0; /* 全局时钟基准节拍累加器 */

ISR_TIMER() /* 定时中断服务函数 */
{
++__jiffies;
/* 其它代码...: */
}

对于其中的__jiffies变量,就是全局时间基准,程序中其它地方都会对其进行原子读操作来判断时间,典型的接口实现如下:

unsigned long get_jiffies(void)
{
unsigned long tmp;

CLOCK_IRQ_DIS(); /* 关定时中断 */
tmp = __jiffies;
CLOCK_IRQ_EN(); /* 开定时中断 */

return tmp;
}

请注意,其中关于对中断的开关是对该定时中断中所有代码会带来影响。如果在RTOS中,关中断的时间是一种重要性能指标,决定了整个系统的中断快速响应能力。

在此假设一个最艰难的架构,8位机(AVR、51等等),其上只有8位单字节数据的读写是单指令原子的,其中unsigned long型在这样的架构下是32位8字节。

根据各位朋友提出情况,进行说明:

1、有朋友认为读操作没必要关中断.

这个显然不可能,当你读了32位变量任何一个字节的时候,剩下的7个字节都可能改变。

2、认为在中断函数建立数据拷贝

这个理由同上,无论如何复制,都难以避免读的瞬间数据被破坏

3、建立单字节原子锁

该体系必须支持测试清零指令,而且就算支持。如果中断里发现锁被占有了,那这个周期还能进行+1操作么?无论是用变量缓存还是丢弃,所记时间都不准了。

实现如下:

unsigned long get_jiffies(void)
{
unsigned long tmp;

do {
tmp = __jiffies;
} while(tmp != __jiffies);

return tmp
}

简单得大家可能都不相信,可以满足任何MCU架构完成如上对__jiffies变量的操作(必须单核),大家可以仔细想想。

无锁单读单写队列是MCU上经常用的,对中断通信接口的缓冲非常方便可靠。以此为基础,可跨平台实现。

来源:网络(版权归原著作者所有)

围观 502

作者:代文豪、罗克露、雷健

在不断的发展的 MCU 嵌入式系统领域中,软件危机所带来的危害也日渐显现。如何利用软件重用的相关方法来解决这一问题成为当今研究的热点。领域分析是识别、捕捉、组织、分析和表示软件域中相关信息,确定软件的体系结构、框架和构件,以支持软件重用的软件工程过程,是解决重用问题的关键技术之一。通过对领域分析的相关概念、方法、过程以及产品的研究,从而得出在 MCU 嵌入式系统领域进行领域分析的相关方法以及经验。

1、前言

MCU(Micro Controller Unit),又称单片机(Single Chip Microcomputer),是指随着大规模集成电路的出现及其发展,将计算机的 CPU、RAM、ROM、定时数器和多种 I/O 接口集成在一片芯片上,形成芯片级的计算机。当前 MCU 嵌入式系统之间各自封闭开发,不同系统之间的重复工作比较多,大大增加了软件开发的成本和周期,同时系统的可靠性却得不到保证,MCU 嵌入式开发面临着软件规模和复杂性迅速扩大、开发时间紧张,同时又要保证开发质量的问题。因此,迫切需要新的嵌入式软件开发技术。

1968 年,Mellroy 在其论文“大量生产的软件构件”中首次提出软件复用的思想,其目的在于探索利用“为了复用目的而设计的软件成分”生产软件的过程,得到人们的高度关注。在各种软件重用方法中,基于构件的软件开发技术(Component-Based Software Development CBSD)也是人们研究的热点,并且在实践中也取得了良好的效果。

构件化的软件过程可以分成领域工程(开发构件)和应用过程(使用构件开发应用程序)两个独立的子过程。领域工程是可复用软件资产生产的主要技术手段,它包含领域分析、领域设计和领域实现 3 个阶段。在整个软件的复用过程中,领域分析是其关键,只有通过领域分析才能得到相似系统中的可复用资产(领域模型、软件体系结构、可复用构件等)从而进一步支持领域中新系统开发的复用。因此形成在 MCU 嵌入式系统中的有效的领域分析方法是极为重要的。

2、MCU 嵌入式系统开发模式及现状

2.1 MCU 嵌入式系统开发的模式

目前 MCU 嵌入式系统的软件流程基本以包含人机界面处理的主流程(缓处理)、外部非同步中断处理(急处理)、时序输入为中心,再加上机芯控制处理(按照一定规则处理)等各种其他控制组成。MCU 每完成一种功能,其处理过程都遵循 IPO 模式(Input,Process,Output),如图 1 所示。

图 1 IPO 模式

对于每个模式来说,它的输入参数,输出结果都是固定的格式,所以对于一个成熟的模式来说,它的行为是确定的,约束是明确的。因为这些特点,可以很明显地观察到MCU 嵌入式系统领域所具有的内聚性,和稳定性。

因为领域的内聚性,我们可以使用相对较少的、有限的可复用信息来反应整个领域的需求,以及应用。因为领域的稳定性,我们通过领域工程所得到的成果,可以对进行领域工程所花费的人力、物力在将来的工作中得到补偿。

2.2 MCU 嵌入式系统开发的现状

MCU的应用能够深入人类生活的各个方面,关键的原因在于能够通过对软件的灵活定制以达到不同的功能从而针对不同的应用。随着功能的日益增长,MCU 嵌入式系统的开发难度也随之加大。如果内藏ROM 容量在8K 字节之内,有经验的技术人员可以单独一人花费2-3 月用汇编语言进行软件开发,而超过16K 的ROM 想要单独完成会更有困难。特别在消费电子领域,产品的更新换代从以前的年为单位到现在的以月甚至以周为单位,这
导致在以产品质量为生命的企业中,发生质量问题而不得不大量召回产品造成巨大损失的情况屡见不鲜。值得注意的是,在开发中,有经验的开发者通常会选择性的复用以前的工作成果(代码、软件体系、工具、文档),但这种复用一般是个人的,复用的来源也是个人以前的经验成果。在一个特定的领域中,例如一个企业中,这样的复用是经常性的,它们有着以下的特点:

1、一个领域内可复用的资源和复用的机遇是非常多的,但通常情况下无法对可复用资源进行管理,无法决定何时复用以及复用的方式,从而无法对产品的质量进行有效控制。

2、一个领域内掌握某种复用资源的往往是个体,复用资源无法共享,造成资源的浪费和生产力不能进一步的提高。

3、由于掌握资源的个体的离开,导致资源的损失;新加入的个体无法系统地取得这些资源,而导致工作效率的降低。

这种复用被称为个人复用(ad-hoc reuse)。如果能够对领域内资源进行有效的整合,通过更有效的方式进行管理、复用,将能进一步提高软件产品的生产效率、降低生产成本以及提高产品的质量,这种方式被称为系统复用(systematic reuse)。领域工程正为解决这一系列的问题提出了解决方案。

3、领域工程与领域分析

3.1 领域的含义

领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能、问题、问题解决方案或知识区域。领域可分为水平领域和垂直领域:水平领域是指根据应用系统内部模块的功能性分类而得到的相似问题空间,如数据库系统、工作流系统等;垂直领域是指具有相似业务需求的一组相似应用系统所覆盖的业务区域,而我们的MCU 嵌入式系统领域则属于垂直领域。

3.2 领域工程

领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可重用的软件构件的所有活动。领域工程对领域中的系统进行分析,识别这些应用的共同特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生领域中应用共同具有的体系结构,即特定领域的软件体系结构(Domain Specific Software Architecture DSSA),并以此为基础,识别、开发和组织可复用构件。

在进行领域工程的活动中,通过对领域相关知识进行系统的交叉对比,能够形成一系列的标准。这些标准对构件的选用,以及新构件的产生形成规约,从而指导和规范新产品的开发。同时,由于这些选择是经过了长期时间和实践的论证,所以这些标准也是具有科学性的。当我们要进行同一领域新系统的开发时,只需要根据领域模型,确实新的需求规约,再根据特定领域的软件体系结构形成新的系统设计,并依据相关的标准选取,构造构件,组装到新系统中。这样新系统的质量以及开发效率都将得到可靠的保障,公司也能通过对行为的规范对整个开发流程进行管理、监控。

3.3 领域分析的含义及方法

在系统化的软件复用中,充分的可复用信息的存在是非常重要的。这些信息需要被显示地表示,以便在开发过程中被复用。这些可复用信息,和为方便地定位和操作它们的一些辅助信息一起构成了复用基础设施。领域分析的目的是为了建立这些可复用的基础设施,它的含义是指“识别、捕获和组织特定领域中一类相似系统内对象、操作等可复用信息的过程” 。

领域分析的三个关键过程为:①领域边界确立:通过对已有技术资料,典型系统的分析上,综合领域专家的意见,定义出领域分析的范围和边界,同时收集开展领域分析工作的必要信息;②领域建模阶段:根据在领域边界确立阶段得到的领域边界以及收集到的领域内相关信息,利用相应的建模知识和工具建立具备描述领域内应用系统数据和能力共性与变化性特征的领域模型;③软件体系结构建模阶段:通过已经得到领域模型,以及领域内设计的相关标准建立描述领域内特定问题解决方案的软件体系结构模型(DSSA)。

4、MCU 嵌入式系统领域分析方法

4.1 MCU 嵌入式系统领域的领域边界确定

在这里,并不是打算选择一个适合所有MCU 系统开发的领域,而是选择一个相对狭小的领域,如家电制造行业中的空调行业。在这样的行业中,由于产品要实现的基本功能在很长一段时间内基本固定,客户的需要相对稳定,使得针对同类产品的领域中,有很多的功能是相同的,软件的体系结构是相同的。这为领域分析提供了非常有利的条件。在对这些领域进行分析的时候,资料主要来源于本领域中的典型系统、领域专家的建议、工程师的经验、客户需求、硬件厂商提供的开发包、控制理论、该领域的发展历史以及发展趋势等。当收集完这些资源后也就够成了领域分析的上下文环境,也就是领域的边界。

4.2 MCU 嵌入式系统领域的领域建模

领域模型的意义在于对领域的信息通过组织,以一种令人更容易接受的方式所表现出来。它包括形式化的模型和非形式化的信息,前者是一种对解决方案的描述,后者是对领域知识的补充。对于我们所选择的领域来说,一个具体行业的软件体系结构本身就是相对稳定的,对于具体的每款产品,实现的功能会有一些细小的差别。常见的情况是,当一个原型机出现后,会在原型机上进行诸多的改款,以适应市场客户不同的需要。所以针对于这样的领域特点,我们对这阶段的过程有如下的建议:

1、形式化的模型:采取面向特征的领域模型。特征的定义一般来说是用户或客户可感知的系统特点。但各个组织也可以根据自身的特点来组织选择领域模型。

2、领域字典:领域字典是通过和领域专家的对话,以及对相关的标准进行分析而得到。领域字典的作用是为领域的参与者提供一个准确方便的交流环境。

3、统一的标识:利用一种标准化的,通用的符号系统对领域内的概念进行描述。

4.3 MCU 嵌入式系统领域的软件体系结构

DSSA(特定领域的软件体系结构)不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。它包含构件以及构件互联的规则。当开发本领域的一个新系统时,可以使用这些构件,并且按照这些规则构成满足当前系统需求的特定的系统结构。在DSSA 中有个比较重要的概念就是参考体系结构,它的目的是实现体系结构的复用。图2 给出一种空调控制器领域的参考体系结构(部分)。

图 2 空调控制器领域的参考体系结构(部分)

在上图中,每一个方框代表一个构件。它的下属代表对上一个构件分解而得出的子构件。由多个子构件可以构成一个规模更大的构件,这样能够支持更高效的复用。

在 DSSA 中还包括有一些的需求规约,以及对接口的描述和标准。对于MCU 嵌入式系统领域,由于诸多外设的接口是存在行业标准的,所以如何让控制这些硬件的软件也能够按照一个统一的行业标准来编写是必要而且可行的解决办法。根据标准所编写的软件可以很容易地提取成构件并使用在我们的系统之中。在实践中我们发现,从以下几个方面对这种标准进行约定是可行的:

1、软件的适用范围:如 MCU 类型、应用方案等;

2、外设的硬件特性及使用方式;

3、外设控制流程的规范化:包括有算法和流程图;

4、接口参数的标准化:命名规则、类型、长度等;

5、 一些相关的注意事项:如为适合国家法规而作的一些限制、相关安全性的要求;

5、总结

本文通过对领域分析的概念,方法的介绍,针对MCU 嵌入式系统领域的特点,引出一种适用于MCU 嵌入式系统领域的领域分析方法。该方法已经应用到作者现阶段正在进行的项目中。通过实践已经证明这是一条可行而有着巨大潜力的道路,如何结合更多的手段去达到我们的目的将是今后工作的重点。

围观 263

① 上电复位:是由外部总线产生的一种异步复位,单片机电压监测电路检测到电源电压 VDD 上升时,会产生一个上电复位脉冲,由内部计时器进行延时后等待电源电压上升到可以工作的电压后,整个单片机系统就完成了上电复位。注意上电复位电路并不会检测延时过后的系统电压,如果此时的电压低于单片机的最小工作电压,整个上电复位就失效了。

图所示是整个上电复位的过程,其步骤如下:

1)电源电压 VDD 大于一定范围时候,通常是 1V 以上的时候,单片机内部的 CMOS 的逻辑电路开始运
作,这个电压我们也称为 VOS。在这个电压下,不管使用的何种外部振荡器,振荡电路将开始起作用产
生信号。

2)随着振荡器的运行,所有的内部逻辑必须进行初始化以保证处在正确的逻辑状态下。

3)此时上电复位电路内部的计数器将开始工作,一般而都会维持一定的复位周期延迟。

4)当持续时间大于 tPOR,上电复位电路的复位逻辑将反转并关闭上电复位电路。没有其他复位源的时候,单片机将退出复位状态并开始执行的代码。

因此如果依靠单片机内部的上电复位完成整个过程,复位与电源电压的上升率有很大的关系,需要确认电压的上升速率应大于最小上升速率,如果不注意这点将造成单片机的无法启动,计算方法如下:

VRUN = VOS +MVDD_SLEW×4096/FOSC

其中 VRUN 是单片机的最小工作电压,FOSC-是内部总线频率,MVDD_SLEW 是电源电压上升率。

② 欠压复位:单片机内部电压监控电路形成的异步复位,当电源电压 VDD 电压小于一定触发阈值时,发出复位信号并保持到电源电压大于欠压复位功能恢复电压。欠压复位是用来确保单片机的电源并不在有效工作电压范围之内时内部产生复位过程,使得单片机保持在正确的状态中,欠压复位有三个重要的参数:

1)VTR 是欠压复位功能恢复电压,大于该电压值的时单片机的欠压复位状态就结束了;

2)VTF 是欠压复位功能触发电压,小于该电压值的时单片机将保持欠压复位状态;

3) VHYS 是欠压复位的回差电压,VHYS=VTR - VTF;这个电压的主要目的是防止电源有噪声干扰的时候频繁的反弹,一般在 0.1~0.2V 之间。

如图所示,欠压复位是在电源电压达到 VTR 以后,内部的计数器才工作,因此在上电复位完成以后,欠压复位继续工作直至欠压复位完成既定的延迟后,整个单片机才会退出复位状态;因此内部引入欠压复位电路对于解决电源电压上升率过快和过慢的情况都有很大的帮助。需要注意的是低电压的复位电平阈值是和供电电压相关的,并且按照比例设定的无法更改,因此如果系统上不合适则需要考虑外部的复位方法。

围观 615

机器中使用的电机大小不一,有的比手指还小,有的比卡车还大。 无论是在仪表上定位指示器,还是驱动机车,对于需要能够相当快地切换高电压和电流的控制电路来说,这些电感负载会对其造成严重破坏。

检测电机状态时同样如此。 例如,由于随着驱动器波形切换极性和负载而形成的电动势反冲,串联式电流传感器会承受巨大的尖峰和浪涌。 此外,这些电机感应数据必须实时可靠,才能实现更精确的应用,如医用输液泵和给药系统。

本文将介绍一些可用于将电机(及重电感负载)与驱动器和感应电路隔离的技术。

时间间隙

最简单的隔离技术实际上是半隔离解决方案。 它基于这样一个事实:当继电器或接触器处于打开位置时,会形成一个与电流回路串联的气隙,具有接近无穷大的电阻。 这是一种很好的隔离形式。

但是,当继电器或接触器切换到“接通”位置时,将不会发生电流隔离。 如果控制板与驱动电源一样参考相同的接地,那么任何噪声影响也会参考相同的接地。 这不仅使接地浪涌干扰控制电路,还会抵消在传感器级使用的任何共模噪声滤波技术效果。

传感解决方案可以使用滤波、衰减、增益和箝位技术来保持非电隔离,但仍受到保护。 例如,由于随着驱动器波形切换极性和负载而形成的电动势反冲,串联式电流传感器可承受巨大的尖峰和浪涌。

在双向感应中,隔离是必须的。 这意味着,电机、传感器和驱动器全部能够以相互参考的方式有效浮动。 实际上,系统将在某一点(如地面)使用并参考一个主要接地。 但是,为了进行实际分析,它们均被隔离。

隔离选项

有几种很好的技术和方法可帮助我们保护驱动器和感应电路。 在设计阶段使用的一种简单方法就是,确保您的设计中存在滞后(图 1)。 该时间窗可防止在使用绝对阈值时发生状态振荡。

图 1:在电机控制回路设计中采用滞后是一种简单而有效的方法,可帮助消除在达到感应阈值时产生的某些打开和关闭震颤。

一种经验证有效的常见技术是光伏隔离,也称为光电隔离。 集成的单芯片器件提供了良好的性能水平,可进行级联以使用低电平逻辑信号来控制非常高的功率水平。

此外,各种有用的输出级(包括数字输出、开集、达林顿复合晶体管、开漏、栅极驱动器以及双向可控硅和 SCR)都集成到了这些隔离器件中。

与变阻器、浪涌抑制器和瞬态抑制器结合使用时,光电隔离是一种很好的技术,使各零件保持高达 50,000 V 的隔离,例如 TT Electronics OPI150使用轴管结构来处理非常高的电压水平(图 2)。 请注意,在某种情况下,电压会变得足够高并在单片器件上的引脚间产生电弧,特别是在具有细间距的小型封装中。

图 2:为了保持 50,000 V 的隔离,这些光电耦合隔离器需要大约 3 英寸的间隔。 单片式表面贴装封装将在非常高的电压水平进行电弧放电。

另外,单个封装中采用多个隔离器成为单独控制三相电机的有效解决方案。 请注意,所有 LED 驱动器应与隔离式电源轨位于同一侧。 例如,不要使用四通道器件中的三个驱动器来驱动三相电机的线圈,且不要使用第四个驱动器作为转速计接回控制器。 请对转速计使用单独的光电隔离器。

固态继电器也利用光电隔离,并将各种出色特性(如 AC 输出)与过零和电阻控制的版本相集成。

此外,20 mA 至 160 A 的电流范围可直接由逻辑驱动。 例如,Crydom HDC200D160 固态继电接触器。 适合 4 至 32 V 输入,采用 SPST 配置,高达 160 A 的输出电流水平可使用内部 2.5 KV 光电隔离器在“开”、“关”或基于 PWM 的配置中进行切换。 请注意,在全电流条件下即使导通电阻低至 4 mΩ,此零件也需要耗散 100 瓦。

深入了解

光伏隔离除了用于隔离驱动和控制之外,还可用于隔离监控电机速度、加速度、电流、相位角等数据并将之传回的传感器系统。 此时会变得有点困难,因为还会传递模拟信号,而不仅仅是数字开/关控制。

一种可有效使用的技术是压频转换。 一经标准化和线性化,传感器的值便会馈送到压控振荡器,从而促使光电隔离器回到控制器板。 控制器通过累加门控计数来恢复该值。

类似地,也可以使用脉冲宽度调制,而脉冲宽度对应于标准化范围内的值。 PWM 的优势是每个样本都可以表示一个读数。 采用 VCO 方法,门控累加器的响应时间会变得更慢,但却具有使脉冲噪声平均化的优势,因为一个损坏的读数将仅存在一两个错误。

线性光电隔离器不像数字光电隔离器那样常见,但它们确实存在。 例如,Vishay IL300-F-X007 线性光电隔离器。 此零件使用两个检波二极管,一个位于输出级,另一个可在驱动级的反馈环路中使用。 这允许使用运算放大器以线性方式偏置光电隔离器的发射器部分(图 3)。 随着输入信号的增加,保持隔离时的输出电流也会不断增加。

图 3:使用两个紧密配合的由同一光电发射器照亮的光电检测器时,一个可用于线性驱动器反馈回路, 另一个可在保持电气隔离的同时报告相同状态。

证据表明,增强型势垒也是为传感器系统提供高电压隔离的理想选择。Texas Instruments 的 AMC1305x 高精度、增强型隔离式三角积分调制器是集成式传感器系统的良好典范,其设计可提供相当高分辨率模拟电平的单片式隔离(图 4)。 它使用电容式双隔离势垒将输入级与输出级分离,并达到 7,000 V 峰值和 10000 V 的浪涌额定电压,符合多种 VDE、UL 和 CSA 标准。

图 4:在此单芯片隔离式传感器接口和驱动器中使用了一种电容式双势垒隔离技术。 数字滤波器可以 78000 样本/秒的速率提取 16 位分辨率,同时受到高达 7,000 V 的隔离保护。请注意,浮动式电源使感应部分具有浮动负载。

通过在电机相传导路径中使用分流电阻器,它可以获取馈送给三角积分调制器的低电平信号。 该调制器的输出将被馈送回控制微处理器,该处理器可使用数字滤波算法以 78000 样本/秒的速率提取 16 位分辨率。

总结

电机的使用数量是如此众多,每一个设计都有自己的故事,但共同的需求是保护微控制器和传感器接口远离电机负载和状况快速变化的危险。 正如本文所述,有多种优秀的隔离技术可帮助您解决所面临的问题。

文章来源:物联网在线

围观 354

页面

订阅 RSS - MCU