1、1 CAN总线特点2 CAN总线通信模型3 CAN总线帧结构4 CAN总线的错误处理机制5 SJA1000 CAN控制器6 CAN总线收发器PCA82C2507 CAN总线节点设计CAN通信技术 CANController Area Network是控制器局域网的简称 它是德国Bosch公司在1986年为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串行数据通信总线 现已被列入ISO国际标准ISO11898 最初为汽车测控数据通信而设计的CAN ,现已在多领域被广泛采用 航天、电力、石化、冶金、纺织、造纸、仓储等行业 火车、轮船、机器人、楼宇自控、医疗器械、数控机床、智能传感器、过程
2、自动化仪表等CAN通信技术1 CAN总线特点 CAN网络上的节点不分主从 任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活 CAN采用非破坏性的总线仲裁技术 CAN网络上的节点具有不同的优先级, 当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而节省了总线冲突的仲裁时间。 可满足对实时性的不同要求 高优先级的数据可在134微秒内得到传输1 CAN总线特点 通过报文滤波可实现点对点、一点对多点及全局广播等几种方式收发数据,无需专门的“调度” CAN的直接通信距离 最远可达10km(速率5kbps以下); 通信速率最
3、高可达1Mbps(此时通信距离最长为40m)。 CAN总线上的节点数决定于总线驱动电路,一般为 可达110个; 报文标识符: CAN2.0A为2032种 CAN2.0B扩展帧的报文标识符几乎不受限制 CAN为短帧结构,传输时间短,受干扰概率低1 CAN总线特点 CAN节点具有良好的检错功能,出错率低 节点中均有错误检测、标定和自检能力。 具有发送自检、循环冗余校验、位填充、报文格式检查等。 CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。 CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。 CAN器件可被置于无任何内部活动的睡眠方式 相当于未连接到总线驱
4、动器 可降低系统功耗 其睡眠状态可借助总线激活或者系统的内部条件被唤醒。2 CAN总线通信模型 1991年Bosch公司发布 CAN2.0 规范。CAN2.0A 支持标准的11 位标识符,CAN2.0B同时支持标准的11位标识符和扩展的29位标识符。 2 CAN总线通信模型 2 CAN总线通信模型 CAN的通信参考模型 分层结构 数据链路层 逻辑链路控制子层LLC LLC的主要功能是:为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文实际已被接收,并为恢复管理和通知超载提供信息 媒体访问控制子层MAC MAC子层主要规定传输规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定
5、物理层 物理层规定了节点的全部电气特性 Logic Link ControlMedium Access Control 2 CAN总线通信模型数据链路层数据链路层 逻辑链路子层逻辑链路子层 接收滤波接收滤波 超载通知超载通知 恢复管理恢复管理 媒体访问控制子层媒体访问控制子层 数据封装数据封装/ /拆装拆装 帧编码(填充帧编码(填充/ /解除填充)解除填充) 媒体访问管理媒体访问管理 错误监测、错误监测、 出错标定出错标定 应答应答 串行化串行化/ /解除串行化解除串行化 物理层物理层 位编码位编码/ /解码;位定时;同步;解码;位定时;同步; 驱动器驱动器/ /接收器特性接收器特性 2 CA
6、N总线通信模型一、 CAN总线的物理层1. CAN总线的位编码 CAN位流根据“不归零”(NRZ)方式来编码。 CAN总线的数值为两种互补逻辑数值:“显性”(Dominant)或“隐性”(Recessive),“显性”数值表示逻辑“0”,而“隐性”表示逻辑“1”。 当总线上两个不同的节点在同一位时间分别传送显性和隐性位时,总线上呈现显性位,即显性位覆盖了隐性位。 2 CAN总线通信模型2. CAN总线的位数值表示(ISO11898)2 CAN总线通信模型3. 最大传输距离与通信速率2 CAN总线通信模型4. CAN总线与节点的电气连接2 CAN总线通信模型 位定时 标称位速率(Nominal
7、Bit Rate)理想发送节点在没有重同步的情况下每秒发送的位数量。 标称位时间(Nominal Bit Time) 标称位时间 = 1/标称位速率。即:CAN总线通信时,一位数据持续的时间。2 CAN总线通信模型位时间结构2 CAN总线通信模型(1)同步段(SYNC_SEG) 同步段用于同步总线上不同的节点,是CAN总线位时间中每一位的起始部分。(2)传播段(PROP_SEG) 传播段用于补偿网络内的物理延时。 (3)相位缓冲段1、2(PSEG1、PSEG2) 相位缓冲段用于补偿边沿阶段的误差。(4)采样点(Sample Point) 采样点是读取总线电平并转换为一个对应的位值的一个时间点
8、。2 CAN总线通信模型2 CAN总线通信模型6. 同步 同步使CAN总线系统的收发两端在时间上保持步调一致。 由于节点的振荡器漂移,传播延迟以及噪声干扰等引起的位时间偏差称为相位误差。(1)硬同步 硬同步只在总线空闲时通过一个从“隐性位”到“显性位”的跳变(帧起始)来完成,此时不管有没有相位误差,所有节点的位时间重新开始。 2 CAN总线通信模型(2)重同步 在报文的随后位中,每当有从“隐性位”到“显性位”的跳变,并且该跳变落在了同步段之外,就会引起一次重同步。重同步机制可以根据跳变沿加长或者缩短位时间以调整采样点的位置,保证正确采样。 重同步跳转宽度(SJW)定义为相位缓冲段1可被加长或相
9、位缓冲段2可被缩短的上限值。 CAN总线信号的显位与隐位 显位(0) VCANH: 3.5v VCANL 1 1.5v 隐位(1) VCANH 2.5v VCANL 2.5v 显位可改写隐位2 CAN总线通信模型二、CAN总线的数据链路层 1. 逻辑链路控制子层LLC (1)验收过滤 通过验收过滤确定是否被接收数据帧。(2)超载通知 若接收节点由于内部原因要求延迟下一个数据帧/远程帧,则发送超载帧。(3)恢复管理 发送期间,对于丢失仲裁或被错误干扰的帧,LLC子层具有自动重发功能。2 CAN总线通信模型2. 介质访问控制子层MACMAC子层不存在修改的灵活性,是CAN总线协议的核心。 2 CA
10、N总线通信模型(1)介质访问管理 2 CAN总线通信模型(2)MAC帧位填充当发送节点在发送位流中检测到5个数值相同的连续位(包括填充位)时,在实际发送位流中,自动插入一个补码位。3 CAN总线帧结构 4种不同类型的帧: 数据帧、远程帧、出错帧、超载帧 数据帧(Data Frame)携带数据,由发送器传送至接收器 远程帧(Remote Frame)用以请求总线上的相关单元发送具有相同标识符的数据帧 出错帧(Error Frame)由检测出总线错误的单元发送 超载帧(Overload Frame)用于提供当前和后续数据帧的附加延迟3 CAN总线帧结构 数据帧由7个不同的位场(域)组成: 帧起始、
11、仲裁场、控制场、数据场、CRC场、应答场、帧结束 帧起始位(1个显位),表示标志帧的开始 中间有仲裁场、控制场、数据场、CRC场、应答场 帧结束(7个隐位) 数据场长度可为零CAN数据帧的组成 远程发送请求位RTR(Remote Transmission Request)远程请求替代位SRR (Substitute Remote Request)标识扩展位IDE (Identifier Extension)Start of Frame数据长度码DLC(Data Length Code)3 CAN总线帧结构3 CAN总线帧结构1. 帧起始SOF 标志数据帧和远程帧的起始。 由一个显性位组成。 只
12、有在总线空闲时才允许站点开始发送信号,所有站必须同步于开始发送报文的站帧起始前沿,即硬同步。 帧间空间 帧起始 3 CAN总线帧结构2. 仲裁场 在帧起始之后是仲裁场。 标准帧:由12 个位组成,分别为11个识别位(ID)和一个远程发送请求(RTR)位。 RTR 位用于区分报文是数据帧(RTR位为显性)还是远程帧(RTR位为隐性状态)。 扩展帧:由11位基本ID、SRR位、IDE位和18位扩展ID组成。SRR位和IDE位皆为隐性。 帧间空间 控制场 帧起始 仲裁场 标识符 RTR 位 3 CAN总线帧结构3 . 控制场 在仲裁场之后是控制场,由6个位组成。 控制场的第一位为识别扩展(IDE)
13、位,该位为显性状态时,说明这是标准帧。 识别扩展位的下一位为零保留位(RB0),这一保留位将由CAN 协议定义为显性位。 控制场的其余4 位为数据长度码(DLC),说明了报文中包含的数据字节数。 仲裁场 控制场 数据场或 r1 r0 DLC3 DLC2 DLC1 DLC0 CRC 场 保留位 数据长度码 3 CAN总线帧结构3 CAN总线帧结构4 . 数据场 控制场之后为数据场,包含正在发送的数据字节。 数据场长度由上述数据长度码DLC定义(0-8字节)。 首先发送的是最高字节的最高位。3 CAN总线帧结构 CRC场 CRC场由15位CRC序列和1位隐性CRC界定符组成; CRC序列用于检测报
14、文传输错误; CRC校验是由硬件完成的。 数据场或 ACK 场 CRC 场 控制场 CRC 序列 CRC 界定符 3 CAN总线帧结构6 . 应答场 应答场由应答间隙和应答界定符两个位组成。 在应答间隙期间,发送节点发出一个隐性位,任何接收到匹配CRC序列报文的节点会发回一个显性位,确认报文收到无误。 应答的本质是所有接收节点检查报文的一致性。 CRC 场 帧 结 束 A CK 场 A CK 间 隙 A CK 界 定 符 3 CAN总线帧结构7. 帧结束 每一个数据帧的结束均由一标志序列界定,这个标志序列由7个隐性位组成。 CAN2.0A与CAN2.0B CAN2.0A与CAN2.0B是199
15、1年颁布的CAN技术规范的两个部分 CAN2.0A只有标准帧一种帧格式 CAN2.0B包括标准帧与扩展帧两种 标准帧与扩展帧的区别主要在仲裁场与控制场 标准帧具有11位标识符 扩展帧具有29位标识符 标准帧的仲裁场由11位标识符和远程发送请求位RTR(Remote Transmission Request)组成 仲裁场的11位标识符从高位到低位顺序发送,最低位为ID.0,最高位为ID.10,其中的高7位(ID.10ID.3)不能全为隐位。 远程发送请求位(RTR)用于区分数据帧与远程帧 在数据帧中RTR位必须是显位 在远程帧中RTR位必须为隐位。CAN2.0A与CAN2.0B 扩展帧仲裁场的组
16、成 29位标识符位:ID.28至ID.0 远程请求替代位SRR (Substitute Remote Request): 设置SRR为保持扩展帧与标准帧的格式兼容 扩展帧中的SRR为隐位 标识扩展位IDE (Identifier Extension): 标识扩展位IDE在标准帧中为显位,在扩展帧中为隐位 远程发送请求位RTR (Remote Transmission Request bit)CAN2.0A与CAN2.0B 控制场由6位组成 在扩展格式中控制场包括4位数据长度码DLC( Data Length Code)和2位保留位 在标准格式中控制场包括4位数据长度码DLC(Data Leng
17、th Code)、1位保留位、1位标识扩展位IDECAN2.0A与CAN2.0B 数据场包含被传送的数据,可包括0-8个8位的字节,先发送最高有效位。 CRC场:15位的CRC(Cyclic Redundancy Check)序列,1个隐位的CRC界定符 应答场2位:1位应答间隙,1位应答界定符 发送器在应答间隙发送1位隐位,接收器在正确接收到报文后在应答间隙发送1位显位。 应答界定符为隐位3 CAN总线帧结构二、远程帧 一般情况下,数据传输是由数据源节点(例如,传感器发送数据帧)自主完成的。 但也可能发生终节点向源节点请求发送数据的情况,即远程数据请求。 要做到这一点,终节点须发送一个标识符
18、与所需数据帧的标识符相匹配的远程帧。随后相应的数据源节点会发送一个数据帧以响应远程帧请求。 3 CAN总线帧结构 远程帧由也分为标准帧和扩展帧, 由6个场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。远程帧不存在数据场。 远程帧的RTR位(Remote Transmission Request bit)必须是隐位。 远程帧与数据帧存在两点不同:(1)远程帧的RTR位为隐性状态;(2)远程帧没有数据场,所以数据长度代码的数值没有任何意义,可以为08范围里任何数值。 当带有相同标识符的数据帧和远程帧同时发出时 数据帧将赢得仲裁,这是因为其紧随标识符的RTR位为显性。这样可使发送远程帧的节
19、点立即收到所需数据。 3 CAN总线帧结构三、出错帧 出错帧由检测到总线错误的任一节点产生。 出错帧包含两个场:错误标志和错误界定符。 3 CAN总线帧结构1. 错误标志 错误标志包括激活错误标志和认可错误标志两种。节点发送哪种类型的出错标志,取决于其所处的错误状态。 (1)激活错误标志 当节点处于错误激活状态时,检测到一个总线错误时,这个节点将产生一个激活错误标志,中断当前的报文发送。 激活错误标志由6个连续的显性位构成。 3 CAN总线帧结构p激活错误标志由6个连续的显性位构成。这种位顺序违背了位填充规则,也破坏了应答场或帧结束的固定格式。p所有其它节点会检测到错误条件并且开始发送错误标志
20、。因此,这个显性位序列的形成就是各个节点发送的不同错误标志叠加在一起的结果。p错误标志叠加序列的总长度最小为6位,最大为12位。 3 CAN总线帧结构(2)认可错误标志 当节点处于错误认可状态时,检测到一个总线错误时,该节点将发送一个认可错误标志。认可错误标志包含6个连续的隐性位。2. 错误界定符 错误界定符由8个隐性位构成。 出错帧 出错帧由两个不同场组成,第一个场由来自各站的出错标志叠加得到,第二个场是出错界定符 错误标志具有两种形式: 活动出错标志(Active error flag),由6个连续的显位组成 认可出错标志(Passive error flag),由6个连续的隐位组成 出错
21、界定符包括8个隐位3 CAN总线帧结构四、超载帧1. 超载帧的产生超载帧的产生可能有以下三种原因:接收器由于内部原因需要延迟下一个数据帧或远程帧;节点在帧空间检测到非法显性位;节点在错误界定符或超载界定符的第8位采样到一个显性位。3 CAN总线帧结构2. 超载帧结构 超载帧由两个位场组成:超载标志和超载界定符。 超载标志由6个显位组成,超载界定符由8个隐位组成。 发送超载帧的超载条件:接收器要求延迟下一个数据帧或远程帧 超载帧与激活错误帧具有相同的格式,但超载帧只能在帧间空间产生,出错帧是在帧传输时发出的。 节点最多可产生两条连续超载帧来延迟下一条报文的发送。 3 CAN总线帧结构五、帧间空间
22、 帧间空间将前一条帧(无论何种类型)与其后的数据帧或远程帧分离开来。 3 CAN总线帧结构1. 间歇(必须有) 间歇由3个隐性位组成。2. 总线空闲 总线空闲由任意长度的隐性位组成。3. 延迟传送(错误认可节点) 延迟传送由8个位的隐性位组成。4 CAN总线的错误处理机制一、错误类型1. 位错误2. 填充错误3. CRC错误4. 形式错误5. 应答错误4 CAN总线的错误处理机制二、错误界定规则 1. 错误界定 4 CAN总线的错误处理机制2. 错误界定规则CAN总线上单元的错误状态是依据错误计数器的数值而界定的,错误界定规则就是指错误计数器的计数规则。1)接收节点检测到错误,接收错误计数器值
23、增加;2)发送节点检测到错误,发送错误计数器值增加;3)报文成功发送后,发送错误计数器值减少;4)报文成功接收后,接收错误计数器值减少。5 SJA1000 CAN控制器 CAN通信控制器要实现CAN总线协议并具备与微控制器通信的接口 不同型号的CAN总线通信控制器,其结构和功能大体相同; 与微控制器接口部分的结构及方式存在一些差异 由CAN通信控制器芯片完成CAN总线协议中物理层和数据链路层的所有功能 应用层功能由微控制器完成 芯片工作的温度范围为: 40125,汽车及某些军用领域, 4080,一般工业领域实现CAN通信控制的几种ASIC芯片 CAN通信控制器82C200:实现CAN2.0A的
24、标准格式通信帧的通信控制 CAN通信控制器SJA1000:实现CAN2.0B的两种格式通信帧的通信控制 带CAN通信控制器与8位微控制器的P8XC592 带CAN通信控制器与16位微控制器的87C196CA/CB 带32位ARM7 处理器内核、可编程逻辑、存储子系统、CAN接口、以太网接口、I/O接口等的片上系统TA7V 带CAN通信控制器的CAN总线I/O器件82C150 CAN总线收发接口器件82C250ASIC是Application Specific Integrated Circuit的英文缩写,在集成电路界被认为是一种为专门目的而设计的集成电路CAN通信控制器82C200的功能框图
25、82C200实现CAN2.0A协议CAN通信控制器SJA1000 SJA1000 实现CAN2.0B协议 SJA1000CAN通信控制器由以下几部分构成: 接口管理逻辑IML(Interface Management Logic):它接收微处理器的命令,控制寄存器的地址,并为微处理器提供中断和状态信息。 发送缓冲器TXB(Transmit Buffer): 它是(Central Processing Unit)和位流处理器(BSP, Bit Stream Processor)之间的接口, 有字节长。能存储一条将在总线上发送的完整报文。报文由写入, 由位流处理器读出。 接收缓冲器(, Recei
26、ve Buffer, RXFIFO ): 是和接收滤波器之间的接口, 用来存储从总线收到并接收的报文。接收缓冲器FIFO共字节长。其中有字节的窗口可供访问。在处理一个报文的同时,由这个继续接收其它正在到来的报文 CAN通信控制器SJA1000(续) 接收滤波器(Receive filter):接收滤波器把收到的报文标识符和接收滤波寄存器中的内容进行比较,以判断该报文是否被接收。如果判断结果是肯定的, 则报文被存入。 位流处理器BSP (Bit Stream Processor): 位流处理器控制发送缓冲器和总线之间数据序列,同时它也执行错误检测、仲裁、位填充和总线错误处理功能。 位定时逻辑BT
27、L (Bit timing logic): BTL监视总线上的串行序列,处理与CAN总线相关的位时间,按收到的报文头与总线上的位流同步。BTL还为补偿传输迟延时间和相位跳变提供可编程的时间段。 错误管理逻辑EML (Error Management Logic):它按照协议完成错误界定。它接受来自BSP的出错通知,并向BSP和IML提供出错统计 SJA1000功能框图出错处理功能的增强 仲裁丢失捕捉寄存器(, Arbitration lost capture register):以找到丢失仲裁位的位置 出错代码捕捉寄存器(, Error code capture register):分析总线错
28、误类型和位置 出错警告限寄存器(, Error warning limit register ):定义出错警告极限值 接收出错计数寄存器(, Receive Error Count Register) 发送出错计数寄存器(, TX error count register )记录发送和接收时出现的错误个数等。可根据从这两个寄存器读取的错误个数来判断目前CAN控制器的出错状态。出错处理功能的增强 出错中断: 出错中断源:总线出错中断、错误警告限中断(可编程设置)和被动出错中断。由中断允许寄存器()区分出以上各中断, 也可直接从中断寄存器()中直接读取中断寄存器的状态来判断出错类型。 出错代码捕捉
29、寄存器(, Error code capture register) : 当总线发生错误时, 产生相应的出错中断,同时,把对应的错误类型和产生位置写入出错代码捕捉寄存器(相对地址为12)。这个代码一直保存到被主控制器读取出来后,ECC才重新被激活工作,捕捉下一个错误代码。 可以从ECC读取的数据来分析属于何种错误以及错误产生的位置,从而为调试工作提供了方便。 SJA1000的应用电路 SJA1000与以下芯片或电路组合,构成CAN应用节点 微控制器CPU 总线收发器 晶振、电源、复位电路 其它测量控制电路SJA1000的应用电路 SJA1000的应用电路其它与CAN通信相关的器件 INTEL
30、82527CAN通信控制器,支持CAN 2.0B规范 带CAN通信控制器的8位微控制器 P8XC592 具有微控制器P8XC552和CAN通信控制器82C200的功能组合 带CAN通信控制器的16位微控制器 87C196CA/CB P51XA-C3 CAN总线收发接口器件82C250 CAN总线I/O器件82C1506 CAN总线收发器PCA82C250 82C250是CAN通信控制器与物理总线之间的接口,器件可以提供对总线的差动发送和接收功能。82C250的主要特性如下: 与ISO/DIS 11898标准全兼容 高速性(最高可达1Mbps) 具有抗汽车环境下瞬间干扰的能力 降低射频干扰的斜率
31、控制 热保护 总线与电源及地之间的短路保护 低电流待机方式 掉电自动关闭输出 可支持多达110个节点相连接6 CAN总线收发器PCA82C250 对于CAN控制器及带有CAN总线接口的器件,82C250并不是必须使用的器件,因为多数CAN控制器均具有配置灵活的收发接口并允许总线故障,只是驱动能力一般只允许2030个节点连接在一条总线上。 而82C250支持多达110个节点,并能以1Mbps的速率工作于恶劣电气环境CAN总线I/O器件82C150 82C150是一种具有CAN总线接口的模拟和数字I/O器件,可用于传感器、执行器接口。主要功能包括:CAN接口功能和I/O功能 CAN接口功能 符合具
32、有严格位定时的CAN技术规范2.0A和2.0B 全集成内部时钟振荡器(不需要晶振),位速率为20K125Kbit/s 具有位速率自动检测和校正功能 由4个可编程标识符位,在一个CAN总线系统上最多可连接16个82C150 支持总线故障自动恢复,具有通过CAN总线唤醒功能的睡眠方式, 带有CAN总线差分输入比较器和输出驱动器CAN总线I/O器件82C150 I/O功能 16条可配置的数字及模拟I/O口线 每条I/O口线均可单独配置,包括I/O方向,口模式和输入跳变的检测功能 在用作数字输入时,可设置为由输入端变化引起CAN报文自动发送 两个分辨率为10位的准模拟量(分配脉冲调制PDM)输出 具有
33、6路模拟输入通道的10位A/D转换器 两个通用比较器CAN总线I/O器件82C150的应用TOPFETTOPFETM电机灯模拟传感器开关量可配置片上系统TA7V05 TA7V是一个完整的32位现场可配置片上系统,集成了广泛流行的32位ARM7 处理器内核、可编程逻辑、存储子系统和专用内部总线 适合于工业现场和控制领域的应用 具备功能丰富的FastChip开发套件,为开发、设计人员提供一个灵活的可配置平台,能快速地开发出自定制的嵌入式应用系统 TA7V的主要性能 高性能、低功耗的32位ARM7处理器 支持实时操作系统,可实现源码级调试。 集成了10/100M以太网 为发送接收内建了2KB FIF
34、O(First Input First Output )缓存,支持3个以上MAC地址 集成了CAN2.0B控制器 带有优先级仲裁,16个接收缓冲器,8个发送报文存储器。 报文滤波支持DeviceNet和CanOPEN协议 集成了USB1.1控制器 支持最高速率为12M的通用串行总线TA7V的主要性能 2个UART通用异步收发接口,可配置成RS-232、RS-485等通信接口 相当于6400个FPGA门阵列的可配置系统逻辑(CSL Configurable System Logic)矩阵;支持标准逻辑设计工具,可实现快速加法器、乘法器、逻辑运算、计数器等专用电路 32KB内部高速暂存SRAM、8
35、KB混合指令/数据缓存,支持外部EEPROM、Flash、SDRAM内存子系统,支持JTAG接口实时调试功能 8通道10位ADC,多功能定时器阵列(Multi-Function Timer Array),丰富的可编程PIO接口FastChip 配套开发工具FastChip中包括Triscend软模块库 可直接在FastChip编辑界面上配置这些软模块,实现不同功能的灵活设计,系统开发的可靠性高。 允许设计人员导入利用第三方工具生成的用户自定义的网表文件,作为FastChip的新模块,用于系统配置 TA7V05支持Red Hat、uCLinux和uC/OS等嵌入式操作系统 用户可根据系统开发的需
36、要和特点,选择适当的操作系统,编写应用程序并下载到开发板上 TA7V的工业总线“网关”功能 由于TA7V配备了UART、USB1.1、CAN2.0B、以太网等广泛流行的工业总线标准接口,可根据实际要求在短时期内实现自定制的以太网桥,为工业控制设备的Internet接入提供了方便可行的解决方案, 利用TA7V自带的设备驱动程序和丰富的API函数可以缩短应用开发周期。 该款芯片可以作为工业总线互联、工业总线接入Internet的“网关”,可作为嵌入式网关的芯片 TA7V的工业总线“网关”功能 利用片上可编程PIO通道、ADC通道(Analog-to-Digital Converter),实现离散、
37、模拟参数的输入、输出 还可以利用系统内部的CSL逻辑和片上资源实现电机驱动、PLC和PID等复杂的控制功能,可作为工业控制现场的主控制器和网络连接设备的核心芯片。 CAN总线上测控数据的远程监控 CAN总线上测控数据的远程监控 CAN网段上的测控节点通过TA7V上的CAN2.0B接口与片上系统交换数据,存入TA7V的内存或相应的变量中 TA7内存中测控数据可打包为以太网帧,再通过TA7V上的以太网接口发送到以太网上 这里的TA7V并不是严格意义上的网关,只是不同协议网段间的数据转发通道。 通过数据交换的B/S(浏览器/服务器)模式,用户不必亲临现场就可以对现场的CAN总线数据进行监控,达到了远
38、程监控的目的。CAN总线上测控数据的远程监控 在ARM7处理器中植入uCLinux操作系统,而uCLinux支持Web 功能,其Boa Web Server是一个单任务的HTTP服务器,可实现动态Web 用户通过提交表单的方式发出HTML请求,服务器端接收此请求后执行相应的CGI(Common Gateway Interface, 通用网关接口)程序,根据用户的表单请求进行数据存取处理,并生成动态HTML文件加载这些数据信息,并返回给浏览器,完成一次信息交互 用户只需编写服务器端的相关CGI程序,对uCLinux 内核和应用程序重新编译后,把映像文件下载到Flash存储器,就可以实现嵌入式系统
39、的Web服务功能。 CAN总线上测控数据的远程监控 利用TA7V05片上系统的嵌入式Web方式,可以很方便地实现以太网和CAN总线的互联,并具有体积小、可靠性高、易于增加其他控制功能的优点,是CAN总线实现远程监控的理想解决方案。 TA7V有功能强大的逻辑功能模块;丰富的I/O接口可实现电机驱动、仪表设备等功能,还具有多种工业总线接口,在工业控制领域具有良好的应用前景。 工业现场设备的网络化和智能化是技术发展的必然趋势 ,以片上系统为代表的嵌入式系统将在工业控制中发挥更大的作用 车身控制器硬件设计 车身控制器设计要求 功能要求:如车身部件的正常工作、数据通信、提供诊断信息 工程要求:如工作温度
40、、防干扰性、尺寸要求、耐磨性等 客户的特定要求:如对电源、微处理器、输入输出点定义 看门狗电源复位32位ARM7CPU存储单元A7V片上系统车身控制器437数字信号模拟信号PIOADC模块DI模块AI模块传感器/开关RS232UART系统标定JTAGPC机PIOMCU配置+3.3V+5V+12V电压调理模块SPILCD显示CAN控制器CAN收发器CAN121613PIOPIOPIO大功率DO模块大功率DO模块大功率DO模块照明、空调大功率设备状态指示等中功率设备仪表盘等小功率设备车身控制器硬件设计车身控制节点的数据通信 车辆启动时的自检 中央控制单元向各个模块发送自检命令,并收集各个模块的返回
41、信息。通过分析处理,及时发现和解决问题。 周期性数据刷新 控制器单元可以定期向功能模块采集车门是否关闭、车锁是否上锁、车窗的停止位置、座椅的电机状态、室内温度、通风状态等状态信息。 运行过程中监视 监视总线上报文帧的收发情况,如发现总线异常,自动作出紧急处理,给驾驶人员发出报警等。CAN通信的时间触发Time Triggered communication CAN采用的非破坏性总线仲裁技术,本质上属于以事件触发的通信方式 其通信具有某种程度的非确定性,无法从根本上保证数据的实时传输 由时间触发的通信协议,其网络调度具有确定性、实时性 为满足汽车控制网络数据通信的实时性要求而开发了如TTCAN、
42、FTTCAN等 能及时传送控制网络的各种数据TT-CAN( Time Triggered communication on CAN) TT-CAN是对CAN扩展而形成的实时控制协议 在CAN的物理层和数据链路层上添加了一个会话层 TT-CAN已被国际标准化组织接收为ISO11898-4规范 ISO11898-4规定了两种TT-CAN: 基于时间主节点(Time master)的时间触发CAN协议。 建立全局同步时基(Time base)的时间触发CAN协议。 传输列6传输列5传输列4传输列3传输列2传输列1全局时间基本周期基本周期基本周期基本周期参考报文报文6报文4报文1参考报文报文5报文4报
43、文1参考报文仲裁窗口仲裁窗口报文1报文6报文7备用窗口报文3报文3报文3报文4报文4报文2参考报文备用窗口仲裁窗口报文1报文5报文3报文2独占窗口FTT-CAN 的矩阵周期FTT-CAN (Flexible TT-CAN)FTT-CAN的最大特点是可根据需求在线修改网络策略 适合于子系统之间异步访问总线的应用场合 用于导航控制、ABS等。FTT-CAN的通信特点 采用单主多从结构 由主节点同步系统时钟 总线时间由无限循环的基本周期组成 每个基本周期起点发送表示基本周期开始的触发报文(Trigger message) 基本周期分为同步报文窗口和异步报文窗口, 同步报文窗口用于传输周期性报文; 同
44、步报文的数据域中包括有触发通信的调度信息,如同步窗口的起始时刻点、在此周期里需要传输的报文等。 在基本周期异步报文窗口用于传输非周期性报文,用于传输报警、诊断等非实时性的信息。FTT-CAN采用面向基本周期、而非面向每个报文的方式TTP/C(Time Triggered Protocol) TTP是时间触发协议的缩写,C代表SAE的网络级别Class C。 TTP/C属于实时、容错、确定性的协议,采用基于时分多路访问(TDMA)的总线访问方式。即所有总线活动基于事先规定的时刻点进行。因此,每个节点需要准确的全局时间基准,而且TTP/C通信协议能提供容错的时钟同步。 在TDMA总线访问中,每个通
45、信控制器在时间轴上将分配到属于自己的时隙(Time slot),用于传输自己的报文。事先规定好每个报文的传输时刻点。总线上的所有节点知道某一节点发送报文的时刻点。 通过比较事先规定好的报文接收时刻点和实际接收时刻,接收报文的节点可以简单地进行时钟同步的校正。并可以预测每个报文的最大传输延迟时间,保证高实时性通信的要求。 ByteFlight ByteFlight是宝马公司发布的总线标准,主要应用于安全气囊、安全带等高性能汽车控制领域和一些航空领域。 ByteFlight的数据通信采用FTDMA柔性时分多路访问(Flexible Time Division Multiple Access)的媒体
46、访问方式。一个同步主控制器周期性地发送同步脉冲,网络上的其他节点基于此脉冲同步本地时钟。连续两个同步脉冲之间的时间间隔是一个周期时间(Cycle time),每个周期时间为250s。 ByteFlight根据报文实时性要求的高低把报文分为两种。一种是实时性要求高、每个周期都需要发送的“同步” 报文。另一种是对实时性要求低、非周期性发送的“同步”和“异步” 报文。每个周期被划分为若干时隙,先前的一部分时隙用于传输“同步”报文,剩余时隙用于传输所谓低优先级的“异步“报文。各时隙按报文的优先级大小排队。图4.29表示了这种FTDMA通信调度的周期与时隙。 几种CAN协议的性能比较协议种类协议种类拓扑
47、拓扑传输介质传输介质传输传输速率速率(bps)(bps)数据域数据域大小大小B B冗余冗余事件触事件触发流量发流量灵活性灵活性TT-TT-CANCAN总线总线双绞线双绞线1M1M8 8无无高高中等中等FTT-FTT-CANCAN总线总线双绞线双绞线1M1M8 8有有高高高高TTP/CTTP/C总线、总线、星型星型双绞线双绞线, ,光纤光纤2M / 2M / 25M25M240240有有低低差差ByteFlightByteFlight星型星型塑料光纤塑料光纤10M10M1212有有中等中等中等中等FlexRayFlexRay总线、总线、星型星型双绞线双绞线, ,光纤光纤10M10M246246有
48、有中等中等中等中等汽车内部网络的解决方案 ( Motorola )SAE J1939 CAN规范只包括了物理层和数据链路层,是一个可以封装在通信控制器集成电路芯片内部的规范。 SAE J1939以CAN为基础,其物理层和数据链路层基本上沿用了CAN规范,并增加了网络层、应用层和网络管理规范。 SAE J1939目前已经发布的规范如下: J1939/01 卡车、公共汽车控制与通信网络 J1939/12 物理层,250Kbps, 四线双绞线 J1939/13 物理层,诊断连接器 J1939/31 网络层 J1939/71 车辆应用层 J1939/72 虚拟终端应用层 J1939/73 应用层-诊断
49、 J1939/81 J1939网络管理协议通信参考模型比较 ISO模型 CAN SAE J1939应用层 应用层 网络管理表达层 会话层 传输层 网络层网络层数据链路层数据链路层数据链路层物理层物理层物理层 基于SAE J1939的车辆多网段系统 汽车内部网络 收音机导航录像机车载电话电视音响车门模块行李箱模块驾驶座椅乘客座椅Doom控制头灯控制防盗器控制面板后座尾灯控制Park-Tronic中央气囊车门模块车门模块车门模块电机及其控制ABS+ACS整车控制器CB 显示报警娱乐娱乐音像设备无线设施车身车身驾驶室车门中心远程动力系统动力系统动力稳定性J1939网络250kbps诊断诊断汽车内部互
50、汽车内部互联网络联网络主DC/DC转换燃料电池控制超级电容司机操作蓄电池管理24VDC/DC电池及其它电池及其它防抱死制动系统(Anti-lock Braking System)自动离合器系统( Automatic clutch system )直流电(Direct Current)7 CAN总线节点设计 一、CAN总线节点的硬件设计 1. CAN总线节点结构7 CAN总线节点设计 2. CAN总线节点的硬件电路(1)电源电路 SJA1000片上有3个独立电源,分别给输入电路、输出电路以及内部逻辑管理电路供电。(2)复位电路 SJA1000的复位输入引脚为低电平有效,MCS-51单片机的复位输