您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于μC/OS—III的CC1120驱动程序设计 正文
基于μC/OS—III的CC1120驱动程序设计

基于μC/OS—III的CC1120驱动程序设计

点击数:7974 次   录入时间:03-04 12:00:56   整理:http://www.55dianzi.com   嵌入式系统-技术
    硬件设备接口操作层是对CC1120的硬件SPI接口的直接操作和软件表达,该层为整个驱动模块提供了SPI同步串行通信机制。其中,trx8 BitRegAccess()实现了8位寄存器的存取功能;trx16BitRegAccess()实现了16位寄存器的存取功能;trxSpICmdStrobe()实现了芯片的指令选通功能,用于芯片工作状态切换。
    本文结合CC1120驱动体系结构,简要介绍其主要功能,即数据包的收发。
    应用层发送数据包之前,先调用perCC1120Ioctl()获取信道的RSSI值,当RSSI值低于信道忙碌的门限值时,则调用perCC1120Write()将需要发送的数据发送出去。perCC1120Write()的工作流程图如图8所示。本文使用了CC1120的通用GPIO0引脚,通过适当配置,该引脚电平会在发送或者接收完一个数据包时产生一个下降沿跳变。当上一包数据包发送完毕之后,GPIO0触发中断,STM32F103ZE进入中断处理程序,将会发送写缓冲区中的下一包数据包,直至发送缓冲区为空,再把CC1120置于空闲或休眠状态。

h.JPG

   
    当上层不处于发送状态时,CC1120都将置于接收状态或增强型无线电唤醒状态,当接收到一个数据包时,GPIO0引脚产生一个下降沿中断,STM32F103ZE进入中断处理程序,调用CC1120SpiReadRxFifo(),从接收缓冲RXFIFO中读取数据包,并将其放入接收环形缓冲区中。如果接收环形缓冲区满时,将放弃当前接收到的数据包。上层通过调用perCC1120Read()接口读取接收到的数据包,当接收缓冲区为空时,将阻塞上层的读取进程。perCC1120Read()的工作流程图如图9所示。

i.JPG

   
3.2 CC1120的配置要点
   
(1)寄存器配置软件
    针对CC1120的寄存器配置,TI公司提供了SmartRFStudio 7软件。通过这个软件可以对CC1120进行配置,以获得最佳寄存器设置以及性能和功能评估。配置软件根据用户输入的发射频率、晶振频率、符号速率等参数,生成相应的寄存器配置信息。
    (2)数据包处理的硬件支持
    CC1120内部支持的数据包处理方式有前导码、同步字、地址过滤、CRC、数据白化、状态字节、字节倒置等,同时,数据包长度类型支持固定长、可变长、无限长3种模式,可以通过手动配置PKT_CFG0~PKT_CFG2来实现。
    (3)增强型无线电唤醒
    在程序的实现过程中,当CC1120长时间没有接收到数据时,则开启增强型无线电唤醒功能(寄存器WOR_CFG0.RC_PD=0),并发送SWOR指令选通命令,将芯片工作状态切换到睡眠状态。CC1120将在MCU不干涉的前提下,周期性地从睡眠状态中唤醒并监听数据包的到来,从而降低系统的整体功耗。
    (4)接收的信号强度指示
    CC1120在接收状态下,能连续地从RSSI状态寄存器(RSSI0、RSSI1)中读取到RSSI值,直到检测到一个有效的同步字,其后RSSI读取值将被冻结。通过设置寄存器AGC_CFG1.AGC_SYNC_BEHAVIOR,可以解除RSSI值被冻结的状态。
    (5)通用数字输出引脚(GPIO0~GPIO3)
    在实际应用中,可以通过寄存器(IOCFG0~IOCFG3)配置,为上层实时提供信道或数据包状态等信息。本设计将寄存器IOCFG0的值设置为0x06,即利用了GPIO0引脚的电平跳变特点。当CC1120发送完或接收到一包数据包,触发MCU端口产生中断,并在中断服务程序中进行写入或读取缓冲区TX/RX FIFO等操作,使STM32F103ZE有更多时间处理其他事务或处于休眠状态,达到降低整个系统功耗的目的。

结语
   
基于μC/OS—III和CC1120的短距离窄带无线数传系统方案,可以实现低功耗、近距离、可靠的无线数据传输,具有成本低、可扩展性强、操作灵活简单的特点。通过对CC1120和STM32F103ZE进行适当的配置,硬件能在无数据收发的状态下,自动进入低功耗的睡眠或待机状态,可以大大降低硬件系统的整体功耗。大量测试结果表明,该窄带无线数据传输系统数据收发正常,整个系统运行稳定,具备RSSI检测、休眠唤醒等相关功能。



上一页  [1] [2] 


本文关键字:程序设计  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术