|
@@ -1,11 +1,15 @@
|
|
|
## 一、项目名称
|
|
|
adapterBoardDriver
|
|
|
+
|
|
|
## 二、产品类型
|
|
|
演示板
|
|
|
+
|
|
|
## 三、应用场景
|
|
|
无线数据收发、测试通讯距离
|
|
|
+
|
|
|
## 四、传感器及驱动接口
|
|
|
无
|
|
|
+
|
|
|
## 五、按键
|
|
|
6个
|
|
|
1. `S1`按键可以移动光标(选择的项会反显)向上选择设置项,或向上设置数值,可以循环移动选择
|
|
@@ -13,30 +17,40 @@ adapterBoardDriver
|
|
|
1. `S3`按键可以移动光标(选择的项会反显)向下选择设置项,或向上设置数值,可以循环移动选择
|
|
|
1. `S4`按键功能待定
|
|
|
1. `S5`按键,功能1:开机界面时,按下进入功能选择界面。功能2:确定选择项目。功能3:退出设置状态
|
|
|
+
|
|
|
## 六、LED指示灯
|
|
|
2个
|
|
|
1. `D5`蓝色LED,发送成功指示灯灯
|
|
|
2. `D4`红色LED,接收成功指示灯灯
|
|
|
+
|
|
|
## 七、显示器类型及驱动接口
|
|
|
深圳市晶联讯电子的液晶模块`JLX19296G-382-PN`
|
|
|
该液晶模块支持4线SPI串行接口和IIC接口,本项目使用IIC接口驱动,显示大小192*96 点阵
|
|
|
+
|
|
|
## 八、功耗要求
|
|
|
无
|
|
|
+
|
|
|
## 九、供电方式
|
|
|
支持三种供电
|
|
|
1. USB的MICRO-B插头供电
|
|
|
1. 3*5号电池供电
|
|
|
1. 2pin的PH座子供电,注意电压不能超过5V
|
|
|
+
|
|
|
## 十一、尺寸
|
|
|
87mm*131.5mm
|
|
|
+
|
|
|
## 十二、射频频段
|
|
|
433MHz、490MHz、868MHz、915MHz
|
|
|
+
|
|
|
## 十三、射频芯片方案
|
|
|
`SI4438_C2A`,`SI4438_C2A`,`SI4463_C2A`,`SI4463_C2A`,`SI4463_C2A`,`SI4438_B1C`,`SI4438_B1C`,`SI4463_B1B`,`SI4463_B1B`,`SI4463_B1B`
|
|
|
+
|
|
|
## 十四、主控芯片方案
|
|
|
`AT32F413RCT7`该MCU与`STM32F103RCT6`软硬件兼容
|
|
|
+
|
|
|
## 十五、认证要求
|
|
|
无
|
|
|
+
|
|
|
## 十六、外部连接接口
|
|
|
1. `P7`串口转USB
|
|
|
1. `J1``J2`MCU的GPIO口
|
|
@@ -44,12 +58,16 @@ adapterBoardDriver
|
|
|
1. `P7`MICRO-B类型USB座子,供电
|
|
|
1. `P6`外部供电
|
|
|
1. `P5`仿真烧录接口
|
|
|
+
|
|
|
## 十七、编译器
|
|
|
`MDK-ARM Standard Version: 5.14.0.0`
|
|
|
+
|
|
|
## 十八、编程语言
|
|
|
C99标准
|
|
|
+
|
|
|
## 十九、SDK版本
|
|
|
`STM32F10x_StdPeriph_Lib_V3.5.0`
|
|
|
+
|
|
|
## 二十、功能描述
|
|
|
<div >
|
|
|
<img src="image/mainUi.png" height="150" width="200">
|
|
@@ -59,7 +77,9 @@ C99标准
|
|
|
<img src="image/continuous.png" height="150" width="200">
|
|
|
</div>
|
|
|
|
|
|
+
|
|
|
### 数据包收发测试
|
|
|
+
|
|
|
#### 发送测试
|
|
|
`主界面`<img src="image/mainUi.png" height="60" width="85">-->按键`S5`-->功能选择`Enter RF Transmiter`<img src="image/select_tx.png" height="60" width="85">-->按键`S5`-->进入`Packet Tx`<img src="image/packetTx.png" height="60" width="85">-->按键`S5`-->开始发送,同时`START`会闪烁显示
|
|
|
发送完成后,6S内收到ACK,会立即触发重新发送,同时会重新设置重发超时时间(从开始发送到接收到ACK的时间),超时后自动重发,超时重发10次后,重发超时时间自动切换回6S。
|
|
@@ -70,6 +90,7 @@ C99标准
|
|
|
2. `100%`为统计的丢包率,重新按下按键`S5`重新计数
|
|
|
3. `hello world?`为无线收到的数据包,其中的`?`位置的字符每次都会不一样
|
|
|
4. `-004dBm`为最新一次无线收到的数据包的信号强度
|
|
|
+
|
|
|
#### 接收测试
|
|
|
`主界面`<img src="image/mainUi.png" height="60" width="85">-->按键`S5`-->功能选择`Enter RF Receiver`<img src="image/select_rx.png" height="60" width="85">-->按键`S5`-->进入`Packet Rx`<img src="image/packetRx.png" height="60" width="85">-->按键`S5`-->开始接收,同时`START`会闪烁显示
|
|
|
收到数据后`D4`红色LED灯闪烁一下
|
|
@@ -79,6 +100,7 @@ C99标准
|
|
|
1. `-13dBm`为最新一次无线收到的数据包的信号强度
|
|
|
1. `hello world2`、`hello world3`、`hello world4`为无线收到的3个数据包,收到新的数据包时显示会向上滚动
|
|
|
|
|
|
+
|
|
|
### 功能参数设置
|
|
|
<div align="center">
|
|
|
<img src="image/setting.png" height="150" width="200">
|
|
@@ -100,10 +122,13 @@ C99标准
|
|
|
3. `Step`,信道间隔,即每个信道之间的频率带宽,该设置需根据实际情况而定,不宜太小,过小的间隔可能会造成不同信道的设备串频造成干扰。
|
|
|
4. `TxPower`,无线发射功率。发射功率越大,功耗越高,相应的通讯距离也会越远
|
|
|
5. `RfBr`,无线波特率。无线波特率的大小即传输速率的大小,无线波特率越大,传输消耗时间越小,相应的传输距离越短,反之则越远。最终的通讯距离,在排除外在因素的情况下,可以从无线发射功率和无线波特率这两个参数评估
|
|
|
+
|
|
|
## 二十一、备注说明
|
|
|
+
|
|
|
### 射频驱动移植
|
|
|
1. 需要将文件夹`radio`中的API全部移植,与硬件相关的已全部定义在`radio/myRadio_gpio.c`中,若目标平台也是C语言环境,将文件夹`radio`中的文件拷贝过来后,只需对应的修改`radio/myRadio_gpio.c`文件中的GPIO定义既可,由于`myRadio_gpio.c`中用到的GPIO是宏定义在`project/board.h`,所以也需要将`radio/board.h`中的定义移植过来。如果MCU平台也是相近的,只需修改`project/board.h`中对应的宏定义即可。
|
|
|
2. 本公司为了统一demo程序,将射频相关的操作重新定义了一层,详见`radio/myRadio.c`,无线应用开发,可以参考借鉴。
|
|
|
+
|
|
|
### 射频芯片驱动IO口说明
|
|
|
驱动IO口均定义在`project/board.h`中
|
|
|
1. BOARD_GPIO_SPI_CLK
|
|
@@ -115,12 +140,16 @@ C99标准
|
|
|
7. BOARD_GPIO_SPI_GPIOC -> 直连射频芯片的`IO3`引脚,用于接收芯片操作的中断响应输出指示,本工程该引脚未使用,用户可以配置中断映射功能
|
|
|
8. BOARD_GPIO_SPI_GPIOD -> 直连射频芯片的`busy`引脚,用于检测射频芯片工作状态是否忙状态,
|
|
|
9. 其他IO口未使用,可根据实际情况移植
|
|
|
+
|
|
|
### 无线应用开发注意事项
|
|
|
+
|
|
|
#### 无线频率
|
|
|
1. 避免使用中心频率为射频芯片使用的晶体频率整数倍的,比如晶体频率为32MHz,就需要避免使用`448MHz`的中心频点
|
|
|
+
|
|
|
#### 驱动调试
|
|
|
1. 首先保证SPI通讯正常,具体SPI时序需根据射频芯片要求设置,可通过示波器或者逻辑分析仪进行硬件分析
|
|
|
2. SPI通讯正常后,进一步调试查看寄存器操作,读写寄存器,若能正常操作,基本可判定移植成功了
|
|
|
+
|
|
|
#### 通讯距离
|
|
|
影响无线传输距离的因素
|
|
|
1. 无线电频谱,包括使用的无线频段和无线波特率
|
|
@@ -128,9 +157,12 @@ C99标准
|
|
|
3. 天线增益,不同增益的天线对无线信号的接收效果影响很大
|
|
|
4. 路径损耗,主要是包括无线使用的周围环境,比如楼宇、树木山峰遮挡
|
|
|
5. 其他的无线信号干扰
|
|
|
+
|
|
|
## 二十二、软件开发
|
|
|
+
|
|
|
### template Version
|
|
|
V04
|
|
|
+
|
|
|
### 工程文件架构
|
|
|
```c
|
|
|
..\adapterBoardDriver_xxxxxxxxxxxxxxx_Vxx
|
|
@@ -152,6 +184,7 @@ C99标准
|
|
|
| ├──myRadio_gpio.c \\射频驱动接口硬件初始化
|
|
|
| └──myRadio.c \\为无线应用通用封装API
|
|
|
```
|
|
|
+
|
|
|
### 无线应用通用封装API-radio/myRadio.c
|
|
|
1. **初始化**-`void myRadio_init(int agr0, void *agr1_ptr)`
|
|
|
射频芯片驱动IO口初始化-`myRadio_gpio_init()`
|
|
@@ -174,9 +207,12 @@ C99标准
|
|
|
13. **射频中断回调函数**`void myRadio_gpioCallback(uint8_t index)`
|
|
|
外部中断检测定义在`myRadio_gpio.c`
|
|
|
14. 其他,官方未定义,属于第三方定义的常用API,不同厂家的射频方案不一定都能用
|
|
|
+
|
|
|
### 版本更新
|
|
|
+
|
|
|
#### V07
|
|
|
|
|
|
+
|
|
|
## 二十三、免责说明
|
|
|
1、本工程驱动软件只提供做演示项目使用,未经过大批量项目验证,客户需谨慎使用,如果使用在正式项目中引发的所有问题,本司概不负责。使用过程若发现任何问题,可及时与本司相关人员联系。
|
|
|
2、本工程所有文件可以用于商业性项目移植,无需向本司申请。
|