现场总线和工业无线通信是两大处于国际前沿的研究方向,两个系统如果分别做手抄器,成本相对较高,而且不方便管理。这款两用手抄器集成了EPA(Ethernet for Plant Automation)和IEEE802.15.4(低数据率的WPAN标准)两个协议,能够通过有线或者无线的方式在不同的工业现场得到应用,在不影响上位机通讯的情况下对现场设备进行数据采集、监测和控制。
该手抄器使用的是ARM7控制芯片。它包含了微处理器(AT91R40008)、存储器、通信模块、网络通信接口、显示终端、无线通信模块等重要组成部分。在该设计中,使用了两种供电方式,一种电源使用了以太网供电设备,该设备除了用于网口通信,还提供设计中所需要的电源。该电源经过电平转换,为微处理器、存储器、无线通信模块等提供所需的+3.3V和+1.8V电源;另一种电源使用了电池供电。32位的微处理器AT91R40008通过串口0和串口1与无线通信模块和液晶终端进行数据交换。图1为ARM7手抄器的硬件框图。
图1 手抄器硬件系统框图
微处理器
选用AT91R40008做CPU。AT91R40008包括一个高性能32位精简指令系统和一个高密度16位的指令系统。AT91R40008具有片上的SRAM或ROM、完全可编成的外部总线接口(EBI)、32个可编程的I/O口、8个优先级、4个外部中断、2个USART及16位的定时器/计数器等特点。
AT91R40008具有与外部存储器的直联的特色,通过外设的FLASH,经过完全可编程外部总线接口(EBI)、 一个八位优先向量中断控制器,,及外部数据控制器,能大大提高处理器的即时性能。
微处理器部分的设计包含系统硬件的启动与复位,地址总线、数据总线的分配和定义,通过串行线对无线通信模块和液晶终端的读写等。
系统由外部的50MHz钟振作为时钟源向CPU输入时钟信号。复位电路由10μF的电容、10K的电阻及按键组成低电平复位电路。AT91R40008内部ROM为128K,外部最大可扩64M的存储器,根据实际的设计需要,在设计中扩展了一片2M字节的SST36VF160对软件程序进行存储。网卡芯片AX88796通过片选线、中断线、读写信号控制线和地址数据总线与CPU相连,实现现场设备和上位机的网络通信。AT91R40008分别通过串口0和串口1实现与无线通信模块和显示终端的数据交换。
FLASH存储器
由于该手抄器是应用于工业现场中,所以在软件中必须加入相应的规范标准。在手抄器的系统设计中,在CPU的外部拓展了2M字节的FLASH。SST39VF160是一个1M×16的CMOS多功能FLASH器件,由SST特有的高性能的Super Flash技术制造而成。SST39VF160具有功耗较低的优点,它的工作电压为3.3V,具有高性能的编程功能,字编程时间为14μs。考虑到SST39F160的这些优点选用这款FLASH,在目前测试环境中证明这款FLASH能够更方便和更低成本的满足程序配置和数据存储的要求。
网络通信接口
在设计中采用网络通信接口接入工业以太网,数据由以太网传递到上位机中,实现工业现场的无线设备和上位机的通信。在实际的设计过程中,我们采用HR61H50L作为网络隔离器,采用AX88796作为网卡芯片。
AX88796是台湾Asix公司的NE2000兼容快速以太网控制器。其内部集成有10/100 Mb/s自适应的物理层收发器和8K×16位的SRAM,支持MCS-51系列、80186系列以及MC68K系列等多种CPU总线类型。AX88796执行的是基于IEEE802.3/IEEE802.3u 局域网标准的10Mb/s和100Mb/s以太网控制功能,并提供IEEE802.3u兼容的媒质无关接口MII,用以支持在其它媒质上的应用。AX88796的地址总线SA[9:0]与数据总线SD[15:0]分别与CPU的地址/数据总线相连。CPU通过I/O读写NE2000寄存器来控制AX88796的工作状态,通过远程DMA FIFOs与AX88796的内部缓存SRAM进行数据交换。SRAM与MAC核之间进行Local DMA将数据发送至MAC层,再经由内部的PHY层发送至RJ45接口,或者经过MII接口送至外部的物理层芯片。SEEPROM接口可以用来连接串行EEPROM。EEPROM可用于存储MAC地址,供AX88796每次初始化时读取。
电源
由于此手抄器用于两种不同的协议,实际设计中使用了两套电源管理系统,并进行了特殊处理,避免了其中一套供电时对另一套电源造成影响。
当手抄器用于工业以太网的一致性测试时,电源采用的是以太网供电设备,该设备采用符合802.3受电设备标准,输出标准的+24V,经过LM2576-5、AS1117-1.8和AS1117-3.3电源芯片,电平转换后,输出手抄器上的CPU、存储器、网卡芯片、智能显示终端上所需的1.8V和3.3V电源。
当手抄器用于工业无线系统中,电源采用的是电池供电,普通的手机电池即可。电池输出电压经过TPS60110、TPS60100电源芯片,电平转换后,输出手抄器上的CPU、存储器、网卡芯片、智能显示终端终端和无线通信模块上所需的工作电压。
JTAG调试接口
这里使用JTAG调试接口主要是为了调试显示终端、无线通信模块、CPU和上位机之间的通信,及测试其通信性能。
键盘接口
自主设计了一个6×4矩阵键盘。如图2所示。键盘的行连接在CPU的6个PIO引脚上,配置为输出;列连接在4个能够产生终端的引脚上,配置为输入。由于上拉电阻的作用,在空闲模式下,这些引脚为高电平状态。当有按键按下时,列引脚为低电平状态,列引脚的下降沿引起中断。处理器进入PIO中断子程序,并打开定时器。定时器溢出后,进入定时器中断子程序,以判断是否确实有键按下,是哪个键按下。定时器设置为波形模式,RC比较中断,中间溢出由RC比较寄存器的直和所选择的时钟沿决定。可有软件复位和定时器启动。
初始化:列PIO配置为输入,行PIO配置为输出,且输出为0; 列PIO打开中断,初始化该中断;使能PIO时钟;初始化定时器中断。
PIO中断子程序:键盘扫描前,所有的行输出为0,当有键按下,与其对应的列电平为0,引起PIO中断。为了避免毛刺噪声的影响,需要启动定时器延时判断。设延时时间为20ms(31250个tick) 。
图2 AR91M40008与键盘连接图