




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2009年第2期仪表技术与传感器InstrumentTechniqueandSensor2009No12基于ZigBee技术无线传输网络的设计与实现张兵,林建辉,伍川辉(西南交通大学牵引动力国家重点实验室,四川成都610031)摘要:介绍了一种利用ZigBee无线网络技术芯片MC13193并配合C8051F33单片机实现无线传输的方法,阐述了MC13193和C8051F33的软、硬件设计。解决了HCS08系列8位MCU与MC13193芯片的接口问题,为其他MCU与无线通讯芯片接口提供了借鉴。该方法具有广泛的实用性,是低价、低传输率、短距离、低功率的无线通讯的首选。关键词:无线传输,ZigBee
2、;MC13193;C8051F330中图分类号:TP216文献标识码:B文章编号:1002-1841(2009)02-0049-04DesignandImplementationofWirelessTransmissionNetBasedonZigBeeZHANGBingLINJian2huiWU2hui(NationalPowerTractionLaboratory,SouthwestJiaUnia)Keywords:wirelesstransmission;ZigBee;MC13193;C8051F3300引言ZigBee技术是近距离、低复杂度、低功耗、低数据速率、低高效的CMOS设计,几
3、乎不需要外部组件;可编程的时钟,供基带MCU使用;标准的4线SPI(以4MHz或更高频率运行);扩展的范围性能(使用外部低噪音放大器功率放大器);可编程的输出功率,通常为OdB;超低功率模式;7条GPIO线路;芯片采用宽电源供电(210V314V),接收状态耗电37mA,发射状态耗电30mA,功耗很低;QFN-32封装,尺寸为5mm5mm,是同类芯片中尺寸最小的。C8051F330是完全集成的混合信号系统级MCU芯片5ZigBee技术的传输速率要低一些(ZigBee的峰值速率为250kbit/s,蓝牙的峰值速率为750kbit/s),但ZigBee的待机功耗比,具有真正的10位多通道ADC和1
4、0位电流输出DAC。其高速8051微控制器内核采用流水线指令结构;70%的指令的执行时蓝牙要低1到2个数量级(ZigBee为340A,蓝牙为200A)。因此ZigBee技术在低成本、低速率、低功耗的无线传输方面有很大的发展前景。1MC13193芯片和C8051F330特点介绍4间为1个或2个系统时钟周期速度可达25MIPS(时钟频率为25MHz时)。具有高达768字节内部数据RAM(256+512)和8KBFLASH存储器,其FLASH存储器还具有在系统重新编程能力,并可用于非易失性数据存储,如系统的各参数等。其数字外设有17个端口I/O,均耐5V电压,大灌电流,还有硬件增强型UART、SMB
5、us和SPI串口以及4个通用16位计数器/定时器和16位可编程计数器/定时器阵列(PCA),有3个捕捉/比较模块,可以使用PCA或定时器和外部时钟源的实时时钟方式工作。片内JTAG调试支持功能允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试,调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令,在使用JTAG调试时,所有的模拟和数字外设都可全功能运行。其可在工业温度范围(-4585)内用217316V的电压工作,典型工作电流:614mA(25MHz);9A(32kHz);典型停机电流:011A.片内还集成了VDD监视器、WDT、和
6、时钟振荡器,时钟源可以有内外两种选器的射频收发芯片。它选择的工作频率是2140521480GHz,每5MHz分割一个信道,可供使用的信道达16个,数据传输速率为250kbit/s,采用OQPSK调试方式。这种功能丰富的双向214GHz收发器带有一个数据调制解调器,可以在ZigBee技术应用中使用,它还具有一个优化的数字核心,有助于降低MCU处理功率,缩短执行周期。内部集成4个定时比较器,使其可以和性能较低、价格低廉的MCU配合使用以降低成本,广泛的中断维修服务使得MCU编程更为容易;芯片和MCU之间使用SPI串行外围接口,使得在MCU选择上具有更大的余地。芯片集成的连接质量和电源检测功能可以为
7、组网和维护提供必要的数据。芯片还具有以下特性:全频谱编码和译码;经济收稿日期:2007-11-25收修改稿日期:2008-11-20择:2个内部振荡器(2415MHz,2%的精度,可支持无晶体50InstrumentTechniqueandSensor2.2电路设计Feb12009UART操作和80/40/20/10kHz低频率、低功耗振荡器)和外部振荡器(晶体、RC、C、或外部时钟),而且可在运行中切换时钟源,适用于节电方式。2硬件电路设计2.1MCU的选择MC13193芯片只是ZigBee技术平台解决方案的一个组件,硬件接口如图1所示。图1是MC13193应用于ZigBee无线传输网络典型
8、应用电路。F330采用内部2415MHz时钟源,这样可以节省外部时钟源,没有采用MC13193输出的LCKO时钟,为了提高F330运行速度。MCU通过增强型SPI口与MC13193的SPI相连接,MC13193的IRQ中断与MCU的中断MC9S08GB32、GB60、GTl6、GT60等,但是在实际中可能需要采相连。GPIO1与P1.1相连,用于MCU对MC13193的空闲工作状态进行判断,同时其还为IC2提供电源。而GPIO2与P1.2相连,用于MCU判断MC13193接收到的数据的CRC是否有效。P1.0用于MCU对IC2的切换控制,实现半双工通讯。芯片的ATTN管脚与MCU的一个P1.3
9、相连使得MCU可以很容易地控制芯片的工作模式。MCUP1.4口和芯片的RXTXEN,芯片也可以用其他的MCU来满足特殊的要求,如MCU集成ADC、DAC、高速指令系统等,这就要求对MCU另外选择,因此选用C8051F330作为该方法的处理器,实现对MC13193的控制,其SP作。UP1.管脚相连,用以在必。对于MCU其他管脚这里就不,因其与无线通讯无关,而MC13193的其他管脚请参考其使用手册进行设置。流水线指令结构是该MCU的一个突出特点,满足系统的设计需要。使用手册4自己编写其。图1无线通讯电路接口2.3MC13193工作原理到MC13193芯片的2个射频信号输入管脚RIN_M和RIN_
10、P上;要发射的2路射频信号从芯片的两个射频信号输出端PAO_P和PA0_M输出,经过变压器Z2后合成一路信号,通过单刀要发送的信号数据从MCU通过SPI口传送到MC13193中,经过扩频OQPSK调制到载波后通过发送电路从天线发射出去。从天线来的射频信号经过接收电路传送到MC13193中,经过解调、解扩得到原始的数据,再通过SPI接口传送到MCU,MCU同时提供对收发电路切换的控制。电路中的MC13193射频信号采用差分输入输出的方法,天线采用的是与双掷开关IC2和由L3和C12组成的窄带匹配网络后传送到天线上发射出去。需要注意的是芯片的PAO_P和PAO_M管脚需要和芯片的VDDA相连,在电
11、路中是通过变压器Z2将它们相连的。2.4EMC电磁干扰设计输入输出相匹配的平衡印制线天线,当然,从实际设计需要出发也可以使用芯片天线来替代印制线天线。从天线接收的射频信号通过由L3和C12组成的窄带匹配网络和单刀双掷开关IC2后传送到变压器Z1上,由Z1将其分解为2路差分信号传送考虑到晶体振荡器对通信质量的影响,在印制板排版时应将晶体振荡器的位置尽可能地靠近MC13193芯片的XTAL1和XTAL2管脚,而且最好选择无源低温漂的贴片晶振,电容C5、第2期张兵等:基于ZigBee技术无线传输网络的设计与实现表1MC1393工作模式模式描述复位,所有IC功能丢失,OFF51C6的值应该与晶体振荡器
12、负载电容相一致,MC13193芯片指定-6的晶振频率为16MHz,稳定度需要在40ppm(1ppm=10)切换时间之间。芯片的VDDA、VDDLO1、VDDLO、VDDD、VDDVCO管脚是芯片内部电源管理部分的输出,用来向芯片的其他部分供电,在实际应用中对这几个输出的旁路电容C2、C3、C4的要求比较严格,在设计印制板的时候同样应该将它们的旁路电容的位置尽量靠近相应的输出管脚。芯片的VBATT、VDDINT管脚是用于给芯片供电点,其旁路电容C1、C13也应尽量靠近相应的管脚,这样可以屏蔽由电源带来的干扰信号。需要特别注意的是在布置平衡印制线天线时,对天线有严格的要求,为了阻抗匹配,这一点在实
13、际运用中非常关键,天线的好坏将直接影响到通讯的效果。3软件设计3.1MC13193工作模式IDLEDOZEHIBERNATE输出为高阻态,RAM数据丢失。晶振、SPI不工作,IC响应/ATTN,数据保留。晶振工作、SPI不工作,通过/ATTN和定时器中断唤醒。晶振工作、CLKO输出使能。SPI工作25ms到IDLE20ms到IDLE(300+1/CLKO)s到IDLE出于低功耗的考虑,MC13193有数个低电流操作的被动模式,而此时接收器仍然工作,具体定义见表16。当上电复位后,MC13193进入OFF模式,模式,在该模式中,2EI/EnergyDetect从IDLE144s后。发送器工作。从
14、IDLE144s后晶振工作。接收器工作。从IDLE144s后表2MC13193包结构4字节Preamble1字节SFD1字节FLI最多125字节PayladData2字节FCSSPI单传输协议主要使用流数据传输模式和对MC13193进行控制时对其内部寄存器的读写。该协议中每次传输的是一个8bit的协议头和16bit的数据,如表3。每次进行SPI传输图2MC13193模式切换时,先发送8b协议头,R/W位指明该次操作对寄存器读还是写,6bit地址给出要访问的具体寄存器,然后进行2次8bit的数据传输,这样就完成了一次SPI单传输。表3SPI单传输协议定义头(8位)R/W6位地址3.2MC1319
15、3数据传输模式MC13193有2种数据传输模式:数据包模式和流模式。数据包模式使用了片上缓冲RAM,数据发送时,F330先通过SPI口将数据传输到MC13193的片上缓冲RAM,然后才开始发送;而接收与此类似,接收到的数据在片上缓冲RAM里组成数据包,再传输给F330,数据包的结构如表2所示,包模式的优点是减少MCU的负担,只有在数据成包以后才需要MCU的干预,但实时性能不好。流模式的特点与包模式正好相反,每次收发1个字(16bit),都需要通过中断来由MCU控制,最大限度地保数据(16位)16位数据SPI迭代传输协议主要用于包数据传输模式和对MC13193快速初始化中,在这2种操作中,SPI
16、协议又分别做了优化。在初始化过程中,第一次SPI的访问操作同单传输协议一样,但是后续的访问操作不要再传输协议头,MC13193的内部寄存器读写指针会自动加1,因而F330只需继续发送16bit数据,寄存器读写指针超过0x2F会自动卷回到0x03,而不会发生越界误操作,注意这种操作的内部寄存器地址只能从0x03地址开始,该方式特别有利于芯片初始化时快速设置大量寄存器。在包数据传输模式中,第一次SPI的访问操作同单传输协议一样,其6位地址只能是0x01(接收RAM区头地址)和0x02(发送RAM区头地址)地址,每次递增的不是内部寄存器读写指针,而是缓冲RAM的内部指针,但是驱动软件必须保证该内部指
17、针不超过128,防止越界,这种包数据传输模式有利于快速访问缓冲RAM,加速数据的读写速度。3.4软件示例证了数据传输的实时性,但同时由于MCU的频繁参与,既增加了MCU的工作量,又增加了MCU的功耗。综观这2种数据模式,需要在实际应用时考虑应用本身的特点,而采用合适的数据传输模式。3.3底层驱动软件设计驱动软件是最底层的软件,供PHY层调用,主要是SPI驱动程序的编写,由于采用的是F330,而非HCS08系列8位MCU,因此在编写该SPI协议时要结合F330的SPI接口,特别要注意F330与HCS08系列MCU在SPI上的区别问题。F330的正常SPI协议是基于8bit数据传输的,而MC131
18、93在此基础上,采用一种更高层的SPI协议,方便F330能快速地访问MC13193的内部寄存器。对应于两种数据传输模式,MC13193的SPI提供2种传输协议:单传输协议和迭代传输协从上面分析中知道MC13193有2种数据传输模式,以包数据模式为例对其工作进行说明,从而了解MC13193的工作过议。52程。31411初始化问题InstrumentTechniqueandSensorFeb12009个字节的CRC校验码。(5)循环读出01H的长度为1ength22的数据,送入一个定从MC13193的使用手册中了解到,必须对一些隐藏寄存器某特殊位进行初始化设置,如0x06的bit.14=1,0x0
19、8的bit.1=1、bit.4=1,0x11的bit.8=0、bit.9=0,这些位在其整个工作义好的数组,以做后续处理。(6)数据读完后,要再一次清中断,再将MC13193置成接收模式。31413是包数据的发送问题MC13193将需要发送的数据放在一个定义好的数组中,其过程中都必须保持这些设置,这是需要特别注意的地方。而其他寄存器的设置则需要根据实际要求进行设置,需要记住的是MC13193必须在IDLE状态下才能设置寄存器,该次设计做了长度不能超过125字节,然后进行如下流程:(1)写MC13193的0x03寄存器,即发送控制寄存器,将己如下设置:(1)写MC13193的0x1b、0x1d、
20、0x1f、0x21寄存器,关闭定时统计好的长度写入低7位。(2)写MC13193的0x06寄存器,使xcvr_seq_l1,将MC13193置成发送模式。(3)利用I0x02数据发送器1、2、3、4,将其初值设为000000H.(2)写MC13193的0x07寄存器,打开MISO的三态功能和CLKO的睡眠输出功能,初值设为0E00H.(3)写MC13193的0x0c寄存器,设置最大的驱动能力和使(RXT。(5)(即判断MC13193的0x24能中断内部弱上拉电阻,初值设为0380H.(4)写MC13193的0x04寄存器,设置CCA比较值,初值设为0A08DH.(5)写MC13193的,att
21、n_mask、pll_l,初值设为8350H.(6)写MC13193的0x06控制寄存器A,打开cca_mask、tx_send_mask、rx_rcvd_mask中断,设置成IDLE状态,初值设为4720H.(7)读MC13193的0x24寄存器,清中断标志.(8)写MC13193的0x06寄存器,使xcvr_seq=10,将MC13193置成包接收模式,其他位保持不变。31412是接收问题MC13193当接收到外界其他MC13193模块发送的包数据,RXTXEN置0,完成发送。(6)读MC13193的0x24寄存器,将其清零。(7)将MC13193置成接收模式。4结束语基于ZigBee技术无线传输网络设计,可以方便地实现低成本、低速率、低功耗的无线传输需要,而且利用C8051F330单片机实现了与MC13193的接口问题,为其他类型的单片机提供参考。参考文献:1顾瑞红,张宏科,基于ZigBee的无线网络技术及其应用.电子技术应用,2005(6)2朱小杰,孙长燕,孙肖子.飞思卡尔ZigBee射频芯片MC13192的时就会产生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店中餐摆台培训
- 重卡销售培训
- 痛风病人饮食护理
- 职业安全健康管理
- 财会合规培训
- 肿瘤护理专家共识
- 销售业绩分解培训
- 加油站全流程诊断体系构建
- 稽核监察财务培训
- 互联网+教育精准扶贫:2025年实践案例分析报告
- 优秀物业管理项目评选方案
- 贵州大方富民村镇银行股份有限公司(筹)招聘上岸提分题库3套【500题带答案含详解】
- GB/T 5470-2008塑料冲击法脆化温度的测定
- GB/T 40998-2021变性淀粉中羟丙基含量的测定分光光度法
- 图书管理系统毕业论文参考文献精选,参考文献
- 中国当代旧体诗选读幻灯片
- 吉林省全省市县乡镇卫生院街道社区卫生服务中心基本公共卫生服务医疗机构信息名单目录995家
- 倔强的小红军-精讲版课件
- 信息隐藏与数字水印课件(全)全书教学教程完整版电子教案最全幻灯片
- 公开招聘社区居委专职工作人员考试笔试、面试题集及相关知识(11套试题含答案)
- 中职数学基础模块下册《等差数列》ppt说课稿
评论
0/150
提交评论