SPI接口驱动的射频模块实际应用往往需要移植驱动适配不同的MCU平台。可以通过以下步骤快速验证驱动是否移植成功:
- 1、首先关注移植硬件相关的驱动,比如SPI接口操作,有些模块还有辅助中断信号脚
- 2、硬件驱动接口移植完后就可以开始测试射频初始化,可以通过读写某个寄存器,对比写进去的值和读出来的值是否一样(semtech的lora芯片可以通过busy脚来判断spi操作是否正常),可判断硬件连接和spi操作是否正常。
- 3、硬件连接和spi操作没问题后,可以先测试无线发送,调用数据发送接口,如果可以产生发送完成中断信号,表示驱动移植完成80%。
- 4、无线通讯需要一对才能实现数据的收发测试,两个板子都经过步骤1,2,3测试后,就可以将一块板子做发送,可以周期性的调用发送(注意周期不能太短),另一块板子做接收,如果能产生接收完成中断,表示驱动移植成功了。
初始化问题分析
如果初始化不通过,可以通过以下几个方面着手分析,最好是有逻辑分析仪配合分析
- 引脚连接问题:
- 4线SPI:mcu的spi的MISO和模组的MISO连接,MOSI和模组的MOSI连接
- 3线SPI:数据脚即做数据输出又做数据输入功能,一般只能通过模拟spi来驱动
- SPI的clk速率,一般的射频模块的clk不能超过10MHz,速率太高有可能会出现些意想不到的问题
- 供电电压
- spi时序,这个可以参照demo程序来分析
无IRQ中断问题分析
- 先排查外部中断软件配置是否正确
- 用示波器抓模块的IRQ引脚看实际是否有波形