基于ARM的数字调压控制系统设计详解


随着电子信息技术和半导体技术的深入发展,嵌入式系统的应用日趋广泛,在控制领域之中更多的使用了高性能微处理器,以满足各方面越来越多的控制应用需求。基于ARM嵌入式平台的数字调压控制系统,克服了传统上以旋钮或滑变式变阻器对交流电压进行模拟控制的弊端。本系统以嵌入式技术为基础,在嵌入式平台上利用ARM微处理器实时控制数模信号的转换,以控制正弦波调压模块对交流电压的大小调节。
随着电子信息技术和半导体技术的深入发展,嵌入式系统的应用日趋广泛,在控制领域之中更多的使用了高性能微处理器,以满足各方面越来越多的控制应用需求。基于ARM嵌入式平台的数字调压控制系统,克服了传统上以旋钮或滑变式变阻器对交流电压进行模拟控制的弊端。本系统以嵌入式技术为基础,在嵌入式平台上利用ARM微处理器实时控制数模信号的转换,以控制正弦波调压模块对交流电压的大小调节。
数据处理指令可分为数据传送指令、算术逻辑运算指令 和比较指令等。
• 数据传送指令用于在寄存器和存储器之间进行数据的双向传输;
• 算术逻辑运算指令完成常用的算术与逻辑的运算,该类指令不但将运算结果保存在目的寄存器中,同时更新CPSR中的相应条件标志位;
• 比较指令不保存运算结果,只更新CPSR中相应的条件标志位。
数据处理指令共以下16条。
1、MOV指令(传送)
MOV指令的格式为:
MOV{条件}{S} 目的寄存器,源操作数
MOV指令可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器。其中S选项决定指令的操作是否影响CPSR中条件标志位的值,当没有S 时指令不更新CPSR中条件标志位的值。
指令示例:
MOV R1,R0 ;将寄存器R0的值传送到寄存器R1
MOV PC,R14 ;将寄存器R14的值传送到 PC,常用于子程序返回
MOV R1,R0,LSL#3 ;将寄存器R0的值左移3位后传送到R1
2、MVN指令(求反)
MVN指令的格式为:
1.CAN总线是什么?
CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。
CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。
在单片机编程的过程中,如果一名设计者能够同时掌握多门编程语言,那么这名设计者肯定是一位非常优秀的人才。但是想要同时精通汇编、C语言、C++这三门语言实在是太难了,很多初学者在其中一门的学习中就已经到处碰壁,苦不堪言。本文特意为大家整理了拥有嵌入式编程领域多年工作经验的工程师意见,汇总成了一篇能够对嵌入式编程经验有着指导意义的注意事项,感兴趣的朋友快来看一看吧。
32 位可编程循环冗余校验 (Cyclic Redundancy Check, CRC)模块是可用软件配置的 CRC 发生器。该模块提供了一种由硬件实现的方法,为各种通信和安防应用快速生成校验和。CRC 引擎可以在无需 CPU 干预的情况下计算 CRC 校验和;此外,它的速度远高于软件实现的速度。
适用于新一代移动标准及物联网网络,可在高达95°C的恶劣环境中实现高速稳定的光通信
通过使最新的STM32 PMSM FOC软件开发套件(SDK)支持STM32Cube开发生态系统(订货代码: X-CUBE-MCSDK),意法半导体进一步简化在STM32* 微控制器上开发先进的高能效电机驱动器的难度。此举为空调、家电、无人机、楼宇自动化、机床、医疗设备、电动车等产品设备工程师研发先进电机驱动带来更多机会,而且无需专门的研发经验。
基础一:
在电力电子控制中,PWM几乎是无处不在的,不论是AC/DC,DC/AC,还是DC/DC,都涉及到PWM,PWM具体是什么可以自行百度,网上资料非常多,这里就不再赘述。在电力电子变换里面,PWM波形生成有两种方式,模拟和数字,专用的模拟IC不在此文探讨范围之内,本文主要介绍怎样用MCU来生成PWM。
在所有的MCU里,都会有Timer定时器,PWM就是通过这个外设生成的,基本的原理可以通过下图(以STM32F407的寄存器为例)来解释。
计数器TIM_CNT对输入时钟进行计数,比如输入时钟是1MHz(50%占空比方波),对时钟的每一个上升沿(或者下降沿)从数字0开始计数,计数到TIM_ARR=999,一共计数1000个,经历的时间是1000*1/1000000 = 1ms,也就是1kHz,计数到999之后计数器TIM_CNT归零,重新从0开始计数到999,往复循环,这样就形成了1kHz PWM了。
耦合与退耦
什么是耦合电容?什么是去耦电路?
耦合指信号由第一级向第二级传递的过程,一般不加注明时往往是指交流耦合。
退耦是指对电源采取进一步的滤波措施,去除两级间信号通过电源互相干扰的影响。耦合常数是指耦合电容值与第二级输入阻抗值乘积对应的时间常数。
退耦有三个目的: