每个芯片厂商设计自己的can macro时,大致有两个方向去设计: basic can + full can.
他们的硬件设计不同, 但对于从外部的视角来看,通讯没有区别。
basic can 的极致主要就是一个register buffers w/r id+data, 所有消息都在一个硬件槽里。
full can 的极致主要就是有多个register buffer,以致于如果你的消息就5-6条的话,那么每个都可以分配一个专属buffer.
stm32 我不用。
在汽车电子领域,大家广为熟知的就是 Freescale S12' mscan (basic can) + PPC's Flexcan( fullcan)
NEC 78K0R's AFcan(flexcan) Rl78/V850's RScan(flexcan).
这些仅仅对你的驱动(专指软件)有影响,如果你想做到兼容的话。
lz可以去买专业公司的驱动代码, 带基本特性的版本大概只需50-60万RMB, 你就可以抱回家!
|