用单片机实现蓝牙功能

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

下面的文字只是关于蓝芽技术的调制算法方面,我认为只需要将蓝芽模块加在单片机上就可以了,而不必通过单片机编程来实现具体的算法,只需要编写使两个模块的接口就可以,也就是单片机发送信号时的激励程序,接受外来信号后的处理程序。置于其余就由作为硬件设备的蓝芽来自行处理。不过我并不确定,我会查查看的.蓝牙技术是用于替代电缆或连线的短距离无线通信技术。它需要把数字信号转换成模拟信号以便在空间中传输,它采用的调制方式是高斯频移键控,以下简称GFSK,要了解GFSK,就要先说说频移键控的原理,以下简称FSKFSK:简单的讲,就是用不同的频率来调制不同的码元,比如说二进制,有0和1两种码元,那么我就需要两个频率f1和f2来调制数字0和1,在接受端根据频率f1代表数字0,频率f2代表数字1的道理把模拟信号还原为数字信号。GFSK:就是在进行FSK调制之前,将原始信号通过一个高斯低通滤波器来限制信号的频谱宽度,这样一来可以获得更加紧凑的频谱,也就是过滤掉高频的信号,但是保留了足够的频带能量以便在收端成功恢复信号。高斯低通滤波器限制了带宽,对基带信号进行了整形,形成高斯脉冲信号。下面说下加入高斯低通滤波器的好处。假设我用-1来代表该信号频谱覆盖范围里最低的频率成分;用1来代表该信号频谱覆盖范围里最高的频率成分。一旦信号从-1跳变到1,或者从1跳变到-1的时候,那么被调制的信号的波形变换太快了,很有可能会导致在原始信号的频率范围里出现新的频率成分,那么我们的信号就已经失真了,这是我们最不想看到的结果。而这正是FSK的一个隐忧。高斯低通滤波器使得信号变得平滑,同样的从-1到1,因为滤波器限制了带宽,于是实际效果是-1,-98,-93,---96,99,1那么用这些变化平滑的数字脉冲信号去调制载波,就会减少上述出现的多余频率成分的现象。那么为什么在蓝牙技术中采用了GFSK而不是FSK?因FSK技术对于信号的频谱宽度没有什么限制,频率间的范围可能很大,导致跳变实在太快,这样就造成了失真的可能和频谱的利用率不高(这句话是我从一英文网上看到的,不过现在还不明白),而蓝牙传输的频谱并不大,所以采用GFSK技术。还有,有限的带宽可以节省电流,那么对于手机和单片机的寿命是有好处的。我认为不必深究高斯低通滤波的原理,因为该滤波器是一个硬件设备,作为组件是直接加在蓝芽模块之中的。如果真的要对算法进行编程,那么我们就只需要对滤波器里出来的信号进行处理,也就是如何用程序来表示FSK算法。下面我结合具体的蓝芽模块来说下GFSK调制在其中的应用蓝芽的载波选用全球公用的2.4Ghz实际射频通道为f=2402k×1mhz,k=0,1,2,…,78共79个频带,并采用跳频方式来扩展频带,跳频速率为1600跳/s。可得到79个1mhz带宽的信道。蓝牙设备采用gfsk调制技术,通信速率为1mbit/s,实际有效速率最高可达721kbit/s,通信距离为10m,发射功率为1mw;当发射功率为100mw时,通信距离可达100m对于短距离的数据传输,当前最普遍的传输方法是有线传输、红外传输和蓝牙传输。有线传输是较为传统的数据传输方法,需要传输电缆。当设备为移动设备或设备数目较多时这将带来很大的不便;红外传输经常受到温度、辐射等干扰,且无法穿过实体进行传输;使用蓝牙技术可以很好地摒弃这两个缺点,但目前蓝牙技术一般被用于高端的电子设备中。对于低端的电子设备,如何使用蓝牙技术还是一个有待解决的问题。针对这个问题,单片机学习网设计了一个基于蓝牙技术和单片机的数据传输系统,为嵌入式电子厂商提供一种技术参考.1系统的整体架构该系统由键盘、单片机、LED显示器、固化了电缆通信协议(RFCOMM)的蓝牙模块和PC机组成。2系统的工作原理系统的核心是单片机和蓝牙模块。系统上电后,单片机初始化自身和所有外围接口,蓝牙模块主动寻找其它设备并自动建立连接,然后系统进入就绪等待状态。按照数据传输方向,可以把系统分为发送和接收两个子系统。对于发送子系统,单片机接收由键盘传来的键值,按照一定的协议规则对其进行转换,再显示到显示器上。同时,单片机调用自身的键值分析程序,分析用户要输入数据还是要发送数据。在输入状态下,单片机记下用户所输入的每一个数据并将其打包、存储,直到用户按下“发送”键。此时单片机转变为发送状态,控制蓝牙模块将刚才存储的数据发送出去。对于接收子系统,单片机按照事先约定的协议接收从蓝牙模块传来的数据,直到遇到数据结束符。而后单片机对数据进行分析、解包,并将其显示在显示器上为了增强可操作性,本数据传输系统考虑了单片机和PC机两种情况。每一个子系统既可以使用单片机和蓝牙模块接口,也可以使用PC机和蓝牙模块接口。采用这样的技术后,不仅单片机之间可以互传数据,而且单片机还可以和PC机互传数据。3系统的程序设计单片机上电后,首先要初始化自身。在本系统中,使用了键盘扫描和LED显示接口芯片8279。因此在主程序中还要对8279进行初始化:COM8279=0xd1;//总清除COM8279=0x00;//8*8字符显示,左边输入,编码扫描键盘,双键封锁COM8279=0x50;//读FIFORAM命令COM8279=0x90;//写显示RAM(数码管选择)之后,可以把程序分为接收、发送和显示三个主要部分。3.1接收部分系统采用查询的方法采集蓝牙模块传送过来的串行数据。对键盘的按键值进行设定由个人的习惯来进行设定。以C语言的形式的伪代码来表示,接收函数的伪代码如下:voidRcvData(void){while(DataReceivingNotDone){ReceiveNextBit;}}3.2发送部分键盘数据经过处理后,转化为串行数据发送到蓝牙模块,再由蓝牙模块发送出去。发送函数的C语言形式的伪代码为:voidSendData(void){if(KeyValue10){//如果数据是一位数SendOneByte();//发送这一位}else{//如果数据是两位数SendTwoBytes();//分成两位发送,先发送高位再发送低位}}3.3显示部分系统中使用的是八位LED显示,通过控制显示的接口芯片8279,可以控制LED显示的内容。显示函数如下:voidDispLong(unsignedintdat,unsignedcharaddr){COM8279=0x90+addr;DAT8279=disp_tab[0];COM8279=0x90+addr;while(dat){DAT8279=disp_tab[dat%10];dat/=10;}}4结束语短距离通信的发展趋势是无线通信。蓝牙技术在当前已经应用得比较普遍,但是这种应用往往局限于高端的电子产品中。本文的设计采用低成本的单片机来和蓝牙模块进行技术集成,使得蓝牙技术也可以应用在低端电子产品中。如果您有需要可以与51hei.com联系,本文所设计的数据传输系统在实际中运行良好,可以为嵌入式电子厂商提供一种技术参考。

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功