基于单片机控制射频芯片CC2420无线通信的实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Abstract : In recent years , t he technology of IEEE 802. 15. 4/ ZigBee is pop ular in t he co mmunication areas. The technology is not only wit h t he feat ures of low2co st , low2power , low2rate and low2co mplexity , but also wit h t he do minances of high2reliability , easy to establish netwo rk and high2flexibility. And it is t reated as t he internatio nal standard of t he wireless senso r network. The wireless communication between t he network nodes is t he p remise to implement t he netwo rk of ZigBee. The paper p resent s t he self2designed network nodes based on hardware of A Tmega128L and CC2420 ,int roduces t he measurement of t he two chip s and t he met hods to cont rol t hem ,and explains how to implement t he wireless co mmunication between t he nodes and t he ways to debug. According to t he met hods mentio n above ,a wide2used network of ZigBee can be established by adding t he ZigBee p rotocol. Keywords : IEEE 802. 15. 4 standard ; ZigBee netwo rk ; radio f requency chip ; wireless co mmunication
微处理器应用
电 子 测 量 技 术 EL EC TRON IC M EASU R EM EN T TEC HNOL O GY
第 30 卷 第 5 期 2007 年 5 月
基于单片机控制射频芯片 CC2420 无线通信的实现 3
王吉富 马建仓 卢 崇
(西北工业大学 电子信息学院 西安 710072)
0 引 言
IEEE 802. 15. 4 标准[1] 由 IEEE 802. 15. 4 联盟于 2003 年 5 月制定完成并发布 , 不仅具有低成本 、低功耗 、低速 率 、低复杂度的特点 ,而且还具有高可靠性 、组网简单 、灵 活的优势 , 成为通信领域研究的热点 。随着该标准的发 布 ,世界各大无线芯片生产厂商陆续推出了支持 IEEE 802. 15. 4 的无线收发芯片 。本文是基于所设计的硬件平 台 A Tmega128L + CC2420 , 介 绍 了 A Tmega128L 和 CC2420 射频芯片的性能特点及控制方式 ,阐述了 2 个节 点间无线通信的实现过程及调试方法 ,为组建 ZigBee 网络 作了准备和铺垫 。
王吉富 等 :基于单片机控制射频芯片 CC2420 无线通信的实现
第5期
0. 18μm 的 CMOS 工艺生产 ,具有很高的集成度 。CC2420 具有完全集成的压控振荡器 ,只需要天线 、16 M Hz 晶振等 非常少的外围电路就能在 2. 4 GHz 的频段工作 。CC2420 只提供一个 SPI 接口与微处理器相连 ,通过这个接口完成 寄存器的设置和收发数据的任务 。 1. 3 ATmega128L 和 CC2420 之间的连接和控制
表 1 其他状态位及其相应的功能
ຫໍສະໝຸດ Baidu
信号位
功能
驱动该信号为高电平用于使能 CC2420 的电压 V REG_ EN 调整器 ,使其产生 CC2420 所需要 1. 8V 电压 ,从
而使 CC2420 进入正常工作的状态 。
低电平有效 ,用于复位 CC2420 ,使其恢复到出 RESETn 厂默认值 。
CC2420 基于 Chipcon 公司的 Smart RF03 技术 ,使用
3 基金项目 :西北工业大学研究生创新试验中心资金 (06007) 资助
·88 ·
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
所设计的网络节点的结构简图如图 1 所示 。CC2420 与 A Tmega128L 的连接非常方便[4] 。处理器通过 10 条线 就可以实现对 CC2420 的控制 。A Tmega128L 通过 V R EG _ EN 和 R ESET_ N 两个引脚实现对 CC2420 的使能和复 位 ,通 过 SPI 接 口 与 CC2420 交 换 数 据 、发 送 命 令 等 ; CC2420 通 过 SFD 、FIFO 、FIFO P 和 CCA 四 个 引 脚 向 A Tmega128L 返回其收发数据的状态 。
摘 要 : IEEE 802. 15. 4/ ZigBee 技术是近年来通信领域中的研究热点 ,具有低成本 、低功耗 、低速率 、低复杂度的特点 和高可靠性 、组网简单 、灵活的优势 ,被称为无线传感器网络的国际标准 。各个网络节点间的无线通信是实现 ZigBee 网络的前提条件 。本文基于所设计的网络节点 A Tmega128L + CC2420 ,介绍了 A Tmega128L 单片机和 CC2420 射频 芯片的性能特点及控制方式 ,并阐述了 2 个节点间无线通信的实现过程及调试方法 。在此基础上加上 ZigBee 网络协 议构建了应用广泛的 ZigBee 网络 。 关键词 : IEEE 802. 15. 4 标准 ; ZigBee 网络 ; 射频芯片 ; 无线通信 中图分类号 : TN92 文献标识码 : A
F IFO
当接收缓存区 RX FIFO 中至少有一个字节未被 读出 ,该信号为高电平 。当最后一个字节读出 后 ,该信号变为低电平 。可以用来判断接收缓存 区 RXFIFO 中是否有数据 。
图 1 网络节点的无线通信模块化框图
CC2420 有 33 个 16 位配置寄存器 、15 个命令选通寄 存器 、1 个 128 B 的 RX RAM 、1 个 128 B 的 TX RAM 、1 个 112 B 的安全信息存储器 。
CC2420 每 个 命 令 选 通 寄 存 器 的 地 址 相 当 于 一 条 CC2420 可执行的指令 ,当 CC2420 接收到写命令选通寄存 器的地址信息字节以后 ,会启动 CC2420 的内部操作 ,如用 SNO P 空 操 作 来 检 查 CC2420 的 状 态 , 用 SRXON/ STXON 打 开 CC2420 的 收 发 机 , 用 SXOSCON/ SXOSCO FF 启动和关闭晶振振荡器 ,用 STXONCCA 进行 硬件自动空闲信道检测 ,用 SFL U S HRX/ SFL U S H TX 刷 新接收/ 发送缓存区等 。
A Tmega128L 访 问 CC2420 时 , 首 先 通 过 SI 向 CC2420 发送一个字节的地址信息 。这个地址信息字节的 最高位表示访问的类型 ,0 表示访问寄存器 , 1 表示访问 RAM 。访问寄存器时 ,地址信息字节的第 6 位表示操作类 型 ,0 表示写操作 ,1 表示读操作 ,5~0 位用来编址 50 个寄 存器 。如 果 是 读 操 作 , CC2420 就 通 过 SO 发 送 给 A Tmega128L 地址信息字段指定的寄存器中存放的 16 位 数 据 ; 如 果 是 写 操 作 , CC2420 就 立 即 开 始 接 收 A Tmega128L 通过 SI 发过来的 16 位数据 ,并写入到地址 信息字段指定的寄存器中 。
At mega128L 和 CC2420 相连的状态位及其相应的功 能如表 1 所示 。
FIFO P
当在接收缓存区 RX FIFO 中的未读出的数据字 节超过 IOCF G0. FIFO P_ T HR 设定的值时 (默 认为 128 字节) ,该信号变为高电平 。当一个完 整数据包的被接收以后也会变高 ,哪怕包的长 度小于预定值 。在这种情况下 , 当数据从 RX FIFO 中读出后 ,该信号变为低电平 。当该信号 置高电平时 ,可以触发处理器的外部中断 ,进入 中断 ,接收缓存区 RXFIFO 中的数据 。
2 软件设计
AVR S TUDIO 是 A TM EL 公司免费提供的一个专门 用于开发 AV R 系列单片机的集成工作环境 ,支持 AVR 全 系列单片机的开发 ,具有项目管理器 、汇编程序编译器 、软 件模拟仿真功能等 , 但是需要第三方提供的 C 语言编译 器 。WinAVR 软件包含支持 AVR 单片机开发的 C 编译 器 AV R2GCC[5] ,可以与 AV R S TUDIO 联合 ,对 AV R 系 列的单片机进行 C 语言的开发[6] 。 2. 1 IEEE 802. 15. 4 的 MAC 层的帧格式
1 网络节点硬件设计简介
1. 1 ATmega128L 的特性 8 位低功耗 、高性能的微处理器 A Tmega128L [3] 具有
丰富的资源和极低的能耗 。它具有片内 128 KB 的程序存 储器 ( FL AS H) , 4 KB 的数据存储器 ( SRAM , 可外扩到 64 KB) 和 4 KB 的 EEPROM ;有 8 个 10 位 ADC 通道 ,2 个 8 位和 2 个 16 位硬件定时/ 计数器 ,并可在多种不同的模 式下工作 ;8 个 PWM 通道 、可编程看门狗定时器和片上振 荡器 、片上模拟比较器 ; UA R T 、SPI、I2C 总线接口 ;J TA G 口为开发和调试提供了方便的接口 。 1. 2 CC2420 的特性
当 CC2420 接收到 A Tmega128L 发送的地址信息字 节或者数据时 ,会通过 SO 向处理器返回一个 8 位状态字 , 表示 CC2420 的当前状态 ,根据相应的状态对 CC2420 进行 相应的操作 ,如 16 M Hz 振荡器是否振荡 ,发送 FIFO 缓存 区是否溢出 ,RF 传输是否忙 ,RSSI 是否有效等 。
Wireless communication implement based on MCU controlling RF chip CC2420
Wang Jif u Ma Jiancang L u Cho ng ( Nort h Western Polytechnical Universit y ,School of Elect ronic and Information ,xiπan 710072)
在接收过程 ,当检查到有效的起始帧分隔符后 SFD 变为高电平 ,整个数据包接收完后变为低 电平 ;在发送过程 ,当 SFD 被传送后 SFD 信号 SFD 变为高电平 ,整个数据包传完立即变为低电平 。 可以用来判断是否接收到或传送完完整的数据
包 ,在程序设计中非常重要 。
CCA
在接收状态下 ,CC2420 只要经过 8 个的符号周 期 ,如果信道内没有数据 , CCA 信号变为高电 平 ,否则为低电平 。默认的 CCA 模式已经足够 了 ,不需要在程序中进行额外的设置 。
微处理器应用
电 子 测 量 技 术 EL EC TRON IC M EASU R EM EN T TEC HNOL O GY
第 30 卷 第 5 期 2007 年 5 月
基于单片机控制射频芯片 CC2420 无线通信的实现 3
王吉富 马建仓 卢 崇
(西北工业大学 电子信息学院 西安 710072)
0 引 言
IEEE 802. 15. 4 标准[1] 由 IEEE 802. 15. 4 联盟于 2003 年 5 月制定完成并发布 , 不仅具有低成本 、低功耗 、低速 率 、低复杂度的特点 ,而且还具有高可靠性 、组网简单 、灵 活的优势 , 成为通信领域研究的热点 。随着该标准的发 布 ,世界各大无线芯片生产厂商陆续推出了支持 IEEE 802. 15. 4 的无线收发芯片 。本文是基于所设计的硬件平 台 A Tmega128L + CC2420 , 介 绍 了 A Tmega128L 和 CC2420 射频芯片的性能特点及控制方式 ,阐述了 2 个节 点间无线通信的实现过程及调试方法 ,为组建 ZigBee 网络 作了准备和铺垫 。
王吉富 等 :基于单片机控制射频芯片 CC2420 无线通信的实现
第5期
0. 18μm 的 CMOS 工艺生产 ,具有很高的集成度 。CC2420 具有完全集成的压控振荡器 ,只需要天线 、16 M Hz 晶振等 非常少的外围电路就能在 2. 4 GHz 的频段工作 。CC2420 只提供一个 SPI 接口与微处理器相连 ,通过这个接口完成 寄存器的设置和收发数据的任务 。 1. 3 ATmega128L 和 CC2420 之间的连接和控制
表 1 其他状态位及其相应的功能
ຫໍສະໝຸດ Baidu
信号位
功能
驱动该信号为高电平用于使能 CC2420 的电压 V REG_ EN 调整器 ,使其产生 CC2420 所需要 1. 8V 电压 ,从
而使 CC2420 进入正常工作的状态 。
低电平有效 ,用于复位 CC2420 ,使其恢复到出 RESETn 厂默认值 。
CC2420 基于 Chipcon 公司的 Smart RF03 技术 ,使用
3 基金项目 :西北工业大学研究生创新试验中心资金 (06007) 资助
·88 ·
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
所设计的网络节点的结构简图如图 1 所示 。CC2420 与 A Tmega128L 的连接非常方便[4] 。处理器通过 10 条线 就可以实现对 CC2420 的控制 。A Tmega128L 通过 V R EG _ EN 和 R ESET_ N 两个引脚实现对 CC2420 的使能和复 位 ,通 过 SPI 接 口 与 CC2420 交 换 数 据 、发 送 命 令 等 ; CC2420 通 过 SFD 、FIFO 、FIFO P 和 CCA 四 个 引 脚 向 A Tmega128L 返回其收发数据的状态 。
摘 要 : IEEE 802. 15. 4/ ZigBee 技术是近年来通信领域中的研究热点 ,具有低成本 、低功耗 、低速率 、低复杂度的特点 和高可靠性 、组网简单 、灵活的优势 ,被称为无线传感器网络的国际标准 。各个网络节点间的无线通信是实现 ZigBee 网络的前提条件 。本文基于所设计的网络节点 A Tmega128L + CC2420 ,介绍了 A Tmega128L 单片机和 CC2420 射频 芯片的性能特点及控制方式 ,并阐述了 2 个节点间无线通信的实现过程及调试方法 。在此基础上加上 ZigBee 网络协 议构建了应用广泛的 ZigBee 网络 。 关键词 : IEEE 802. 15. 4 标准 ; ZigBee 网络 ; 射频芯片 ; 无线通信 中图分类号 : TN92 文献标识码 : A
F IFO
当接收缓存区 RX FIFO 中至少有一个字节未被 读出 ,该信号为高电平 。当最后一个字节读出 后 ,该信号变为低电平 。可以用来判断接收缓存 区 RXFIFO 中是否有数据 。
图 1 网络节点的无线通信模块化框图
CC2420 有 33 个 16 位配置寄存器 、15 个命令选通寄 存器 、1 个 128 B 的 RX RAM 、1 个 128 B 的 TX RAM 、1 个 112 B 的安全信息存储器 。
CC2420 每 个 命 令 选 通 寄 存 器 的 地 址 相 当 于 一 条 CC2420 可执行的指令 ,当 CC2420 接收到写命令选通寄存 器的地址信息字节以后 ,会启动 CC2420 的内部操作 ,如用 SNO P 空 操 作 来 检 查 CC2420 的 状 态 , 用 SRXON/ STXON 打 开 CC2420 的 收 发 机 , 用 SXOSCON/ SXOSCO FF 启动和关闭晶振振荡器 ,用 STXONCCA 进行 硬件自动空闲信道检测 ,用 SFL U S HRX/ SFL U S H TX 刷 新接收/ 发送缓存区等 。
A Tmega128L 访 问 CC2420 时 , 首 先 通 过 SI 向 CC2420 发送一个字节的地址信息 。这个地址信息字节的 最高位表示访问的类型 ,0 表示访问寄存器 , 1 表示访问 RAM 。访问寄存器时 ,地址信息字节的第 6 位表示操作类 型 ,0 表示写操作 ,1 表示读操作 ,5~0 位用来编址 50 个寄 存器 。如 果 是 读 操 作 , CC2420 就 通 过 SO 发 送 给 A Tmega128L 地址信息字段指定的寄存器中存放的 16 位 数 据 ; 如 果 是 写 操 作 , CC2420 就 立 即 开 始 接 收 A Tmega128L 通过 SI 发过来的 16 位数据 ,并写入到地址 信息字段指定的寄存器中 。
At mega128L 和 CC2420 相连的状态位及其相应的功 能如表 1 所示 。
FIFO P
当在接收缓存区 RX FIFO 中的未读出的数据字 节超过 IOCF G0. FIFO P_ T HR 设定的值时 (默 认为 128 字节) ,该信号变为高电平 。当一个完 整数据包的被接收以后也会变高 ,哪怕包的长 度小于预定值 。在这种情况下 , 当数据从 RX FIFO 中读出后 ,该信号变为低电平 。当该信号 置高电平时 ,可以触发处理器的外部中断 ,进入 中断 ,接收缓存区 RXFIFO 中的数据 。
2 软件设计
AVR S TUDIO 是 A TM EL 公司免费提供的一个专门 用于开发 AV R 系列单片机的集成工作环境 ,支持 AVR 全 系列单片机的开发 ,具有项目管理器 、汇编程序编译器 、软 件模拟仿真功能等 , 但是需要第三方提供的 C 语言编译 器 。WinAVR 软件包含支持 AVR 单片机开发的 C 编译 器 AV R2GCC[5] ,可以与 AV R S TUDIO 联合 ,对 AV R 系 列的单片机进行 C 语言的开发[6] 。 2. 1 IEEE 802. 15. 4 的 MAC 层的帧格式
1 网络节点硬件设计简介
1. 1 ATmega128L 的特性 8 位低功耗 、高性能的微处理器 A Tmega128L [3] 具有
丰富的资源和极低的能耗 。它具有片内 128 KB 的程序存 储器 ( FL AS H) , 4 KB 的数据存储器 ( SRAM , 可外扩到 64 KB) 和 4 KB 的 EEPROM ;有 8 个 10 位 ADC 通道 ,2 个 8 位和 2 个 16 位硬件定时/ 计数器 ,并可在多种不同的模 式下工作 ;8 个 PWM 通道 、可编程看门狗定时器和片上振 荡器 、片上模拟比较器 ; UA R T 、SPI、I2C 总线接口 ;J TA G 口为开发和调试提供了方便的接口 。 1. 2 CC2420 的特性
当 CC2420 接收到 A Tmega128L 发送的地址信息字 节或者数据时 ,会通过 SO 向处理器返回一个 8 位状态字 , 表示 CC2420 的当前状态 ,根据相应的状态对 CC2420 进行 相应的操作 ,如 16 M Hz 振荡器是否振荡 ,发送 FIFO 缓存 区是否溢出 ,RF 传输是否忙 ,RSSI 是否有效等 。
Wireless communication implement based on MCU controlling RF chip CC2420
Wang Jif u Ma Jiancang L u Cho ng ( Nort h Western Polytechnical Universit y ,School of Elect ronic and Information ,xiπan 710072)
在接收过程 ,当检查到有效的起始帧分隔符后 SFD 变为高电平 ,整个数据包接收完后变为低 电平 ;在发送过程 ,当 SFD 被传送后 SFD 信号 SFD 变为高电平 ,整个数据包传完立即变为低电平 。 可以用来判断是否接收到或传送完完整的数据
包 ,在程序设计中非常重要 。
CCA
在接收状态下 ,CC2420 只要经过 8 个的符号周 期 ,如果信道内没有数据 , CCA 信号变为高电 平 ,否则为低电平 。默认的 CCA 模式已经足够 了 ,不需要在程序中进行额外的设置 。