王海燕
(上海电力学院电力与自动化工程学院,上海 200090)
随着高科技和信息化的迅速发展,信息共享程度的不断提高,以及信息共享方式的多元化,人们的日常生活变得更加舒适和便捷.传统的Web服务器采用RS232,RS485,CAN总线等有线方式采集数据,并通过网页发布信息,但随着无线通信技术的发展,以及基于互联网技术的无线嵌入式系统的广泛应用,人们的生产和生活将会发生深远的变革.无线方式能消除传统Web服务器的走线和结构布局等限制,使之更方便接入Internet[1,2].本文设计的基于 ARM 的无线嵌入式Web服务器,通过无线方式实现对接入Internet的智能设备的有效管理和控制,可以广泛应用到国民经济的各个领域,如工业数据采集系统、车辆监控、无线抄表、无线遥控、生物信号采集等.
本文设计的基于ARM的无线嵌入式Web服务器通过无线收发芯片nRF905将嵌入式Web服务器与无线智能设备连接,实现数据的采集、控制以及信息的发送.具体的系统结构如图1所示.
远程用户通过Internet登录嵌入式Web服务器,发布采集或控制智能设备命令.执行采集数据功能时,ARM 微控制器 S3C2410[3]接收来自Web页面的数据采集指令后启动无线收发芯片nRF905,接收周围无线智能设备(与nRF905工作在相同的无线频段)发送的数据,并进行缓存,通过动态网页技术和Web页面将这些数据展示给远程用户;执行控制功能时,用户通过Web页面发布相关指令,S3C2410通过Internet获取指令信息,然后交给无线收发芯片nRF905进行发送,以实现对设备的控制.无线智能设备和嵌入式设备上都配有nRF905无线收发模块,接收到指令后做出响应,而无线智能设备则可通过无线嵌入式Web服务器接入Internet.
图1 系统结构示意
无线嵌入式Web服务器分为无线收发模块和网络接入模块两个部分,均由S3C2410控制.
无线收发模块负责与智能设备进行通信,主要由ARM微控制器S3C2410和无线收发芯片nRF905[4,5]构成,两者接口如图 2 所示.
图2 S3C2410与nRF905的连接
MCU采用三星公司生产的S3C2410微控制器,它是基于ARM920T内核的32位RISC CPU,采用5级指令流水线,运行时的时钟频率最高可以达到203 MHz.片内主要有SDRAM控制器,3通道的UART,4通道的DMA,4个具有PWM功能的计时器和1个内部时钟,8通道10位的ADC,以及触摸屏接口和I2C总线接口等,特别是所具有的MMU功能,非常适合移植Linux操作系统,具有低功耗和高性能的特点[4].
nRF905是挪威Nordic公司推出的一款微功率无线收发芯片.其工作电压为1.9~3.6 V,采用32引脚QFN封装,是真正的单片UHF无线收发芯片.它集成了高频发射、高频接收、频率合成器、接收解调器、功率放大器、晶体振荡器和调制器等,性能优异、功耗低、使用方便.使用SPI接口与微控制器通信,配置非常方便,且其功耗很低,以10 dBm的输出功率发射时电流只有11 mA,工作于接收模式时的电流为12.5 mA.此外,内设空闲模式与关机模式,易于实现节能.
nRF905的工作模式由发射/接收使能端口TRX_CE,power down,模式端口 PWR_UP,模式选择端口TX_EN这3种模式控制端的电平输入决定.具体工作模式和电平输入见表1.
表1 nRF905的工作模式
系统的无线收发过程可分为发送流程和接收流程两部分.发送流程又分为以下5个步骤.
(1)当微控制器S3C2410有数据要发送时,通过SPI接口,按时序将接收机的地址和要发送的数据传送给nRF905,SPI接口的速率在通信协议和器件配置时确定;
(2)将微控制器S3C2410的引脚TRX_CE和TX_EN置高,激发nRF905的Shock Burst TM发送模式;
(3)自动开启nRF905的射频寄存器,将数据打包并发送完成后,再将数据准备引脚置高;
(4)AUTO_RETRAN的引脚被置高,nRF905不断重发,直到TRX_CE的引脚被置低;
(5)当TRX_CE的引脚被置低、nRF905的发送过程完成后,系统自动进入空闲模式.
由于只有在前一个数据包被发送完毕后,nRF905才能接收下一个发送数据包,因此使得Shock Burst TM工作模式能够保证一旦开始发送数据,无论TRX_CE和TX_EN引脚是高还是低,发送过程都会被处理完.
系统的接收流程可分为以下3个步骤.
(1)当 TRX_CE为高、TX_EN为低时,nRF905进入 Shock Burst TM 接收模式;650 μs后,nRF905进入监测状态,等待接收数据;
(2)当nRF905检测到同一频段的载波后,将载波检测引脚置高,当接收到相匹配的地址后,将地址匹配引脚置高,当一个正确的数据包接收完毕后,nRF905自动移去字头、地址和CRC校验位,然后把数据准备引脚置高;
(3)微控制器S3C2410把TRX_CE的引脚置低,nRF905进入空闲模式.
微控制器S3C2410通过SPI口以一定的速率接收数据.当所有的数据接收完毕,nRF905把数据准备引脚和地址匹配引脚置低后,nRF905可以进入Shock Burst TM接收模式、Shock Burst TM发送模式或关机模式.
网络接入模块负责实现TCP/IP协议并接入Internet网络,主要由S3C2410单片机与网络控制芯片 RTL8019AS[6]构 成,以 太 网 驱 动 芯 片RTL8019AS经耦合隔离滤波器HR61101G和RJ45接口接入互联网,接口电路如图3所示.
图3 S3C2410与RTL8019AS的连接
RTL8019AS的IOS0~IOS3基地址选择引脚接地时,I/O基地址为300 H,即001100000000,所以地址线SA9,SA8接+5V,寄存器地址偏移量为00 H~1 FH,共32个,而对应地址从300 H到31 FH,所以只需要将SA0~SA4接到S3C2410的地址总线ADDR0~ADDR4即可,其余地址线接地.同时,地址使能端AEN接S3C2410的通用片选引脚nGCS3,当S3C2410访问RTL8019AS时,RTL8019AS被激活.芯片IORB和IOWB引脚为读写信号线,接到S3C2410的nOE和nWE读写控制引脚.S3C2410的定时器输出引脚TOUT0与RTL8019AS的RSTDRV连接,并进行复位操作,由于RSTDRV为高电平有效,因此给该引脚加一个1 μs以上的高电平就可以复位.RTL8019AS可以兼容8位和16位操作,IOCS16是16位I/O选择引脚.RTL8019AS上电复位时,如果IOCS16为低电平,则RTL8019AS将选择8位模式,反之,将选择16位模式.由于 S3C2410是 16/32位的CPU,所以选择RTL8019AS16位的总线模式(每次读/写2个字节,需要16根数据总线,即SD0~SD15).INT0表示RTL8019AS的中断请求引脚与S3C2410的外部中断请求引脚相连.JP引脚为高电平,I/O和中断采用跳线模式.
单片机S3C2410作为系统的核心,不仅要实现精简的TCP/IP协议栈,还要实现对无线收发芯片nRF905的控制.软件处理流程见图4.
图4 软件处理流程
系统的工作流程如下:S3C2410上电启动后,进行相关的初始化操作,并设定好中断模式,然后正常启动Web服务,S3C2410通过Internet获取相关指令.当网页中传递了相关的指令时,S3C2410启动中断处理程序,即S3C2410暂时中断Web服务,通过对nRF905的控制,实现与智能设备间的数据收发,并将通信数据缓存,然后S3C2410结束中断处理程序,恢复Web服务,并通过动态网页技术把数据以网页的形式传给客户端.
智能设备采用RS232,RS485,CAN总线等有线方式,通过Web服务器接入Internet时,受到信息点结构布局和走线的限制,缺乏灵活性.本文设计的无线Web服务器,可以方便、灵活地实现对信息点的控制并减少布线成本.小范围无线与嵌入式系统的结合,必将推动嵌入式系统的广泛应用,此类产品以其微型化和低成本的特点,在家庭和办公自动化、电子商务、工业控制,以及智能化建筑物等方面有广阔的应用前景.
[1]朱芳,章坚武,高峰.一种基于nRF905的无线数据采集系统设计[J].杭州电子科技大学学报,2007(2):29-32.
[2]董炜,杨士元.嵌入式Internet与家庭网关技术[J].计算机应用研究,2005(6):222-225.
[3]周维,陈默.基于S3C2410的 ARM开发平台[J].电子技术,2004(7):4-7.
[4]NORDIC Semiconductor.nRF905 DataSheet[DB/OL].[2010-09 -05]http://www.nordicsemi.com.
[5]孙鹏.单片射频收发器nRF905的原理与应用[J].电子制作,2008(2):63-66.
[6]REALTEK Semiconductor.RTL8019 DataSheet[DB/OL].[2011-05-06]http://www.realtek.com.tw.