现场总线和工业无线通信是两大处于国际前沿的研究方向,两个系统如果分别做手抄器,成本相对较高,而且不方便管理。这款两用手抄器集成了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与键盘连接图
定时器中断子程序:定时器溢出后,开始第二次扫描,判断是否有键按下,如确实有键按下,PIO引脚为低电平的列即为按键按下的列。然后再将PIO设置为输入状态,所按下的键的行输入状态该为高电平,因此判断具体是哪个键按下。
智能显示终端
根据实际应用的要求,选用了一款台湾奇美的3.5寸的TFT彩色显示屏。为了便于管理,所设计手抄器采用了AT91R40008,但是这款CPU不带有LCD驱动,没法直接驱动显示屏,因此选用了一款工业标准的M600系列模组来驱动TFT显示屏。
M600能够实现 “TFT显示驱动”和“文本和图像处理接口函数”以及一部分“用户应用程序”。它集成了显示驱动、1MB显存、128MB Flash,其中最大32MB 用户数据库,方便了实际测控系统的数据存储应用。采用的是串口的方式和用户系统连接,使用过程中只要3根线(+3.3V、GND、RXD)就可以把M600接起来点亮一个TFT屏,方便了本手抄器的以后的改进设计。M600采用的是统一的指令集,我们可以通过软件设置来适应不同分辨率的显示屏,在工业现场中如果需要更换显示屏,只需修改极少量的代码,就可以完成手抄器的更新换代。无线通信模块
基于IEEE 802.15.4工业无线通信模块采用的是CC2430,整个模块的结构简单,采用单芯片进行数据的处理,在CC2430只要用很少的一些外围元件就可以进行正常的工作。它外围电路主要是由天线、晶振电路、复位电路以及用于调试的JATG口组成。
在功能上,主要用于完成无线通信模块之间的数据收发,同时将数据发送给手抄器的处理器。它们之间的数据传送是通过串口进行数据的传送。晶振电路分别为32.768KHz和32MHz两个晶振,32.768KHz提供模块在休眠状态的工作时钟。32MHz提供模块在工作状态下的工作时钟。JATG用于在线的程序设计,如图3所示。
图3 无线通信模块结构图
手抄器在工业现场中的应用
在现有的研发系统中,将工业以太网的有线网络与工业现场的无线设备之间建立连接,将手抄器作为无线手持为例。工业现场的无线设备通过专用的传输协议将数据传输到转换设备。数据经过转换,成为工业现场能够识别和支持的格式,并传输到工业现场中的一个发出指令请求的设备中。实现上位机对现场数据进行监控。工业现场中,主站即上位机不方便对现场设备进行实时操控,可以使用一个手抄器和转化设备进行连接,对数据进行访问和采集,根据反馈的数据,对现场的数据进行修正,保证设备正常运行,如图4所示。
图4 工业现场中手抄器的应用
结语
本文给出了以AT91R40008为CPU的两用手抄器的解决方案,介绍了手抄器的硬件实现,重点突出了在工业以太网中用到的网口通信接口,及在工业无线系统中应用的基于IEEE802.15.4的工业无线通信模块。具体设计过程中成功的引入了以往研究成果中关于EMC测试环节的解决方案。