前言无线方案适用于布线繁杂或者不允许布线的场合,目前在遥控遥测、门禁系统、无线抄表、小区传呼、工业数据采集、无线遥控系统、无线鼠标键盘等应用领域,都采用了无线方式进行远距离数据传输。
目前,蓝牙技术和技术已经较为成熟的应用在无线数据传输领域,形成了相应的标准。
然而,这些芯片相对昂贵,同时在应用中,需要做很多设计和测试工作来确保与标准的兼容性,如果目标应用是点到点的专用链路,如无线鼠标到键盘,这个代价就显得毫无必要。
本无线数据传输系统采用挪威公司推出的工作于2.4频段的24L01射频芯片。
与蓝牙和相比,24L01射频芯片没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。
更重要的是,24L01射频芯片比蓝牙和所用芯片更便宜。
系统由单片机32F103控制无线数字传输芯片24L01,通过无线方式进行数据双向远程传输,两端采用全双工方式通信,该系统具有成本低,功耗低,软件设计简单以及通信可靠等优点。
1. 总体设计方案无线通信技术迅速发展,有多种通讯方案可供选择,这里从实用,经济和实现等方面进行综合的考虑分析,选出合适的设计方案。
1.1 无线通信方式的比较和选择方案一:采用模块进行通信,模块需要借助移动卫星或者手机卡,虽说能够远距离传输,但是其成本较大、且需要内置卡,通信过程中需要收费,后期成本较高。
方案二:采用公司2430无线通信模块,此模块采用总线模式,传输速率可达250,且内部集成高性能8051内核。
但是此模块价格较贵,且协议相对较为复杂。
方案三:采用24L01无线射频模块进行通信,24L01是一款高速低功耗的无线通信模块。
他能传输上千米的距离(加),而且价格较便宜,采用总线通信模式电路简单,操作方便。
考虑到系统的复杂性和程序的复杂度,我们采用方案三作为本系统的通信模块。
1.2 微控制器的比较和选择方案一:采用传统的89S52单片机作为主控芯片。
此芯片价格便宜、操作简便,低功耗,比较经济实惠,但是应用很局限,且要求较高时传统的89S52单片机达不到要求。
方案二:采用公司生产的430F149系列单片机作为主控芯片。
此单片机是一款高性能的低功耗的16位单片机,具有非常强大的功能,且内置高速12位。
但其价格比较昂贵,而且是贴片封装,不利于焊接,需要制板,大大增加了成本和开发周期。
方案三:基于公司3内核的32F103系列处理器,采用串行单线调试和,通过调试器你可以直接从获取调试信息,从而使产品设计大大简化,主要应用于要求高性能、低成本、低功耗的产品。
根据系统需要,从性能和价格上综合考虑我们选择方案三,即用32F103作为本系统的主控芯片。
1.3 串行通信方式比较和选择485串行通信:该接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。
具有多机通信能力,这样用户可以利用单一的485接口方便地建立起设备网络。
接口组成的半双工网络,一般只需二根信号线,所以它的接口均采用屏蔽双绞线传输,数据信号采用差分传输方式。
但是由于电脑上没有485接口,所以设计的时候还需要一个485转232转换器,较为麻烦。
232串行通信:它是无处不在的,每一台机都有一个或者更多的接口。
在微控制器中,接口芯片使得将一个5V串口转换成232变的更容易。
连接距离可以达到50到100,大多数的外设接口都不会用于太长的距离。
对于一个双向选择,只需要3条导线。
一个并行连接器一般需要8条数据线,两条或者更多的控制信号线和几根接地线。
它作为一种标准,与很多设备兼容,目前已经在很多的微机通信接口中广泛的被采用。
所以这里采用该通信方式。
1.4 显示模块方案方案一:选择主控为7920的带字库的12864来显示信息。
12864是一款通用的液晶显示屏,能够显示多数常用的汉字及码,而且能够绘制图片,描点画线,设计成比较理想的结果。
方案二:采用2.8寸显示信息,这款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。
方案三:采用7段数码显示管显示,其成本低,容易显示控制,但不能显示字符。
综合以上方案,方便我们对信息的观看和理解,我们选择了经济实惠的2.8寸显示,可以直接显示数据、字符等。
2. 单元模块设计2.1 24L01射频模块电路设计2.1.124L01芯片概述24L01是一款新型单片射频收发器件,工作于2.4 ~2.5 频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型技术,其中输出功率和通信频道可通过程序进行配置。
24L01功耗低,在以-6 的功率发射时,工作电流也只有9 ;接收时,工作电流只有12.3 ,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
24L01主要特性如下:1)2.4全球开放的频段,免许可证使用。
2)最高工作速率2,高校的调制,抗干扰能力强。
3)125个可选的频道,满足多点通信和调频通信的需要。
4)内置检错和点对多点的通信地址控制。
5)低工作电压(1.9~3.6V)。
6)可设置自动应答,确保数据可靠传输。
2.1.2引脚功能及描述24L01的封装及引脚排列如图所示。
各引脚功能如下:图错误!未指定顺序。
24L01引脚示意图:使能发射或接收;,,,:引脚端,微处理器可通过此引脚配置24L01;:中断标志位;:电源输入端;:电源地;2,1:晶体振荡器引脚;:为功率放大器供电,输出为1.8V;12:天线接口;:参考电流输入。
2.1.3 工作模式24L01有工作模式有四种:收发模式、配置模式、空闲模式和关机模式。
24L01的工作模式由、、和三个引脚决定,如表。
表格错误!未指定顺序。
24L01工作模式收发模式:24L01的收发模式有收发模式和直接收发模式两种,收发模式由器件配置字决定。
这里只介绍收发模式。
收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速(1)发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。
与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:1)尽量节能;2)低的系统费用(低速微处理器也能进行高速射频发射);3)数据在空中停留时间短,抗干扰性高。
24L01的技术同时也减小了整个系统的平均工作电流。
在收发模式下,24L01自动处理字头和校验码。
在接收数据时,自动把字头和校验码移去。
在发送数据时,自动加上字头和校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。
配置模式:在配置模式,15字节的配置字被送到24L01,这通过、1和三个引脚完成。
空闲模式:24L01的空闲模式是为了减小平均工作电流而设计,其最大的优点是,实现节能的同时,缩短芯片的起动时间。
在空闲模式下,部分片内晶振仍在工作,此时的工作电流跟外部晶振的频率有关,如外部晶振为4时工作电流为12,外部晶振为16时工作电流为32。
在空闲模式下,配置字的内容保持在24L01片内。
关机模式:在关机模式下,为了得到最小的工作电流,一般此时的工作电流小于1。
关机模式下,配置字的内容也会被保持在24L01片内,这是该模式与断电状态最大的区别。
2.2 32F103模块电路2.2.1 电源电路由于32直接由的供电,提供5V电源,所以不需要总电源,但24L01模块需要低于3.5V电压,所以需要3.3V稳压电路,如下:图错误!未指定顺序。
3.3V稳压电路2.2.2 显示模块2.8寸与32连接原理图,如下:图错误!未指定顺序。
原理图2.2.3按键模块在课程设计中用到了按键控制发送数据,按键原理图,如下:图错误!未指定顺序。
按键连接原理图2.2.424L01模块24L01模块有八个引脚需要连接到32,在这里由于用到了1的四个引脚,直接与(4-6)引脚相连,设置复用功能就直接可用1,无线模块的其他引脚分别与1和7相连,这样可以简化电路,如下:图错误!未指定顺序。
24L01原理图3. 系统功能与软件设计3.1 系统总结构与流程系统主要包括两个分别具有收发功能的无线通信模块,每个模块均由32F103和无线收发芯片24L01组成。
系统的原理框图如图所示,发送时,单片机通过总线向24L01写人控制命令及所需发送的数据,24L01通过天线发送出去;接收时,单片机通过总线读取24L01的工作状态,获取芯片相关信息及接收到的数据。
两个收发模块之间相互通信,从而实现数据的无线传输。
同时接收端将接收到的数据存储到扩展的片外数据存储器中。
系统结构框图:图错误!未指定顺序。
整体结构框图根据功能不同,可以把整个系统分为32、24L01无线通信模块、显示模块、按键发送模块。
32主要功能是控制24L01无线通信和显示,按键中断控制24L01无线模块发送数据,显示模块显示数据。
当按下按键时,32控制显示相应的数字,同时通过24L01将该数字发送出去,另一个24L01接收到该数字,经由32F103显示于上。
系统的工作流程图如下:图错误!未指定顺序。
系统流程图3.2 初始化程序的设计系统在正式工作前,都要进行一些初始化工作。
因此在系统启动之初,为了能够让32F103单片机各项功能合理有序的工作,需要进行一系列的初始化配置。
本文系统设计中初始化程序主要包括微处理器32F103开发板的初始化程序、串行外设接口()的初始化程序、24L01芯片的初始化程序、按键的初始化程序、显示模块的初始化程序等。
其中32F103单片机的初始化又包括口初始化配置、中断初始化配置等。
3.2.1 的初始化配置32F103的串行接口置配置时,设为主,串行时钟在脚产生。
配置程序软件及步骤如下:1.配置24L01的、输入输出线和时钟线分别同的对应的外设线相连接,即1与(51)、(61)、(71)、(41)相连接。
2.通过1寄存器的位定义串行时钟波特率分频值为16。
3.选择和位,定义数据传输和串行时钟的相位关系,选择了串行时钟的稳态,时钟悬空低电平,数据捕获于第一个时钟沿。
4.设置位来定义为8位。
5.配置1寄存器的位定义帧格式。
6.如果引脚需要工作在输入模式,硬件模式中在整个数据帧传输器件应把脚连接到高电平;在软件模式中,需设置1寄存器的和位,如果引脚工作在输出模式,则只需设置位。
7.设置和位在这个配置中,脚是数据输出,而脚是数据输入。
串行口初始化流程图如3-5所示:图错误!未指定顺序。
初始化3.2.2中断向量及外部中断配置为了能让系统程序的执行效率更高,所以必须尽量使用32F103的中断响应函数来取代传统的循环判断方式。
32F103中断配置以抢占优先级与响应优先级这两项为主要参数,抢占优先级代表了中断的嵌套关系,抢占优先级较高(数值较小)的中断能够在优先级较低的中断里面嵌套执行。
响应优先级表示了当中断同时发生的时候32F103响应的顺序,数值较小的中断优先响应。
配置外部中断,0对应按键0,当按键按下触发中断,进入中断服务函数,延时消抖后清除中断标志位,开启片选后在服务函数中调用24L01发送程序关闭片选。