基于基于CAN Bus MCU的电梯控制器和监测应用设计的电梯控制器和监测应用设计
CAN Bus(Controller Area Network),控制器区域网,起源于80年代,由国际标准化组织(ISO)所发布,因
为利用双线差动(two-wired differential),使其即使在电器条件恶劣环境下,也可正常运作的一种传输总线。
又因双线沟通的特性,大幅缩减了其应用线路的使用量,也降低传统线路复杂易造成错误的发生机会。 基
于以上特性,CAN Bus一大应用层面即被导入于汽车工业,因传统的汽车使用线路复杂,使得早期汽车内部线
路易于发生故障时且较难以排除。因此双线差动讯号式CAN Bus的电器特性即被快速导入并广泛运用在各交通
工具领域(航空、轮船与汽车)或是工业控制。
CAN Bus(Controller Area Network),控制器区域网,起源于80年代,由国际标准化组织(ISO)所发布,因为利用双
线差动(two-wired differential),使其即使在电器条件恶劣环境下,也可正常运作的一种传输总线。又因双线沟通的特性,
大幅缩减了其应用线路的使用量,也降低传统线路复杂易造成错误的发生机会。
基于以上特性,CAN Bus一大应用层面即被导入于汽车工业,因传统的汽车使用线路复杂,使得早期汽车内部线路易于
发生故障时且较难以排除。因此双线差动讯号式CAN Bus的电器特性即被快速导入并广泛运用在各交通工具领域(航空、轮
船与汽车)或是工业控制。
强健的协议与其编码格式
CAN Bus基本的协议可分为CAN2.0A与CAN2.0B两个版本,A版与B版的主要差别在于识别子(ID)长度分别为11位与
29位。如图1所示为一个CAN 2.0协议传输的数据封包(Data Frame)。
图1. CAN协议编码格式图
图1为一个CAN数据封包的格式,可分为起始域、仲裁域、控制域、数据域、CRC域、应答域和结束域。每个封包(Frame)长
可达128位,以下分别说明各域的意义,其它详细资料可参考BOSCH公司的相关CAN Bus技术文件。
●起始域(SOF, Start of Frame):该值必为0,表示封包的开始。
●仲裁域(Arbitration Field):用于确定封包的优先级,由11位或29位识别子(ID)加上一位的RTR(Remote Transfer Request),
当RTR为0时,表示传出资料;RTR为1则表示为接收资料。
●控制域(Control Field):包含两个保留位(一般为0)和表示数据域内的数据长度DLC0~DLC3共有4位。
●数据域(Data Field):0~8个Byte的被传送数据
●CRC域(CRC Field):从SOF到Data Field的CRC验证码,用于检测传输上的错误,共有15位的长度。
●应答域(ACK Field):确认对方接收是否正常,若接收成功则会回传1。
●结束域(EOF, End of Frame):表示封包的结束,为7位连续的1。
CAN Bus的特征与优点
●CAN Bus可透过简单的信息滤波设定实现点对点、一对多个点或全网络广播等资料的传输方式。
●没有特定的主从端,且可以以多个主端方式工作,因此Bus上各节点均可在任一时刻主动发送信息至其它节点。
●藉由封包内仲裁域内的识别子来判定优先权,而非藉由地址,因CAN Bus为非破坏性的总线仲裁之技术,当优先层级不同的
事件发生,层级低的节点会主动放弃总线访问的权利,而高优先层级的可继续传输而不受影响。
●因具有优先层级之特性,大幅节省了当总线发生冲突时的仲裁时间,提升系统的实时性,而不会出现网络瘫痪的机会。
●具有良好的扩充性,因CAN Bus协议是定义信息,非以站台方式定义,因此可不需为软件硬件做修改即可增加站台。
●传输的距离与传输速度成反比,当传输距离达10km时传输速率约为5Kbps,若需较高的传输速率1Mbps,此时的传输距离为
40m。