基于ARM7的RTU微控制器的设计 2011-02-15 11:16:36来源:互联网
引言
随着我国在水情数据采集系统的信息化和现代化步伐的加快,需要采集的数据种类增多,采集的站点数增加,对数据采集的速度和质量都提出了新的要求,传统的水情数据测报系统的RTU(远端数据采集器)已不能适应新的要求,亟需开发新的产品。
新开发的RTU,其处理能力要比较强,可扩展性要比较好,运行的软件系统具有可移植性,可以移植到不同的硬件平台,可以根据需要配置不同的传感器。为此技术上选用成熟可靠的RTOS 和层次化、构件化的设计思想构建平台软件,保证软件稳定、可靠,扩充新业务功能时软件结构体系保持不变。
RTU 对外有各种类型的传感器接口及通信接口,平时处于守侯状态,当有外部事件或定时处理事件时,由中断信号唤醒CPU 进行相应的处理,处理完及时返回低功耗守侯状态。
功耗设计是一个很重要的问题。因为RTU 是靠电池工作的,这就要求RTU 低功耗工作,考虑到RTU 大部分时间处于低功耗守候状态,守候时仅CPU 在工作,其它部分已关电,因此CPU 的功耗是设计的关键。
1 硬件设计1.1 CPU 选型
早期的远端采集单元 RTU 一般选择单片机,最主要的原因是实现简单。但也带来了一个问题,功能扩充性特别差,稍作改变,软硬件就要重新设计。另外由于处理能力不强,功能的实现也受到限制。为此,我们选择近期上市的嵌入式CPU。
我们选择的原则是性价比好,功耗低。ARM7 系列处理器能较好满足需要,目前生产厂商也较多,有ATEMEL 的AT91SAM7X256; 恩智浦NXP 的LPC2214 ;ST 微电子的ST710FZ2;TI的MSP430 等,通过综合比较我们认为,ST 微电子的ST710FZ2 比较好,该CPU 为32 位ARM7 内核的RISC 处理器,具有三级流水线指令结构,是一种高性能、低成本的方案。该CPU 具备多种省电模式,最小待机电流为30μA。
1.2 RTU 微控制核设计
STR710FZ2T6 是一颗基于ARM7TDMI 内核的32 位处理器,片上有丰富的资源:256+16K 片上 FLASH,64K 片内 RAM,4 路12 位AD,4 路硬件串行收发接口, 5 个16 位定时器,1 个硬件CAN 接口,1 个RTC 时钟,1 个WDT 看门狗。片上和外部扩展资源共同占据4GB 地址空间,可方便实现外部存储器和其它资源的扩充。
为了构建一个通用的硬件平台,对FLASH 和RAM 作适当扩展,保证RTU 模块将来的功能升级不受限制。FLASH 程序空间扩展为4MB,RAM 扩展为512KB。FLASH 选用SST 公司的SST39VF3201,容量为32Mb/16 位、低功耗模式典型3μA。RAM 选用ISSI 公司的IS61WV51216,容量为4Mb/16 位、低功耗待机工作9μW。由此构成一个非常紧凑的微控制器核,如图1 所示。整个处理机核的待机功耗小于50μA。
对于低功耗处理机核,还有一个重要的考虑是对外围接口和接口设备的电源控制,在待机时切断它们的供电,保证按需启动设备,为此设计扩展了一些控制接口。
点击看大图
1.3 RTU 微控制核电源
微控制器核的电源设计也是关键的一步。RTU 模块主控CPU 供电部分有其特殊的需求,分为工作模式和睡眠模式两种,工作模式下的电流100mA 左右,而睡眠模式下的电流仅为50μA。两种模式的差异导致了CPU 供电存在一定的难度。
一般开关电源甚至模块电源都有较大的静态功耗(40mA 左右),选用模块电源对主控CPU 的供电相当困难。负载在50μA~500mA 自身静态功耗小于50μA 的开关电源目前很难找到。有少数专供超低功耗模式CPU供电的LDO电压调整器可实现,如SPX3819,其100μA负载电流时的静态功耗为90μA。但效率太低,70-80%的电能被白白浪费了,不适合蓄电池供电。基于以上原因,对CPU 的供电另选用一款降压型的开关稳压器LT3481。它静态功耗仅为50μA,而且低输出时也有高的效率,50μA 时达60%,100mA 高达86%,特别适合微控制器核供电,如图1 蓄电池直接连到LT3481,向CPU 提供电源。
2 操作系统的移植
很多领域中使用μC/OS-II,如照相机业、航空业以及工业机器人等。从8 位到64 位,μC/OS-II 已经在40 多种不同架构的微处理器上使用。μC/OS-II 的功能和函数经过考验和测试,具有足够的安全性与稳定性。为此,操作系统选择μC/OS-II。μC/OS-II 是一种开放源代码的单用户多任务、完全占先式的硬实时内核,实时性好。μC/OS-Ⅱ本身只包含了任务调度、任务管理、时间管理、内存管理和任务间的通信与同步等功能,没有提供输入输出管理、文件系统、网络之类的额外服务。
评论排行