技术
形成干扰的基本要素有三个:
(1)干扰源,指产生干扰的元件、设备或信号,用数学语言描述如下:du/dt,di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。
(2)传播路径,指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。
(3)敏感器件,指容易被干扰的对象。如:A/D、D/A变换器,单片机,数字IC,弱信号放大器等。
抗干扰设计的基本原则是:抑制干扰源,切断干扰传播路径,提高敏感器件的抗干扰性能。(类似于传染病的预防)
1、抑制干扰源
摘要: 多旋翼飞行器具有较好的发展前景,也是近年来的热门研究方向。本文讨论的四轴飞行器是一种四旋翼飞行器。首先介绍四轴飞行器的飞行控制原理;其次逐个阐述了基于CC3200单片机和MPU6050加速度计/陀螺仪的迷你四轴飞行器的各个关键模块,从软件和硬件的角度分别描述了各模块的实现和整合;最后,分析了该四轴飞行器的试飞结果以及该飞行器的一些不足。
<font size="3" color="blue"><strong>引言</strong></font>
本文主要介绍了一种迷你四轴飞行器的控制原理,不同于市面上的大多数四轴飞行器,本文所讨论的四轴飞行器以WiFi网络作为控制器与飞行器的通信媒介,这将使四轴飞行器的易用性得到提高。
最近写了几个程序,一个是用51单片机读取模数传感器adc0832的电压值,一个是读取ds1302的时间值,结果都出现了读数一直为0的情况。我调试了近一个星期,修改了一个我认为不可能会错的句子,程序运行成功了,这才发现了一个极其隐蔽的错误。(我用的是xp系统,用keil4软件编译)
先上代码:第一个为错误代码,第二个为正确代码。这是用来向ds1302芯片写入命令或数据的函数。实现把8位的数据dat一位一位地写入ds1302的io口。其中ACC0为ACC的第0位。
任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。
因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:
<strong>MCU的特点:</strong>
要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。
我们在从事MCU应用开发过程中,难免会碰到MCU芯片异常的问题。比如异常复位,表现为复位脚有电平跳变或者干脆处于复位电平;在做代码调试跟踪时,发现代码往往进不到用户main()程序;或者时不时感觉芯片死掉了,功能完全不可控等。
针对类似严重异常情况的原因我在这里大致总结下,与大家分享。
1、时钟问题。一般表现在时钟配置异常,比方配置超出芯片主频工作范围。【对于STM32系列MCU,如果使用STM32CUBEMX图形化工具做配置,基本可以回避这个问题】
2、电源问题。比方电源质量差,纹波过大,尤其开关电源供电时;或者供电芯片质量差,输出不稳定;或者系统供电能力不足而引起电源波动等。
物联网时代的每个产品都需要安全保障,嵌入式开发人员必须确定其实施方案所需的安全级别,进行风险分析。利用具有广泛安全功能的Kinetis MCU,开发者可以顺利建立起信任、加密和防篡改三个关键的安全防范机制。
6月20日,恩智浦的专家将通过在线研讨会分享安全处理器的应用,我们将其中一部分精彩的讲义剧透给大家,小伙伴们一起来了解如何为周边设备实施安全防护。
<strong>一、影响EMC的因数</strong>
<strong>1.电压</strong>
电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。
<strong>2.频率</strong>
高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。
<strong>3.接地</strong>
在单片机编程中,有很多人会因为一些貌似简单的处理而把问题弄得乱七八糟,如林中蛛网一样,错综复杂。
而事实上,根据编程魔法之思想,对程序处理的过程严格划分部门、各施其职、部门内部互不干涉内政,是成功编程的关键。
也许我这样说,很多人还觉得很抽象。因为人人都知道模块化设计的理念,但是又有几人能把这个理念运用自如?
好,为了说明这个问题,我们举一例而示三:
<font size="3" color="blue"><strong>现在,我们要编写一个单片机的数据显示程序。</strong></font>
文.凌立民
<strong>保护软体资产不被滥用 </strong>
在过去的MCU应用产品开发过程中,最令独立软体开发商或系统整合商头痛的,就是如何确保MCU内部软体资产能受到严谨保护,同时兼顾合作厂商在软体开发上一定的弹性。正如图1中的例子,ARMv8-M架构可以把有价值的通讯协定放到TrustZone区域内,基于通讯协定的上层应用能够以不同记忆体位置来放置,方便不同的开发团队进行协同开发,依各自专长领域进行软体制作。此类应用包含短距离通讯协定、音讯编码器、生物辨识核心演算法⋯等。
最近在基于51单片机编程的过程中出现了个很奇怪的问题 “程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”。在有过单片机中断编程经历者都知道当EA=1,ET0=1的条件下,满足TF0=1时,如果在此期间没有更高优先级的中断执行的情况下定时器中断0必定会产生中断响应。而在我所编写的程序中仅使用了定时器中断0,一个中断也就谈不上存在优先级问题。
经过我对自己程序的检查并对各教材中断程序对比发现我的程序中的一个问题:由于中断的不可控性决定其跳出中断返回主程序的不确定,而由于程序需要中断跳出后能跳到指定的地址。为了解决这个问题我在中断结束的地方直接用了无条件跳转指令“LJMP ADR16”其中ADR16是我想在中断结束后程序所运行的地址,而没有经过指令“RE”。
本文设计了一种基于2μm高功率光纤激光器的医疗仪,以STM32为控制核心,完成了人性化的人机触控界面功能设计、激光器的驱动控制、精密水冷单元的参数监控、配电模块的抗干扰设计以及输出功率的校准。
2μm高功率激光医疗仪市场需求越来越大,而目人机交互模块前国内此类设备在控制上缺乏对系统安全和出光精准度的考虑。同时随着YY0505-2012医用电气电磁兼容标准于2014年的执行,设计符合YY0505-2012标准的医用设备已迫在眉睫。因此,本文采用模块化设计,设计了一种基于STM32的2μm光纤激光器医疗仪控制系统,将水冷单元的参数监控、电源模块的抗干扰设计、输出功率的校准等集成于一体。测试结果表明,系统可靠稳定,操作方便。
<font size="3"><strong> 前言</strong></font>
客户在做 USB 通讯的时候,基本的需求就是发送某些数据到 USB host 端,同时接收一些数据从 USB Host 端,那么如何快速的建立一个工程并验证数据是否正确呢?下边我们就结合 STM32F072 的评估板(其他的 STM32xx 系列的实现方式都是类似的)来快速实现一个简单的数据收发实验。
<font size="3"><strong> 问题分析</strong></font>
<strong>前言</strong>:Cube 软件包的提供,极大的降低了开发难度。使用者在开发的过程中,只需参考 Cube 包中提供的例
程就能快速的实现对应功能开发。开发者为了快速开发 UART 功能,参考 Cube 包中的 UART 例程,
并根据应用情况,扩展了另一组 UART 接口。但是在应用过程中,发现两路 UART 不能共存。本文分
析了这种情况出现的原因。
<strong>背景介绍</strong>
摘要: 设计了一种基于CortexA8和H.264编码的无线视频监控系统。系统包含视频监控PC客户端、无线传输网络和视频采集端。视频采集端采用基于ARM CortexA8内核的SP5V210芯片作为中央处理器,并构建Linux系统对视频图像进行采集、H.264编码和无线传输,已编码压缩的图像数据通过实时传输协议RTP传输到视频监控PC客户端进行解码和显示。该系统具有组建快捷、灵活性强等特点,能够稳定地运行且满足设计要求,在安防系统和紧急救援系统中有着很好的应用前景。
<strong>引言</strong>
如今,心血管类疾病已经成为威胁人类身体健康的重要疾病之一,而清晰有效的心电图为诊断这类疾病提供了依据,心电采集电路是心电采集仪的关键部分,心电信号属于微弱信号,其频率范围在0.03~100 Hz之间,幅度在0~5 mV之间,同时心电信号还掺杂有大量的干扰信号,因此,设计良好的滤波电路和选择合适的控制器是得到有效心电信号的关键。基于此,本文设计了以STM32为控制核心,AD620和OP07为模拟前端的心电采集仪,本设计简单实用,噪声干扰得到了有效抑制。
<font size="3"><strong>1、总体设计方案</strong></font>
微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。
<font color="blue"><strong>技术原理</strong></font>
<font size="3"><strong>工作中经过摸索实验,总结出单片机大致应用程序的架构有三种:</strong></font>
1. 简单的前后台顺序执行程序,这类写法是大多数人使用的方法,不需用思考程序的具体架构,直接通过执行顺序编写应用程序即可。
2. 时间片轮询法,此方法是介于顺序执行与操作系统之间的一种方法。
3. 操作系统,此法应该是应用程序编写的最高境界。
下面就分别谈谈这三种方法的利弊和适应范围等。
<font size="3"><strong>一、顺序执行法</strong></font>
<font size="4" color="blue">前言</font>
模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高低阈值,用户可以预先设定个模拟看门狗的上下限电压值,一旦采集到的电压超出该上下限,将会触发模拟看门狗中断。模拟看门狗一般用于检测单个的常规或注入转换通道,或同时检测所有的常规和注入通道。
目前国内对1553B总线接口板的设计一般基于DDC公司BU-61580协议芯片完成,但只能完成协议处理部分,应用时还需外围的存贮器和微处理器等辅助芯片。故采用现场可编程门阵列(FPGA)实现整个接口板核心的设计。
<strong>1 系统总体架构</strong>
通常按键所用的开关都是机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴随了一连串的抖动,如图1 所示。