1、Zigbee深入浅出 实战篇,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子老达,Zigbee深入浅出 实战篇,录制者:胜达电子老达(黄达),配套学习板: 胜达电子零售店(淘宝),我的新浪博客:百度搜索 倒戈人生,胜达网 www.sddz.xyz,我的邮箱: 1355678411 ,我的QQ: 1355678411,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,技术QQ交流群: 胜达电子Zigbee大众群,Zigbee深入浅出实战篇 第一讲,1、什么是Zigbee?它能干什么用?为什么要引入Zigbee? 2、学习Zigbee需要些什么储备知识 3、入门介绍 4、开发环境搭
2、建。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,1、什么是Zigbee?能干什么用? 为什么要引入Zigbee?,2、Zigbee应用:家居、工业、农业、医疗等等,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,2、学习Zigbee需要的储备知识?,3、入门相关的介绍:,3.1 Zigbee、Zigbee联盟、TI CC2530 IAR ZSTACK的关系?,4、学习方法开发环境搭建,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,3、完成IO相应的移植,为后续协议栈调试做
3、准备。,2、学会随心所欲的控制所有口子的输入输出。,Zigbee深入浅出实战篇 第二讲,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,1、电路分析、最小系统。,CC2530只具备QFN40封装 工作范围:23.6V(推荐选3.3V),一共有21个通用IO口,其中这21个分为3组P0P1P2; 这些口子都可以作为普通或对应的片上外设控制。,1、随心所欲的控制IO的输入输出,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,通用IO:共21个,分成3组,P0组、P1组、P2组,其中P0P1组各8个IO,P2组5个(P2_0、P2_1、 P2_2、P2_3、 P2_4)。,其中P1_0 P1
4、_1有20mA的输出驱动能力,其余的只有4mA,IO口配置相关寄存器:,PxSEL、PxDIR、PxINP Px(x分别对应0、1、2,用来控制对应的IO口组)3种寄存器, 复位,默认都是0,PxSEL寄存器作用: 有8位,每一位对应具体的IO组中的相应的一个IO,决定它是普通IO口还是片上外设,0表示普通IO口,1表示片上外设。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,特别注意:其中P2组只有5个IO口,低五位也对应 P2_0 P2_4 后面的位不用管。,PxDIR寄存器作用: 有8位,每一位对应具体的IO组中的相应的一个IO,决定它是输入还是输出,0表示输入,1表示输出。,胜达
5、电子,让学习少走一些弯路,在实战练习中找到快乐,PxINP寄存器作用: 在输入的时候,8位,每一位对应具体的IO组中的相应的一个IO,决定它是上下拉模式还是三态,0表示上下拉模式,1表示三态。,特别注意:其中P2组只有5个IO口,低五位也对应 P2_0 P2_4 ,后面的3位决定在配置为 上下拉模式的时候,组为上拉 还是下拉,0表示上拉,1表示下拉,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,Zigbee深入浅出实战篇 第三讲,一、能够随心所欲的检测到任意一个外部IO口来的中断,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,外部中断配置,2、首先开IO口组中断;,3、开组内对应的
6、具体某IO口中断;,4、上升沿还是下降沿触发;,5、开CPU总中断EA=1;,1、初始化IO口工作在普通IO、上拉输入状态。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,组配置,组内配置,PICTL寄存器,0代表上升沿,1代表下降沿。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,中断函数:,#pragma vector=PxINT_VECTOR,_interrupt void fn()PxIFG=0; PxIF=0;,PxIFG 和 PxIF清零,Zigbee深入浅出实战篇 第四讲,掌握时钟的切换,控制串口,时钟,系统高频时钟
7、源切换步骤:,1、让2个高频时钟源起振;,5、选中目标高频时钟源作为系统主时钟;,2、等待目标时钟源振荡稳定;,3、延时一小段时间63us;,SLEEPCMD,SLEEPSTA,CLKCONCMD,CLKCONSTA,6、确认一下当前工作的系统时钟是不是所选的高频时钟;,4、不分频输出;,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,串口,CC2530具备2个串口;且每个串口都可以配置选择控制脚。,串口配置步骤:,1、指定串口的IO位置;,2、相应IO配置成偏上外设功能;,3、8个数据位、1个停止位、无流控、无校验确立。,4、波特率;,
8、5、开CPU中断、对应串口接收中断;,#pragma vector=URX0_VECTOR _interrupt void URX0_IRQ(void),胜达电子,让学习少走一些弯路,在实战练习中找到快乐,Zigbee深入浅出实战篇 第五讲,1、掌握Zigbee网络PANID、短地址等相关概念。,2、了解802.15.4协议,打造自己的纯无线通信串口。,3、学会用胜达USBDongle抓包,抓到无线数据包。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,DIY无线通信模块,了解IEEE802.15.4 ISM 信道,Zigbee深入浅出实战篇 第六讲,用胜达USBDongle分析协调器建
9、网、路由器、终端入网过程。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,Zigbee深入浅出实战篇 第七部分,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,第一小节、协议栈的使用部分,第二小节、OSAL部分,uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value ),uint8 osal_set_event( uint8 task_id, uint16 event_flag ),uint8 osal_msg_send( uint8 destination_task, uint8 *
10、msg_ptr ),3、掌握操作系统的一些概念,如任务、事件、事件处理、消息、调度等,2、操作系统是什么?能干什么事?为什么要在Zigbee里面引入操作系统他和Zigbee是什么关系?,4、协议栈中OSAL的工作原理,5、通过协议栈在操作系统OSAL下完成按键点灯实验,进一步熟悉OSAL的工作原理,建立直观、感性认识。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,6、学会新建自己的工程。,胜达电子学习Zigbee的方法:,拿到例子程序或模板代码+胜达电子的课题笔记+Zigbee视频课程+PPT,通过仿真器一步一步去跟踪代码,自己可以适当的记一些电子笔记。,1、操作系统是什么?能干什么事
11、?为什么要在Zigbee里面引入操作系统,它和Zigbee是什么关系?,2、掌握操作系统的一些概念,如任务、事件、事件处理、调度等,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,Zigbee深入浅出实战篇 第八讲,1、掌握协调器、路由器、终端关系,2、掌握端点、簇ID、个域网ID(PANID)、网络地址涵义,理解通信的模型,3、掌握
12、单播通信的原理,实现经典通信方式之单播通信,并且用胜达USBDongle抓包看现象。,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,基本接收过程:,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,基本发送过程:,胜达电子,让学习少走一些弯路,在实战练习中找到快乐,Zigbee深入浅出实战篇 第九讲,对比单播分析,掌握广播通信方式,并且用胜达USBDongle抓包 看现象。,Zigbee深入浅出实战篇 第十讲,对比广播分析,掌握组表相关的数据结构,组播通信方式,并且用胜达USBDongle抓包看现象。,Zigbee深入浅出实战篇 第十一讲,对比广播分析,掌握组表相关的数据结构,MAC通信方式,并且用胜达USBDongle抓包看现象。,Zigbee深入浅出实战篇 第十二讲,对比广播分析,掌握绑定相关的数据结构,绑定通信方式,并且用胜达USBDongle抓包看现象。,