2 系统的设计实现
本文主要对数据采集单元硬件部份的实现做介绍,包括单片机采集模块、多路冗余输出处理模块。开发工具为Protel 2004 DXP和Keil μVision 2。
2.1 单片机采集模块
为满足工程需要,开发设计了4~20 mA输入与输出模块、PTlOO输入模块、热电偶输入模块、开关量输入与输出模块等系列采集终端,各终端采用模块化设计,可以方便灵活地组成不同要求的采集单元。以下以8路4~20 mA输入模块为例说明其设计与实现。
2.1.1 单片机选择及ATmegal6单片机主要特征
该系列采集模块采用功能强大的ATmegal6(TQFP封装)作为主处理器。ATmegal6是RISC结构的低功耗8位AVR微控制器,其主要特点如下:16 KB的系统内可编程FLASH512 B E2PROM,1KBSRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,3个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益的ADC(TQFP封装),具有片内振荡器的可编程看门狗定时器,1个SPI串行端口,以及6个可以通过软件进行选择的省电模式。片内ISP FLASH允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用FLASH存储区(Application FLASH Memory)。在更新应用FLASH存储区时引导FLASH区(Boot FLASH Memory)的程序继续运行,实现了RWW操作。由于其先进的指令集以及单时钟周期指令执行时间,ATmegal6的数据吞吐率高达1 MIPS/MHz。