标题: CAN BUS特色与应用实例 [打印本页] 作者: admin 时间: 2015-4-27 19:47 标题: CAN BUS特色与应用实例 由于汽车产业不断追求安全可靠、极致性能、舒适方便以及低成本等目标,但汽车内高复杂的系统网络,使得线束过于庞大,导致成本提高且网络架构也难以持续提升,与前者形成冲突。
于是德国Bosch在1985年提出CAN BUS(Controller Area Network),不但解决了车内线束持续增加的问题,还为日后可靠且有效率的网络系统垫定了基础。1993年,CAN BUS更制定为标准化(ISO-11898),由于具有高可靠性和错误检测能力,也被广泛应用在船舶、航空电子、大众交通、农用设备、医疗设备、工业控制中。
CAN BUS的架构与特色
CAN BUS是一种串行双线式差分传输的技术规格(见图1),MCU负责运算数据,CAN Controller处理运算后的数据并传送“0”或“1”数据,经过 CAN Transceiver的转换由CAN High和CAN Low产生差分信号(见图2)。其中,CAN High电压减CAN Low电压小于0.5V代表逻辑状态为“1”,而CAN High电压减 CAN Low电压大于0.9V代表逻辑状态为“0”,所以图2中传送位串为101。藉由差分的方式可以避免噪声的产生,而终端电阻120Ω则是防止信息传送后反射造成的干扰。
CAN BUS上最小单位为节点(Node),每个节点都可以主动发送信息到总线上,也可以要求特定节点回传信息,并不限定于只有一个主控端。每个信息(Message)都是以识别子字段(ID Field )为起头,以识别值决定发送信息的优先权,数值越小优先权越高。所以信息的传递并不是定义在节点上,而是定义在信息上。由于是串接的架构加上识别子(ID)的判定机制,所以软硬件不需要做修正就能够轻易增加或移除节点,不但降低了布线成本也降低了维护的复杂度,这种多主控端架构成就更完整的智能网络设备。
OBDII (On Board Diagnosis - II ) 为一种车辆发生故障时,产生故障警示讯号,提醒驾驶人进厂维修的协议。我们可以使用支持CAN的MCU来实现,利用USB(Universal Serial Bus)装置和CAN来建构诊断系统,可随时将OBDII connector 接上汽车总线,并将其接收讯息透过USB传送到计算机,配合计算机端程序来诊断汽车内部异常讯号,进而加速汽车维修速度。