赞
踩
adapterBoardDriver_xxxxxxxxxxxxxxx
工程的固件adapterBoardDriver_xxxxxxxxxxxxxxx
,带屏幕显示的工程,可以选择更多的功能操作VGKitBoard_xxxxxxx_easyDemo_V01
,不带屏幕显示,收发测试有LED指示灯指示radio
,无线模块驱动库供电:
显示屏: JLX19296G-382
按键: 5个功能操作按键,1个主控复位按键
金手指连接器P1: PCIE连接器52PINH5.2
可以通过主板上的排针选择输出到转接板的供电
USB座子P7: Micro-B座子
无线数据收发
、固件更新升级
(按住S5按键上电即可进入固件升级模式)SWD烧录接口P5: 可以接J-link仿真器、DAP仿真器或其他烧录器
开发板出厂默认烧录带屏幕显示的工程的固件,用户拿到开发板后可以进行无线模块的收发测试,可以设置不同的频点信道、发射功率、无线波特率等。
根据框图可知,与无线操作有关的软件主要集中在无线操作API
、无线底层驱动API
、射频硬件驱动
,只要熟悉了这3个部分,无线应用的开发就可以如鱼得水了,SDK里的其他部分都是为了项目的功能实现而来的,需要根据不同的MCU平台和项目需求来实现和调用。
接下来详细介绍下这3部分的软件实现:
大部分的无线模块要想运行起来都是通过SPI接口驱动,SPI接口又分3线和4线,模块操作的时候基本是通过操作寄存器,所以对于SPI接口,只需要把SPI的字节操作接口封装好,对于寄存器操作来说3线或者4线基本没有区别,比如台湾笙科的A7169支持3线和4线SPI驱动,如果有省IO口的需求可以在3线和4线SPI选择方面做优化。
射频硬件驱动操作一般包括:SPI接口初始化
、无线响应触发中断IRQ信号
、辅助IO
(比如磐启的PAN3020有模式控制脚CE,CMOSTEK的CMT2300A有内存访问片选脚CSB和FCSB)
SPI接口初始化 注意事项:
无线响应触发中断IRQ信号 注意事项:
一般的无线模块都有一个引脚用来做一些状态响应的中断信号,虽然有些无线模块可以通过寄存器查询的方式查询状态响应,但是这种做法是不够明智的,特别是在接收模式下,频繁操作SPI会影响无线的底噪,对于无线通讯来说这是很致命的,通讯距离会大打折扣。
这个信号可以通过外部中断来接收或者查看电平的方式。比如发送数据时,发送完成或者发送出错模块都会通过这脚输出一个电平翻转信号出来,知道用户操作了SPI或者清除相关中断寄存器。翻转为高电平或者低电平可查看对应的芯片引脚说明。
辅助IO 注意事项:
这部分代码一般是基于SPI驱动封装一些无线模块的寄存器操作(比如寄存器的读写)和一些无线模块的基本功能操作(比如射频寄存器的初始化、PLL校准等),这部分驱动基本是要射频芯片原厂来提供,一颗无线模块性能的好坏,7分看原厂提供的这部分SDK的优化程度。
这部分API是同时对接应用层和底层驱动层用的,可以说是起到承上启下的作用,更是为了方便应用层兼容不同厂家的射频芯片的驱动。因为每个芯片厂家提供驱动的封装都基本不一样,所以封装这一层API是为了给用户提供更好的API操作,统一应用层的无线操作API
对于单片机嵌入式开发,每个项目的开发环境都不尽相同,这时要想模块在对应的项目平台上跑起来,就需要将相应的驱动移植过来
..\adapterBoardDriver_xxxxxxxxxxxxxxx_Vxx ├──app \\常用应用模块封装 | └── ├──core \\MCU内核文件 | └── ├──STM32F10x_FWLib \\MCU官方库函数 └── ├──image \\md文件显示用的图片 | └── ├──keil_v5 \\keil编译器工程文件,包含编译生成的HEX文件 | └──Object \\编译生成的HEX文件在此文件夹 ├──peripheral \\项目用到的MCU外设 | └── ├──project \\项目的主函数和GPIO定义包含文件 | └──main.c ├──radio \\射频底层驱动文件 | ├──myRadio_gpio.c \\射频驱动接口硬件初始化 | └──myRadio.c \\为无线应用通用封装API | └──其他.c \\为无线底层封装API
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。