LED显示屏
【LED大屏网行业门户网站】 服务热线:400-6787-360 |投稿邮箱 |会员登录 |免费注册 |设为首页 |加入收藏 |RSS |客户服务
LED显示屏
当前位置:LED大屏网 > 行业新闻 > LED显示屏技术动态 > 基于nRF905的LED屏无线通信设计与实现
基于nRF905的LED屏无线通信设计与实现
编辑:叶子 [ 2011-9-29 9:36:24 ] 文章来源:LED大屏网

    现行市场上的LED屏,多采用异步串口、TCP/IP接口等有线和GPRS无线进行通信。对于装修计划中的LED屏,即使提前布线或预留线缆空间,在线缆损坏或调试LED屏还是有诸多不利条件。技术成熟的GPRS无线模块,价格昂贵,不适用于大众场合。针对普遍使用的串口通信控制的LED屏,本文介绍了采用nRF905芯片为核心的硬件电路,论述了无线通信系统中的功耗估计、速率适配、串口与无线的通信协议设计和嵌入式单片机的软件设计,实现单片机控制串口的无线通信。

1 硬件设计
1.1 硬件总体框图
    硬件框图如图1和图2所示。图1为上位机框图,电路板上的单片机收到计算机发来的控制数据,通过无线模块转发。图2为下位机框图,单片机将无线模块收到的数据,通过串口发给LED屏的电路控制板。LED屏回复数据的传输方向正好相反。


    采用ProtelDXP绘制电路原理图和双面PCB板,使用JTAG mk II在AVR Studi04下编写基于单片机的嵌入式软件,采用GCC编译器进行编译连接。
1.2 电路设计
    (1)单片机ATmega16A
    采用芯片LM1117将DC 9 V稳压到DC 3.3 V,对单片机ATmega16A、芯片nRF905、芯片MAX3232进行供电。串口通信采用芯片MAX3232进行逻辑电平的转换。系统采用高性能、低功耗的8位AVR微处理器ATmega16A单片机。该单片机具有16 KB的系统内可编程FLASH、512 B的E2PROM和1 KB的SRAM,供嵌入式软件使用;在线调试的JTAG端口,丰富了系统的调试手段;独立的定时器和可编程的串口,加强了系统的功能。单片机ATmega16A上的SPI接口,可保证无线芯片nRF905的无缝连接。
    (2)无线芯片nRF905
    NORDIC公司的无线芯片nRF905采用高效的GFSK调制,使用开放的ISM频段,工作速率可达50 Kb/s,收发模式切换时间短,功耗低,内置硬件CRC校验和点对多点的通信地址控制,这些优点特别适合工业控制场合。
1.3 可行性分析
1.3.1 通信速率
    nRF905无线收发芯片的最高工作速率50 Kb/s。PC机端的控制软件可以设置串口的工作速率,典型波特率设置为9 600 b/s或115 200 b/s。串口的波特率的每个字节加上起始位、停止位和奇偶校验位,经计算,串口工作速率小于无线芯片的工作速率,因此,可以采用无线芯片nRF905转发串口数据进行通信。
1.3.2 功耗估计
    (1)单片机ATmega16A的耗散功率条件:温度,25℃;单片机工作晶振:1 MHz;工作电压,3.3 V。
    激活模式:功率P=0.6×3.3=1.95 mW
    空闲模式:功率P=0.2×3.3=0.66 mW。
    (2)芯片MAX232的耗散功率工作电压:V=3.3 V。
    最大工作电流:I=1 mA。
    典型工作电流:I=0.3 mA。
    则最大功耗:P=VI=3.3 mW。
    典型功耗:P=W=0.99 mW。
    (3)无线模块的功率计算
    发送模式的功耗:P=30×3.3=99 mW。
    接收模式的功耗:P=12.2×3.3≈41 mW。
    (4)稳压芯片LM 1117的耗散功率
    输入电压:Vin=9 V。
    输出电压:Vout=3.3 V。
    系统工作电流I=(0.6+1+30)=31.6 mA。
    则功耗P=(Vin-Vout)×I=180.12 mW。
    (5)总功率的计算
    系统最大功耗:
    P=180.12+1.95+3.3+99=284.37 mW
    经功耗估计,系统功耗较小,因此可以使用DC 9V电池供电。设计系统的供电方式为电池和外部DC 9V电源,通过跳线切换。
1.4 电路板布局
    实现无线通信的系统电路板布局如图3所示。

 

 

2 软件设计
2.1 通信协议
    (1)串口通信协议。设计串口通信协议:1位起始位,8位数据位,“空格”校验位,1位停止位。
    (2)数据通信协议。设计串口发送数据的通信协议:串口发送数据的第1个和第2个字节是0xF6、0x5A,作为包头,第3个字节和第4个字节为数据长度的一半,数据最后的2个字节为校验字节。LED屏控制卡回复数据为4个字节,第1个字节和第2个字节为为发送数据的前2个字节,后2个字节为发送数据的最后2个字。
    (3)无线收发数据协议。无线通信的数据采取分包发送的机制。无线通信协议设计如下:第1个字节为包头0xF6,第2个字节为数据的长度,该字节的首位置1,此包数据为最后一包,该字节的首位置0,此包数据非最后一包。由于无线芯片一包最大发送或接收字节数32 B,所以最大数据包长度为30 B。大于30 B的数据,将分包发送。
2.2 芯片nRF905工作原理
    (1)芯片nRF905的管脚及管脚功能如表1所示。

    (2)芯片nRF905的工作模式
    芯片nRF905共有4种工作模式:活动模式有ShockBurst RX(接收模式)和ShockBurst TX(发送模式);节电模式有掉电模式和SPI编程模式或STANDBY(空闲模式)和SPI编程模式。芯片nRF905的工作模式由TX_EN,TRX_CE,PWR_UP的设置来设定,如表2所示。
2.3 基于状态机的嵌入式软件设计
2.3.1 系统初始化
    系统初始化主要包括:端口、串口、SPI总线、无线芯片、定时器和链表。状态机的初始化包括:初始状态、各个状态的初始条件等。根据数据发送和接收的流程,设计状态机的5种状态:待机状态ST_STAND_BY;串口接收状态(PC端)ST_UART_RECV;无线接收状态(LED屏端)ST_WAVE_RECV;串口等待状态(LED屏端)ST_UART_WAIT;无线等待状态(PC端)ST_WAVE_WAIT。
2.3.2 状态机的状态触发与转换
    上位机在中断中接收PC机发送的控制数据,存储在循环链表中,通过无线芯片分包发送;上位机查询无线芯片接收回复数据,通过串口发给PC机上的控制软件;上位机状态触发与转换关系如图4所示。下位机查询接收无线模块发送的数据,通过串口转发给LED屏控制卡;LED屏控制卡的回复数据,下位机在中断中接收,通过无线发送;下位机状态触发与转换关系如图5所示。图4和图5共同完成1次数据应答。


2.3.3 定时器的数据收发检测
    (1)串口接收数据完的检测。串口的数据接收是在中断中完成的,因此在中断中对定时器置数,中断外面减数。波特率为9 600b/s时,中断间隔小于1 ms。设置定时器的时长1.5 ms,如果超过此时长,则意味着串口数据接收完成。
    (2)无线发送接收数据的检测。嵌入式程序中多处用到无线收发数据的定时器检测,根据应用场合,选择定时器的时长。

3 结语
    本文对采用芯片nRF905进行LED屏的无线通信进行了论证,从通信速率和功耗两个方面分析了技术可行性,设计了串口通信协议、数据包协议和无线通信协议、论述了基于状态机的嵌入式软件设计,实现了系统功能。
(本文转自电子工程世界:http://www.eeworld.com.cn/LED/2011/0928/article_4881.html)

LED显示屏
编辑推荐
图片新闻
  • 2015年我国LED产业规模预计将达5000亿元
  • 蓝普LED显示屏赞比亚绽放溢彩
  • JINGHUA商标再次荣获中国城市名片殊荣
  • 深圳LED产业标准联盟发布了12项技术标准
  • 洲明又获殊荣:大运会致谢表彰
新闻搜索
LED显示屏
推荐企业
    网媒聚焦
    导航:单基色LED显示屏 | 双基色LED显示屏 | LED条屏 | 全彩LED显示屏 | 室内LED显示屏 | LED广告屏 | 室外LED显示屏 | LED电子显示屏 | LED幕墙 | LED显示屏出租 | LED驱动
    设为首页 | 网站建设 | 商务信息 | LED显示屏资讯 | 本站动态 | 关于LED大屏网 | 网站RSS | 网站地图 | 友情链接
    本站实名:LED大屏网 | LED大屏幕 | LED显示屏 | 国际域名:www.led-100.com
    版权所有© 2004-2011 深圳中投网络信息技术有限公司 
    邮箱:LED-100@3v.cn 客服QQ:点击这里给我发消息 电话:+86-755-33019199(十二线) 传真:+86-755-33010910