第四章 怎样开发低功耗蓝牙产品

1.1,准备

       Nordic Semiconductors的开发工具包nRF51-DK

       nRFgo Studio综合开发环境

       nRF51 SDK(软件开发套件)软件开发包(含芯片开发的参考代码以及文档)

       用于模拟低功耗蓝牙主机的USB加密狗(烧录相应固件后,可以作为主机接收来自机器的数据,并通过USB接口发送给PC端软件,也可将PC端软件的命令和数据通过加密狗发送给从机)

       主控制面板工具Master Control Panel(配合USB Dongle的使用可以实现低功耗主机的功能)

       nRF Sniffer蓝牙嗅探工具(抓取空中包,当Sniffer工具开始运行起来之后,软件会自动找到nrf51822 Dongle或nrf51822 EK,将周围正在广播的设备以列表的形式在计算机上显示出来)

        数据包分析工具Wireshark(Wireshark是开源项目,用于GPL协议发行,所有的源代码在GPL框架下都可以免费使用。在开发过程中,可以用nRF Sniffer抓取数据,然后用Wireshark数据包分析工具来分析抓取的数据)

        ARM软件开发平台(keil ARM-MDK / IAR / GCC)

1.2,nRF51系列SOC多协议芯片

        以ARM Cortex-M0 32位处理器位核心,嵌入Nordic独有的低功耗无线射频架构,配合不同的协议栈,可以支持低功耗蓝牙以及ANT协议,还可以与Niordic的nRF24L系列芯片无线兼容。

        nRF51822集成了丰富的模拟/数字外设,这些外设可以通过PPI系统内部互联而不用通过CPU,可以大大提高CPU效率并降低功耗。具有31个GPIO,支持I / O映射,所有数字外设(如SPI,I²C,UART等)均可配置映射到任何一个I / O引脚接口。

        通常的处理器系统,如果需要外设之间的苏剧交换,通常采用IRQ中断来响应和处理外设的请求,需要占用CPU资源。而PPI采用矩阵方式,横向为事件,纵向为任务,将相应的矩阵交叉,即可实现某一个外设和另一个外设的任务设置关联不需要占用CPU资源

         PPI通道设置是通过设置相关寄存器来实现的,每建立一个PPI通道设置需要分别设置任务结束点寄存器任务结束点寄存器(TEP)和事件结束点寄存器事件结束点寄存器(EEP),然后使能该PPI通道如:

         NRF_PPI-> CH0_EEP =(uint32_t)&NRF_TIMER0-> EVENT_COMPARE0;

         NRF_PPI-> CH0_TEP =(uint32_t)&NRF_TIMER1-> TASKS_START;

         nRF51内部具备GPIOTE模块,可提供4个GPIOTE通道.GPIOTE通道可以与PPI关联,配置为当GPIO上的逻辑电平变化时产生一个事件电平或边沿触发通过GPIOTE通道可以实现:1)使能外设直接影响输入引脚0.2)实时采集数据而无需CPU处理。

         nRF5允许外设或处理器通过DMA的方式来访问内存,采用了Easy DMA方式,无需专门的DMA控制器。步骤:1)配置一个参数,即RAM的指针.2)启动相应外设的Easy DMA功能即可。

        电源管理:在nRF51中,所有的外设均可以单独关闭或使能。

1.3,低功耗蓝牙SOC nRF51软件平台架构

        协议栈“Softdevice”架构实现协议栈与应用代码的完全分离,协议栈和应用代码位于不同的存储器空间。协议栈经过蓝牙测试认证,以十六进制文件方式提供,由用户烧录到芯片内的Flash内指定区域,应用代码通过Softdevice提供的API接口来调用协议栈所提供的功能。在产品开发完成后,可以根据需要对协议栈和应用代码分别升级

        协议栈(Softdevice):独立的预编译软件模块,与应用分别独立烧录,应用编译时无需链接。

        协议栈(Softdevice)包含的内容:ANT和BLE协议栈,支持模块,保持协议栈和应用的独立。

        闪速存储器(256KB)分为两个区,区0为Softdevice区,受系统保护,应用代码不能对这个区进行读写,擦除等操作,区1为应用代码区,可以作为代码以及参数的非易失存储空间.nrf51822AA有256KB的Flash空间,使用S110 Softdevice(容量88KB)时,则还有约176KB可以提供给应用代码调用.RAM也分两个区,区0由Softdevice使用,区1为应用程序所使用。在nrf51822AA的16KB中,使用了8KB,还有8KB可以提供给应用代码使用。


       本系列文章是本人在阅读由谭晖编着的“低功耗蓝牙技术快速入门”后想记录的一些知识点,若有读者想进一步了解有关nrf51822这个芯片的具体资料,可以去阅读“低功耗蓝牙技术快速入门“这本书。   

猜你喜欢

转载自blog.csdn.net/weixin_38915701/article/details/80041945
今日推荐