第一节 项目概述设计一款无线CAN转发器,由若干个终端组成,若干个终端之间可以将接收到的CAN数据通过无线的方式转发出去。
% F. t. o' c+ p# D, I* \第二节 硬件概述该CAN转发器由24V供电。该CAN转发器的无线数据存在4个信道,不同信道的CAN转发器无法收到数据,在复杂的条件下,无线传输距离不低于500m。) N: U1 D7 ?1 m8 h3 W
第三节 软件概述无线传输存在4个信道,初始化默认信道0,上电之后在100ms内切换信道,信道切换由特定的CAN帧控制。注意:上电初始化为信道0,其余3个信道由软件切换。CAN波特率采用250k,采用CAN2.0B扩展帧,8位数据帧。每间隔100ms需转发7个CAN 帧。以下是发送节点和接收节点的对应关系:6 z! g& A" D; F+ @+ M. I1 ]
ybak5wegi2y6404971507.png
. ^/ u: ^- c5 s) ?, T8 V第一个CAN_ID为命令帧,该帧第一第二字节为帧头0xA6和0x38,第三字节为发送数据命令(0x00)或切换信道命令(0x99),若为发送数据命令,则将7个CAN帧的数据按照ID顺序组成一包,无线发送出去;若为切换信道命令,则通过第一个CAN_ID的第六个字节来切换到哪一个信道,一共三个信道,为信道1,信道2和信道3。注意:初始化为单独的信道0。其余CAN_ID皆为数据帧。示例: Y, Q# h& {. o: N. y
发送节点
, d4 H1 h& p$ e0 p" m4 e) G i | CAN节点数据
* V/ J$ q! K6 ^9 j3 T, Z* @ | 0x028000101 ~6 s- [5 }7 J( J# A
| A6 38 99 00 00 03 00 00. D9 b8 U6 [- a7 B, D! u
| 0x02800020
+ a& e% f% Q8 X- S. E5 T | 21 22 23 24 25 26 27 284 K- o d# ^* E9 V0 J
| 0x02800030
( u. R! K! j1 f! e | 31 32 33 34 35 36 37 38
( Q4 P3 B+ i- ~; c% z% n | 0x02800040' R8 h* _3 F) p+ ?& Q: [
| 41 42 43 44 45 46 47 48. T/ q' T6 C5 T$ D) h* v
| 0x02800050
" y6 D, Q$ I0 R: T' w' H$ @( K+ U | 51 52 53 54 55 56 57 58" x2 \! t) v4 a: E
| 0x02800060
+ F, Y4 \/ p5 C5 x& r: k, e | 61 62 63 64 65 66 67 68# V) l; Z3 [8 Q# X
| 0x02800070# {$ H$ i2 B0 v+ a/ D
| 71 72 73 74 75 76 77 78( y7 B0 ]( i- {1 j* \% L# M: n
| 上面的第一个CAN_ID节点为:0x02800010,数据第一第二字节为0xA6和0x38,第三字节为命令字节,上述命令为0x99,为切换信道命令,第六个字节为0x03,则切换到第三个信道。以下是流程图:
$ R, ?9 R' w/ L! \+ X' i/ |
llnskkifrbd6404971607.png
6 Q* X7 A" O4 w5 N/ D# @
1 u Y3 `) |8 z) D O% u5 h* ^) x
第四节 学员作业请对项目需求选择合适的所有芯片,包括电源芯片,MCU,CAN芯片和无线芯片,要求在符合项目的需求下,尽可能的便宜。 |