好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于STM32的远程智能测控单元设计.docx

6页
  • 卖家[上传人]:杨***
  • 文档编号:294368098
  • 上传时间:2022-05-18
  • 文档格式:DOCX
  • 文档大小:30.64KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •     基于STM32的远程智能测控单元设计    张小松 孔伟鑫 杜涵 孙钒轩 田潇涵摘 要: 随着信息技术的不断发展,网络在全球的遍布,使通讯变得更为容易和方便目前,远程测控系统的发展方向由集中测控转变成为远程分布式测控通过有线或无线的网络系统进行某工业生产过程的远程测量与控制,实现远程监控文中设计了基于STM32的远程测控单元,并采用UC/OS_II实时操作系统该系统通用性好,配置灵活,易于扩展,可存储大量数据,响应速度快,适应于特殊工业现场应用1.引言随着社会的不断发展,远程测控技术被应用于各个生活生产的领域中在电力、给水、石油、化工等诸多工业应用场合,都需要对一些设备运行状态参数进行远程测量,并根据测量结果实施相应控制,这就需要远程测控器系统远程测控器是一种远端测控单元装置,与普通的测控单元相比,该单元应具有良好的通讯能力和更加强大的数据存储处理功能,从而更好地对现场信号、工业设备状态等进行监测和控制而新架构AMR-v7 cortex-m3的处理芯片,具有处理能力强大,片内外围设备丰富,易于移植操作系统等突出优势,基于此,本文设计了基于该架构芯片STM32的远程智能测控器单元。

      2.总体设计一般远程智能测控单元主要应用于复杂苛刻环境下的工业控制现场,系统的智能化、可靠性、稳定性要求都比普通测控单元要高因此设计时,选用的CPU不仅本身性能要高,而且片内可扩展功能要尽可能多,才能有效简化设计,提高系统整体的稳定性和可靠性3.系统硬件设计3.1 CPU选型系统CPU选用意法半导体的STM32F103 VCT6,该MCU芯片基于ARM Cortex-M3内核设计Cortex-M3是一个32位的核,采用Tail-Chaining中断技术,对中断的处理是完全基于硬件的,不仅中断反应速度快,一个中断最多可减少12个时钟周期数同时,中断数量也可以减少,在实际应用中可比普通内核单片机减少70%中断这款CPU具有高性能、低成本、低功耗的特点,片内集成了USART、SPI、IIC、GPIO、定时器、AD等外围设备接口,完全能够满足本系统的设计要求,同时具有JTAG功能,方便调试升级3.2 数字量输入输出处理单元设计MCU具有5组16个GPIO,该引脚均可作为数字输入、输出端口使用,系统使用其中8路作为数字量输入引脚定义,8路作为数字量输出引脚定义数字量输入的有效直流电压为最小55V,具有光耦隔离作用,隔离电压为2500Vrms(最小)。

      数字量的输出的直流有效电压为12V,单路最大电压为2A在数字输入电路中,输入端需要加上合适的滤波电容、二极管、电阻等器件进行相应的保护,然后连接到光耦隔离器TLP521在本电路中和光耦隔离器连接的电阻R1,R2需要根据实际情况选定阻值,输入电压阈值的大小是根据电阻值的比例相关的,该8路引脚设置为中断模式在数字量输出电路中,MCU通过GPIO端口直接连接高速MOSFET驱动器,通过驱动器可以控制连接到输入引脚的MOS管的通断,通断的状态可以通过先连接的LED灯指示MOSFET驱动器采用的是TC4421,完全满足工业控制的需求数字信号输出可是开关数字信号量也可以是脉冲信号对于脉冲信号,可由和定时器相连接的GPIO输出PWM波形来满足实际需要3.3 模拟量输入处理单元设计MCU内部已经集成了18个通道的12位逐次逼近型ADC各通道的A/D转换均可以按照单次、连续、扫描或间断等模式执行3.4 通信单元设计远程智能测控单元系统中,通信单元是非常重要的组成部分,主要用于将远端测量数据传输到控制室,同时将控制指令传输到远端控制端作为核心的MCU提供了3路USART以及2路UART以及一个CAN接口,本系统使用了2路用了当做RS232、2路RS485通信和CAN接口。

      3.5 存储单元设计测控器需要保存大量的采集到的数据以及一些配置参数,选择合适的存储单元非常重要选用E2PROM来存储初始化配置信息,如设备基本属性、串口参数、通讯模式参数和AD采样配置信息等E2PROM选用的是24C02,可以通过STM32芯片集成的IIC控制器直接相连系统上电后首先从24C02中按照固定的格式来读出配置参数,然后正确的初始化各个模块对于本地存储是采用大容量的SD卡,通过MCU的SPI总线直接连接,文件系统采用的是FatFs4.系统软件设计为了满足工业控制中强实时性的要求,该测控器采用了uC/OS_II实时操作系统uC/OS_II是一个可移植固化剪裁的占先式实时多任务内核,比较适用于工业控制中的事实监控4.1 uC/OS_II移植移植uC/OS_II主要体现在修改3三个文件上,os_cpu.h、os_cpu_a.s,os_cpu_c.c文件os_cpu.h用来定义和编译器相关的数据类型、堆栈类型,以及一些宏和函数由于不同的MCU、编译器所需要提供的数据类型并不完全一致,因此通过os_cpu.h重定义数据類型可以提高代码的可移植性文件os_cpu_c.c中,主要定义与移植相关的C函数,例如堆栈初始化、钩子函数等。

      os_cpu_a.s提供了与移植有关汇编语言函数,这个需要根据MCU的硬件环境相关来设置,主要有开关中断、上下文切换、时钟中断等等操作系统运行需要一个嘀嗒时钟,STM32专门提供了一个SysTick定时器来满足该要求正确设置SysTick的控制器后会间隔固定时间进入中断处理函数调用uC/OS_II的OSTimeTick()函数以便完成任务调度4.2 系统流程在系统正常工作前需要完成目标板、系统时钟、uc/OS_II、IIC控制器等基本初始化,然后才可以创一个系统初始化任务Task0(此任务优先级最高)该任务主要完成的工作有:首先读取24C02中的数据,获取存储的配置信息然后根据获取的配置信息来初始化硬件模块,如各个GPIO的模式、功能、速度、通信的模式、速率、各个中断功能模式、SPI总线、定时器、文件系统初始化等,并根据配置信息是否发生变化,再将配置信息重新写入到24C02中完成这些后,再根据配置需求创建其他任务,就开始进行正常的任务调度,切换到已创建高优先级的其它就绪任务中,并且实时响应外部中断4.3 系统任务规划与设计系统正常运行后开始执行预定好的各项任务任务Task2中主要负责处理输入的数字量信号,既开关量和脉冲信号。

      8路数字量输入是通过8路中断采集到的如果满足中断触发条件进入中断服务程序里,程序不负责处理相应任务,只是简单的做一些标示就返回对于不同的外部数字量输入处理函数在Task2中具体实现对于脉冲信号可以通过定时器输入捕获的模式,当发生捕获事情时,进入定时器中断服务程序记录相关寄存器的值并且表示后立即返回,在Task2中通过标示和寄存器的值进行处理Reference[1]王晓忠,时振伟,王启宏.MODBUS RTU通信协议在STM32F103上的实现[J].机电信息,2010(36):152-153.[2]李琦,公茂法.RTU远程监测系统的设计[J].电子质量,2010(10):48-50.[3]王玉彩.分布式RTU系统设计[D].河北:河北大学,2004,5.  -全文完-。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.