CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。
对于主站的可靠性,由于CAN协议执行非集中化总线控制,所有主要通信,包括总线读取 (许可)控制,在系统中分几次完成。这是实现有较高可靠性的通信系统的唯一方法。
2.4.2 位填充
一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,同步沿用位填充产生。在五个生。在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。例如,五个连续的低电平位后,CAN自动插入一个高电平位。CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。
如果至少有一个站通过以上方法探测到 一个或多个错误,它将发送出错标志终止当前的发送。这可以阻止其它站接收错误的报文,并保证网络上报文的一致性。当大量发送数据被终止后,发送站会自动地重新发送数据。作为规则,在探测到错误后23个位周期内重新开始发送。在特殊场合,系统的恢复时间为31个位周期。
但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。因此,如果不采取自监测措施,总线系统应采用模块化设计。为此,CAN协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。这种方法可以通过对出错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。
3 硬件设计
硬件主要包括3部分:SEP3203处理器,CAN控制器MCP2515,收发及光耦隔离接口。
3.1 SEP3203处理器
3.1.1 概述
东芯IV SEP3203F50(简称SEP3203)移动终端应用处理器是由江苏东大集成电路系统工程技术有限公司设计的16/32位RISC微控制器,内嵌由英国ARM公司提供的ARM7TDMI处理器内核,整个芯片可以运行在75MHz。面向低成本手持设备和其他通用嵌入式设备,其外部晶振频率为10MHz,通过内部的PLL提供处理器时钟,可通过标准的JTAG接口进行软件在线调试、系统固化灯,采用双电源供电,内核电压为2.5V,外部I/O电压为3.3V。SEP3203移动终端应用处理器针对低成本个人移动终端的应用需要,为用户提供了面向移动终端应用的丰富外设、低功耗管理和低成本的外存配置。为了适应手持信息终端的多媒体处理需求,SEP3203处理器还集成了用于多媒体加速的MMA模块和AC97控制器用于多媒体音频的解码和录音。SEP3203处理器采用LQFP176封装形式(针对用户需求,还可以提供BGA封装的版本)。SEP3203的结构框图如图3.1所示。
图3.1 SEP3203处理器结构图
3.1.2 特性
SEP3203处理器为用户提供了以下优越特性:
1)采用业界标准的ARM7TDMI处理器内核,易于软件系统的开发和调试,并降低系统功耗。
2)提供USB Device和MMC/SD支持,方便终端产品的数据传输与功能扩展。
3)提供SDRAM控制器,提高系统性能同时降低系统成本。
4)针对低成本移动终端的需求,提供灵活的外部总线宽度配置,支持NAND Flash 直接启动。
5)内嵌多媒体加速器,除Codec外不需要额外硬件支持,为用户提供MP3实时播放和实时录音。 基于嵌入式系统的CAN总线接口电路设计(4):http://www.751com.cn/tongxin/lunwen_7551.html