STM32F103在超载限制器中的应用

2012-04-29 03:10姜日凡
科技创新导报 2012年12期
关键词:限制器增强型外设

姜日凡

1 引言

超载限制器是配置在重型起重设备的安全装置之一,在吊装作业过程中对被吊装的货物重量起到监测作用。它根据该机械的额定重量作限制设定,当起吊重量达到限定值或超过限定值时,超载限制器就立刻发出报警甚至将自动切断电源迫使吊钩下降,放弃对超载货物的吊装。由于用户的限价原因使得这种产品一直处于较低品位,但考虑到超载限制器是防止因超载而造成恶性事故的重要装置,必须在性能、功能上加以提高来满足实际需要并在产品成本上加以限制,提高市场竞争能力。

传统的超载限制器采用单片机为核心部件控制和处理超载限制器的整个监测过程,传统的超载限制器的软硬件有一些缺点,硬件缺点是芯片和元器件太多,造成超载限制器体积大,抗干扰性差。软件缺点是大部分单片机flash太小无法嵌入操作系统,一般主程序采用循环扫描,造成现场的实时性差。

我们采用移植了μC/OS-II操作系统的STM32F103为核心芯片的超载限制器,可以有效地避免传统超载限制器的软硬件的缺点;硬件方面减少了大量外部元器件(如:数据采集芯片、存储芯片、通信芯片等),提高了抗干扰性,减小了体积,同时价格低廉,降低了产品成本;软件方面移植了μC/OS-II操作系统,提高了系统的实时性和程序的扩展性。

2 STM32F103芯片性能和特点

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。ARM的Cortex-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。

STM32系列按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

STM32F103xx增强型系列使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz,具有单周期乘法和硬件除法,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口(多功能双向5V兼容的I/O口和所有I/O口可以映像到16个外部中断)和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC(1us转换时间和0至3.6V的转换范围)、3个通用16位定时器(每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道)和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C(SMBus/PMBus)和2个SPI同步串行接口(18兆位/秒)、3个USART(支持ISO7816,LIN,IrDA接口和调制解调控制)、一个USB和一个CAN。

STM32F103xx增强型系列工作于-40°C至+105°C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。

这些丰富的外设配置,使得STM32F103xx增强型微控制器适合于多种应用场合:电机驱动和应用控制、医疗和手持设备、PC外设和GPS平台、工业应用(如:可编程控制器、变频器等)、警报系统、视频对讲和暖气通风空调系统。

3 μC/OS-II在STM32F103上的移植

我们采用移植了μC/OS-II操作系统的STM32F103为核心芯片的超载限制器,这样就有效的提高了超載限制器的实时性。μC/OS-II是一个完成的,可移植、可固化、可裁减的抢占式实时多任务操作系统内核。主要用ANSI的C语言编写,少部分代码是汇编语言。它的主要特点如下:

(1)公开源代码,很容易就能把操作系统移植到各个不同的硬件平台上;

(2)可移植性,绝大部分源代码是用C语言写的,便于移植到其他微处理器上;

(3)可裁剪性,有选择的使用需要的系统服务,以减少所需的存储空间;

(4)占先式,完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务;

(5)多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法;

(6)可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少;

(7)实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据。

由于μC/OS-II仅是一个实时内核,这就意味着它不像其他实时存在系统那样提供给用户的只是一些API函数接口,还有很多工作需要用户自己去完成。

下面看看ucosii代码组成:

os_core.c是ucosii的核心,它包含了内核初始化,任务切换,事件块管理等,其中事件块是各个同步量的基础,如:os_flag.c、os_mbox.c、os_mutex.、os_q.c、os_sem.c 是各个同步量管理代码;os_mem.c 是内存管理代码;os_time.c 是时间管理代码,主要做各种延时;os_tmr.c是定时器管理代码。

移植相关文件如下:os_cpu.h是进行数据类型定义,处理器相关代码和几个函数原型;os_cpu_c.c:是定义一些用户hook函数;os_cpu_a.asm:是移植需要用汇编代码完成的函数,主要就是任务切换函数;os_dbg.c是内核调试相关数据和函数,可以不改。

4 结语

我们采用移植了μC/OS-II操作系统的STM32F103为核心芯片的超载限制器,该控制系统较以往系统具有功能强、抗干扰能力强、实时性强、体积小、操作方便等特点,多个参数显示及超载限动报警保护使操作人员能及时了解起重机的工作情况,提高了工作效率,有效地预防了事故的发生。

参考文献

[1] 刘军.例说STM32[M].北京航空航天大学出版社,2011.

[2] 召贝贝译.嵌入式实时操作系统μC/OS-II[M].北京航空航天大学出版社, 2005.

猜你喜欢
限制器增强型外设
海上风电工程弯曲限制器受力特性数值模拟研究
“东方红”四号增强型平台
电梯或起重机极限位置限制器的可靠性分析
增强型MSTP设备在高速公路中的应用
基于多FPGA的增强型SPI通信研究
新型三阶TVD限制器性能分析
美国LWRC公司M6 IC增强型卡宾枪
随车起重机力矩限制器的振动设计
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
外设天地行情