tag 标签: stm32嵌入式

相关帖子
相关博文
  • 热度 13
    2013-9-2 11:07
    2945 次阅读|
    3 个评论
    写在STM32嵌入式系统设计在线课程开始之前   在与大家交流之前,我更愿意与各位就编码及外围工作的认识做一个分享和探讨,尽管我们学习的对象是嵌入式操作系统和TCP/IP协议栈移植和应用相关的内容,而编码也是其中很重要的一个方面。但编码工作的本质是设计思想、构思的实现,代码是将抽象的构思以高级计算机语言的形式加以表达和描述。因此,究其本源,设计思想或构思才更具价值。更为重要的是,对开发全过程的记录有助于知识技术的积累,以及产品的后续维护和升级,这也是目前我国嵌入式产业所欠缺的。这是我们在后续第二、第三部分要讨论的重要内容。 首先,我们将讲述基于EMC嵌入式软件设计技术。在一个新产品开发中,采用良好的软件设计技术将有助于我们以最佳性价比来满足产品的EMC要求,其往往能够有效降低硬件成本,减小产品尺寸,还且还能一定程度上降低了对滤波和屏蔽的要求。当然,选择合适的各类无源和有源器件是首要条件。良好的EMC一体化软硬件不仅改善了数字信号的完整性和模拟信号的信噪比,同时也使得设计更具有可移植性,在满足产品的EMC性能的条件下使得产品投放市场的周期大为缩短。很多学生朋友或初入门的朋友可能对EMC不太了解,事实上,为了规范电子产品的电磁兼容性,所有的发达国家和部分发展中国家都制定了电磁兼容标准。电磁兼容标准是使产品在实际电磁环境中能够正常工作的基本要求。大部分国家的标准都是基于国际电工委员会(IEC)所制定的标准。我国也颁布了一系列相关标准,如GB 4343-2009《家用和类似用途电动、电热器具,电动工具以及类似电器无线电干扰特性测量方法和允许值》、GB4343.2-2009《电磁兼容 家用电器、电动工具以及类似器具的要求 第二部分 抗扰度》 、GB17625.1-2012《低压电气及电子设备发出的谐波电流限值(设备每相电流≤16A的设备)》 等。 因此,建议学生朋友和初学者应该对EMC有一个初步的认识。因为, EMC将是一个嵌入式硬/件开发工程师必须掌握的重要内容, EMC设计将贯穿嵌入式开发工作的全过程。 讨论内容: 一 基于EMC的软件设计技术 二 编码规范 三 系统开发过程中的文档备案 四 ST官方驱动库的使用 五 FreeRTOS移植与应用 六 LwIP移植与应用   1、基于EMC的软件设计技术(一) 在嵌入式系统设计中,随着人们对高性能、复杂性和低成本需求的提升,半导体工业推出了高密度、高频的微控制器,这也潜在地推高了现在微电子器件的噪声发射值和噪声敏感度。因此,在现今的电子系统(嵌入式系统,后文不加区分)设计中,电磁兼容设计(EMC)成为在设计之初必须进行考量的一项要素,即要求在进行嵌入式固件、PCB板级设计和系统设计时必须对器件、系统的噪声发射值和噪声敏感度进行合理的评估,并采取相应的措施,使其能够稳定可靠地工作,并满足某一既定需求(特定行业对准入的产品有具体的电磁兼容性要求)。在这里,我们要讨论的是基于EMC的软件设计技术,对PCB板级电磁兼容设计和系统级电磁兼容设计不做探讨。   电磁兼容设计是一项非常重要的内容,而电磁兼容性能的提高通常通过软硬件两方面来保障。通过硬件设计来提高嵌入式系统的电磁兼容性能较为容易理解,也是人们最常使用的方法和措施。另一方面,基于EMC的软件设计技术也能有效提高嵌入式系统的安全性和可靠性。该技术实现成本低廉,能有效提高嵌入式系统的抗扰性,也能节约硬件成本开销。   电磁兼容性(EMC)是指设备或系统在其电磁环境中符合要求运行并不对其环境中的任何设备产生无法忍受的电磁干扰的能力。因此,EMC包括两个方面的要求:一方面是指设备在正常运行过程中对所在环境产生的电磁干扰不能超过一定的限值;另一方面是指器具对所在环境中存在的电磁干扰具有一定程度的抗扰度,即电磁敏感性。 通常,EMC干扰包括两部分,即对模拟信号和数字信号的干扰。在干扰的作用下,电子系统可能表现为微控制器无响应、程序计数器跑飞、执行不期望的指令、错误的地址索引、执行错误的子程序、寄生效应产生的复位等。下面我们对EMC干扰对模拟信号和数字信号的干扰做一个简单的探讨。   1.1 EMC干扰对模拟信号的影响 图1为一个标准的正弦信号,其峰峰值为10V。在理想环境中,微控制器对其进行AD采样后,仅存在量化误差。但实际的情况是,周围的电磁干扰会通过信号的传输路径耦合到AD采样端,使信号失真,如图3所示。图2为周围环境的随机干扰,图3为受该干扰污染后的信号。 图1 标准正弦信号 峰峰值10V 图2  随机干扰信号 图3  受污染的正弦信号 从图3不难看到,受到干扰的信号在波形上与原始信号有着明显的区别。通常,人们为了抑制环境噪声对原始信号的污染,通常采用硬件或软件滤波的形式抑制该种效应。与硬件滤波的方式相比,软件滤波的实现方式更为灵活,也易于针对不同的应用环境做相应的调整。图4演示了我们通过adjacent-averaging平滑滤波的方法对其进行处理的实际效果,其中平滑窗的点数为32。从图中可以看到,随机噪声得到了有效的抑制,实际上,这种方法也是在工程实践中最常用的方法之一。有兴趣的朋友可以参阅相关资料。 图4 adjacent-averaging平滑滤波后的信号 1.2 EMC干扰对数字信号的影响 数字信号因只识别高低电平,只有电平值高于或低于某一阈值时才产生状态的触发,因此,与模拟信号相比具有相对较强的抗扰性。但在恶劣的电磁环境中,偶尔也会受到强电磁干扰的影响,从而产生误动作。下面我们一简单的示例说明其原理。 图5是某一微控制器复位后,外部中断引脚上的电平信号。复位后其处于低电平,假设该中断为上升沿触发或高电平触发。当有图7红色标示的瞬时脉冲干扰经传输路径耦合到信号通路中时,信号畸变为图8所示的形态。 瞬时脉冲干扰通常为线圈类感性负载启动或停止工作时产生,并通过传导或辐射的形式耦合到其他信号传输路径。   图5 原始数字信号 图6 数字信号及瞬时脉冲干扰   图7 数字信号叠加脉冲干扰后的波形   由图7可以看到,当耦合到信号通路的瞬时脉冲干扰幅值达到高电平的阈值后,控制器将对其作出相应,进入相应的中断服务程序,而这是我们所不期望发生的。更糟糕的情况是,当干扰信号的幅值超过IO端口所能承受的限值后,微控制器将被损坏。因此,人们对于运行于恶劣电磁环境的系统要进行软硬件一体的电磁防护技术,在必要的信号传输路径上加装瞬态抑制器件,在相应的中断服务程序中,对中断触发后的状态加以辨识,识别是否为有效的中断触发等。     =================================   欢迎大家加入我出版的书籍的书友会小组:我将不断更新学习课程,谢谢! 《STM32嵌入式系统开发实战指南》书友会