基于zigbee无线数据收发的设计和实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.总的设计方案

图1.上位机与平板电脑之间无线数据传送模块的总体设计

注释:

(1)射频模块采用cc2530该模块是现成的,可以直接利用;

(2)工作流程:下位机发送指令通过RS232传给连接下位机的射频模块,该模块经过处理后将信息传给连接在平板电脑上的射频模块,该模块通过USB接口将信息传给平板电脑;而平板电脑传送给下位机的信息传递方式与上述的类似。

2 .硬件原理框图

图2.zigbee无线收发模块的硬件工作原理框图

注释:

(1)串口转换电路:实现RS232 串口数据转换. 因此,可以实现无线模块与PC 机之间的串口数据通信

(2)无线收发模块:采用zigbee射频部分;

工作原理:CC2430的接收器是基于低-中频结构之上的,从天线接收的RF信号经低噪声放大器放大并经下变频变为2MHz的中频信号。中频信号经滤波、放大,在通过A/D 转换器变为数字信号。自动增益控制,信道过滤,解调在数字域完成以获得高精确度及空间

利用率。集成的模拟通道滤波器可以使工作在2.4GHz ISM波段的不同系统良好的共存。在发射模式下,位映射和调制是根据IEEE 802.15.4的规范来完成的。调制(和扩频)通过数字方式完成。被调制的基带信号经过D/A转换器再由单边带调制器进行低通滤波和直接上变频变为射频信号。最终,高频信号经过片内功率放大器放大以达到可设计的水平。

(3)JTAG接口电路:在线编程,实现对常常cc2430的编程和测试。引脚定义:TCK——测试时钟输入;

TDI——测试数据输入,数据通过TDI输入JTAG口;

TDO——测试数据输出,数据通过TDO从JTAG口输出;

TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。

可选引脚TRST——测试复位,输入引脚,低电平有效。

(4)电源模块:选用了AH805 升压稳压器,这样就可以将干电池提供的3V 电压变压至5V ,满足MAX232 电路的供电. 而3V 电压为CC2430 模块和J TAG模块提供稳定电压.。

小注:MAX232是专为RS-232标准串口设计的单电源电平转换芯片。

3.硬件设计电路图

(1)cc2430的典型应用

电路使用一个非平衡天线,连接非平衡变压器可使天线性能更好。电路中的非平衡变压

器由电容C341和电感L341、L321、L331以及一个PCB微波传输线组成,整个结构满足RF输入/输出匹配电阻(50Ω)的要求。内部T/R交换电路完成LNA和PA之间的交换。R221和R261 为偏置电阻,电阻R221主要用来为32 MHz的晶振提供一个合适的工作电流。用1个32 MHz 的石英谐振器(XTAL1)和2个电容(C191 和C211)构成一个32 MHz 的晶振电路。用1个32.768 kHz 的石英谐振器(XTAL2)和2个电容(C441 和C431)构成一个32.768 kHz的晶振电路。电压调节器为所有要求1.8 V 电压的引脚和内部电源供电,C241和C421电容是去耦合电容,用来电源滤波,以提高芯片工作的稳定性。

(2)JTAG接口电路

JTAG引脚定义:

TCK——测试时钟输入;

TDI——测试数据输入,数据通过TDI输入JTAG口;

TDO——测试数据输出,数据通过TDO从JTAG口输出;

TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。可选引脚TRST——测试复位,输入引脚,低电平有效。

含有JTAG口的芯片种类较多,如CPU、DSP、CPLD等。

(3)串口通信模块接口电路设计

设计了串口转换电路,可以实现RS-232 串口数据转换. 因此,可以实现无线模块与下位机之间的串口数据通信.设计了RS-232 电平转换电路,这里采用了电平转换芯片MAX232 来实现串口连接。

(4)总体硬件设计电路图

整个CC2430 模块与计算机的串行通信过程如下:

下位机将RS - 232 串口数据通过R1 IN 和R2 IN 传输到MAX232 ,由MAX232 将RS - 232 数据转换成TTL 数据,再通过R1OU T 和R2OU T 传送到CC2430 ;同时,CC2430 通过P0. 3 和P0. 4 将数据传送给MAX232 ,由MAX232 将TTL 数据转换成RS - 232 数据,再通过T1OU T 和T2OU T 将数据传送给下位机。

同时,选用了AH805 升压稳压器,这样就可以将干电池提供的3V 电压变压至5V ,满足MAX232 电路的供电. 而3V 电压为CC2430 模块和J TAG模块提供稳定电压. 此外,这里还设计了一个复位电路,通过复位开关可以进行手动复位,复位电路与CC2430 的引脚10 连接,且低电平有效。

3.软件设计

本次软件设计主要分为两部分:

(1)一部分是在CC2430 上通过异步串行接口向下位机发送数据;

(2)另一部分是通过串口接收数据,对数据进行处理后,再将处理后的数据发送给下位机.。而串口接收处理并发送数据的程序,主要涉及到对中断服务程序的调用,对接收数据的处理后再发送。

这里的串口发送子程序首先是判断数据是否发送完毕,没有发完才继续发送数据,发送数据时先把数据送入串口0 的数据收发缓冲器(U0DBUF) ,CC2430 模块的串口通信是只要你

不停放数据到U0DBUF 就行,当然事先要设置好你所需要的串口,具体的数据发送是由硬件完成,编程的时候不需要考虑这些. 因为CC2430 的内核是一个51 核,所以每次的传输都是一个字节一个字节的,也就是说每次只能一个字母一个字母的发送数据. 在这里,发送函数做了个等待中断标志的处理,也就是送一个字节到缓冲器,需要等待中断的产生,当中断产生了,说明U0DBUF 里的数据已经被发送出去了,这时才可以继续发送数据,同时在继续发送前还得把中断标志清零. 需要指出的是,如果是需要一组数据一组数据的接收或者传送的话,就必须不停的调用函数,直到把整个数组中的数据都传送完之后再停止. 在这个发送主程序里,先是调用发送函数发送了一个字符串,之后清除已发送数据,再发送一个字符串,之后进行延时处理,再循环发送数据.

本次软件设计的另一部分是实现通过串口接收数据并发送数据. 这部分程序设计使用的是中断方式来对数据进行接收的,之后对接收到的数据进行处理,这里以“ # ”为字符串末字节结束符,若接收的字符串长度超过30 字节,或接收到结束符时,认为接收到一条命令,停止接收数据,之后,再将这一字符串反向发送给下位机。

相关文档
最新文档