信息无线传输控制器设计
2012-05-14邵伟,武斌
邵 伟,武 斌
(天津城市建设学院 电子与信息工程系,天津 300384)
随着城市的现代化建设,为了信息显示方便,商店、娱乐场所、公共汽车等地方安装了电子显示屏。这些电子显示屏分布在城市的不同角落,其显示内容需要及时更新。目前显示屏信息一般需要上位机进行编辑,并通过485总线、以太网、GPRS网络等进行传输,使得LED屏的安装、维护不便、运营成本较高。相比而言,采用无线信息传输方式可使信息更新更加灵活、快捷。
1 信息无线收发系统方案
1.1 短距离无线通信技术应用
短距离无线通信技术在无线抄表、无线遥控系统、无线鼠标键盘等领域得到了广泛应用。Nordic公司推出的工作于2.4 GHz ISM频段的nRF2401射频芯片,采用GFSK调制模式,内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,内置地址比较和CRC校验功能,采用Shock BurstTM技术,发射速率可达 1 Mb/s。与蓝牙、WiFi等无线技术相比,具有低功耗、传输速率高、抗干能力强、易于开发等优点。
1.2 控制器基本功能
发送端功能:
(1)通过键盘编辑和保存要发送的中文和英文信息;
(2)设定LED屏显示方式、字库类型信息;
(3)设定通信地址、将编辑好的信息采用ShockBurstTM方式发送给接收端。
接收端功能:
(1)接收发送端发送的信息,校验并回复;
(2)将接收信息转换为标准485数据格式或以太网数据包,与通用显示卡通信;
(3)直接实现通用LED文字显示屏显示控制。
无线信息编辑器主要由单片机、nRF2401无线收发模块、128×64液晶显示屏、键盘、LED屏及其控制器组成,图1为系统框图。
图1 系统框图
1.3 LED显示屏及其控制器
选用通用LED显示屏,控制器采用国内通行的某型号 LED屏驱动控制卡,该控制卡具有简单独立的串口通信协议,由单片机控制可选择多种显示方式,可同时存储多套节目;具有汉字字库,可接收汉字内码数据。图2为控制卡串口协议中实时显示文字协议,第二个表格为基本数据包格式。
图2 控制卡串口实时显示文字协议
1.4 单片机和LCM
STC89C516RD+是宏晶科技推出的低功耗、强抗干扰单片机,指令代码完全兼容传统8051单片机,正常工作时功耗为4mA,掉电模式为2μA;工作电压为3.6~2.0 V。具有64 KB Flash程序存储器和 1 280 B RAM,35个 I/O引脚,共3个 16 bit定时器,内置看门狗和 MAX810专用复位电路,4路外部中断和1个通用异步串行口,LQFP封装。
LCM选用128×64点阵的液晶显示模块,自带GB2312汉字字库和字母、数字字库,低功耗,工作电压范围在3.6~2.4 V之间。
2 设计实现
2.1 信息收发协议
物理层芯片nRF2401的ShockBurst收发模式具有独立的通信协议,为不同的接收端配置唯一的接收地址以提高通信抗干扰能力,其通信协议格式为:字头、地址、信息数据包、CRC。ShockBurst发送和接收模式如图3和4 所 示[1]。
2.2 信息编辑
2.2.1 键盘设计
信息编辑由键盘、单片机和LCM模块实现,按键描述如表1。单片机根据按键输入的数字字符串查表得到对应拼音和汉字码。选用常用的6 763个汉字的GB2312码作为汉字信息载体,用ASCII码作为数字和英文字母的单片机处理、保存和传输值。由于英文单词数量很大,数字和字母键的复用在输入字母字符串时显得很不方便,且没有实用的汉字查表输入法,因此这里将字母键盘在LCM显示屏上显示,根据方向键和确认键选择需要的字母,返回并保存字母、数字的ASCII值。
图3 发送流程
图4 接收流程
表1 键盘按键描述
2.2.2 输入法的设计
由于数字键和字母键复用,键盘输入的是0~9的数字串,采用二级数字索引确定对应拼音和汉字码。如输入数字 “7315”对应拼音 “shao”,先在首字母索引表Unsigned char(*PY_index_pointer[27])[8]中确定数字 7 对应的第一个拼音数组PY_index_s的首地址,然后在数组PY_index_s、PY_index_t、PY_index_u 中找到“7315”对应所有可能的拼音,如“shao”、“tian”,保存并返回这两个拼音首字母对应的地址;根据此地址可得到在GB2312汉字码中对应的第一个拼音为“shao”的汉字码 C9D2(即汉字“梢”的GB2312码);在LCM屏上显示从C9D2开始以“shao”发音的汉字,如果希望显示汉字“少”,则输入偏移量 7,根据 C9D2+7可得到“少”的汉字码 C9D9;单片机存储、处理,通信中就用 C9D9表示“少”[2]。
3 无线通信抗干扰机制
3.1 跳频通信
采用跳频扩频技术增强信号传输的抗干扰性能,改变nRF2401的工作频道 (工作频率计算公式为:Channel=2 400 MHz+RF_CH*1.0 MHz,Channel为工作频率,频率间隔为1 MHz[1])可以实现频率的跳变。为了快速找到没有干扰的频道,选用2.4 GHz频段的低、中、高三个频道的频率跳变,频道变换序列如表2。
表2 频道跳转表
开始发送时,发送端按照预先指定的频率给接收端发送一次连接信号,然后进入等待接收状态,如果在之后10 ms内没有接收到返回值,重发2次连接信号,如果返回值正确,则在此频道上保持通信;如果无返回值或返回值不正确,则跳转到下一个通信频道发送连接信号。接收方根据预先设定好的频率变换顺序检测各信道上是否有发送给自己的信息,如有,接收后返回一组信号,发送端在判断返回值正确后,则可以在此信道上进行通信。在进入正常通信后,发送端可根据每次发送的信息的返回值判断是否需要变换频道重新发送数据[3]。
发送端以每10 ms一次按照频率变换顺序向发送端发送连接信号;接收端以每30 ms按照频道变换顺序变换频道,以检测是否有信号接收。这样在接收端的30ms周期内,发送端已遍历所有频道,可保证在某一频道可连接成功。
3.2 地址配置
在实现频率跳变的基础上给nRF2401每个接收端配置不同的地址(ADDR1),需要考虑单片机内部 ROM的大小和地址宽度ADDR_W配置值的大小。接收端只有接收到正确的地址后才继续接收信息数据包(Packet)。
3.3 CRC校验和特殊字识别
为了进一步提高无线通信的抗干扰能力,除了nRF2401无线通信协议自带的CRC检验之外,在nRF2401无线通信协议中的信息数据包(Packet)中添加特殊字(4 B),如图5所示。
图5 特殊字和CRC校验
发送端单片机在编辑好文字信息后,先添加LED控制器串口通信协议(图2),然后将其分割为 24 B一个数据包添加到nRF2401通信协议中进行。
4 软件流程
发送端软件流程如图6所示,接收端软件流程如图7所示。
通过硬件、软件设计和调试,该信息编辑器能够实现信息编辑和与LED显示屏的无线通信功能。可利用此编辑器更新LED屏显示内容,简化了LED显示屏的维护过程,有助于提高维护人员工作效率。此信息编辑器适合在公共汽车、商店等安装LED显示屏的场所使用。
图6 发送端软件流程图
图7 接收端软件流程图
[1]Single chip 2.4G tansceivernRF2401.Nordic VLSIASA.2003.
[2]刘进军,高美珍.基于单片机的汉字输入法的实现[J].国外电子元器件,2006(12).
[3]杜思深.无线数据通信技术[M].北京:电子工业出版社,2011.
[4]陈海宴.51单片机原理及应用[M].北京:北京航空航天大学出版社,2010.