(将本文讨论的 “BasicCAN” 和 “FullCAN” 称为 ”BasicCAN架构“ 和 ”FullCAN架构”,具体原因后面解释)
1.“BasicCAN架构” 和 “FullCAN架构”
CAN的Basic和Full类型,在配置Can的时候,这个配置项困扰了我很久。
摘自 Specification of CAN Transceiver Driver 4.0.3
https://www.autosar.org/fileadmin/user_upload/standards/classic/4-0/AUTOSAR_SWS_CANDriver.pdf
Basic:一个Hardware Object可以处理多个L-PDU
Full:一个Hardware Object只可以处理一个L-PDU
这个参数只会被CanIf使用,用于配置FilterMask和ID。
查了一圈,资料不算多,这个Basic和Full常常会让人和 CAN2.0A 和 CAN2.0B 混淆,然后在这个网站找到了比较靠谱的解释。
http://www.can-wiki.info/doku.php?id=can_faq:can_faq_basic_full
最开始只有一种CAN Controller,它被设计成了具有一定数量的报文buffer的形式。比如已经作古的Intel 82526(有5个message buffer