关键词不能为空

当前您在: 主页 > 英语 >

CAN总线教程详解

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 00:59
tags:

-

2021年2月8日发(作者:8192)









CAN

< p>


线上


的一


个节


点(


站)


发送



据时


,它


以报


文的< /p>




广播


给网< /p>


络中


所有



点, 对


每个


节点


来说


,无论


数据


是否


是发


给自



的,


都对


其接


收。



每组

< p>
报文


开头



11


位字


符为


标识


符,< /p>



义了


报文


的优


先级




种< /p>









< p>
















是< /p>






不可


能有


两个


站发< /p>



具有


相同


标识


符的



文,当


几个


站同


时竞


争总

线


读取


时,


这种

< br>配置



分重


要。



大体


的工


作原


理我



搞清


了,但


是根


本的


协议


我们


还要


花一




夫。下面


介绍


一个



要的


名词


,“


显性


”和“


隐性


”:首




CAN


< p>



线






线









一< /p>




绿




------





CAN_High


线



CAN_Low


线,


当静


止状



时,


这两


条导


线上



电平



样,


这个


电平


称为



电平


,大


约为


2.5


伏。



这个


静 电


平状


态就



隐形


状态,


也称


隐性

< br>电平,


也就


是没


有任

< p>
何干


扰的


时候


的状


态称



隐性


状态。当 有


信号


修改


时,


CAN_High


线上


的电


压值< /p>


变高


了,一


般来


说会


升高


至少


1V

;而


CAN_Low


线


上的


电压


值会



低一< /p>


个同


样值


,也



1v




那么


这时


候,


CAN_High





2.5 v+1v=3.5v



它就


处于


激活


状态


了。



CAN_Low



2.5v-1v=1.5v



可以


看看


这个






由此


我们


得到



在隐


性状


态下



CAN_High


线



CAN_Low


没有


电压





样我


们看














信< /p>









< p>








2V



我们


就可

< br>以


利用


这种


变化


才传


输数



了。


所以


出现



那些

< p>
帧,


那些


帧中


的场


,那


些场



的位


,云


云。



在总< /p>


线上


通常


逻辑


1


表示


隐性




0


表示


显性


。这



1


啊,


0


啊,


就可


以利



起来


为我


们传


数据




用这


种电

压差



我们


可以

< br>接收


信号



< br>一般


来说,控制


单元


通过


收发


器连


接到


CAN


驱动


总线


上,这


个收


发器(


顾名


思义,可< /p>


发送,可接


收)内


一个


接收


器,该


接收


器是


安装







< br>差

























CAN_High



CAN_Low


线


的电


平差


,然



传到


接收


区。


如下





由上

< p>
图可


知,当有



压差


,差


动信


号放


大< /p>


器放


大传


输,将相




数据


位转


化为


0








进< /p>







-----



文< /p>



所谓


报文


,就



CAN


总线上


传输


的数


据报

< br>,为


了安


全,



们要


给我


们传


输的

< p>
数据



编码


定一


下协


议,



样才


能不


容易


出错,


所以


出现


了很


多的


帧,


以及



裁啊



CRC



验。

< br>这


些都


是难


点。













名< /p>









< p>















位。有标


准的


,和扩


展的


。标


准的



11


位,扩展




29



。他


有一


个功


能就< /p>


是可


以提



优先


级,



就是


决 定


哪个


报文


优先


被传




报文



识符


的值


越小

,报



具有


越高

< br>的优


先权




CAN




文格





种 ,





处< /p>


其实



是识


别< /p>





不同


,具



11


位识


别符


的帧


称为


标准


帧,


而还



29


位识


别符


的帧


为扩


展帧,


CAN


报文


有以



4


个不


同的


帧类


型。



别是






1





据帧


:数



帧将


数据


从发


送器



输到


接收


器 ;




2





程帧


:总线


节点


发出


远程


帧,请


求发


送具


有同


一标

< br>识


符的



据帧

< br>;




3





误帧


:任



节点


检测


到总


线错



就发


出错


误 帧





4





载帧


:过



帧用


已在


先行


的后



的数


据帧(


或远


程帧


)之间


提供

< br>一附


加的


延时














< /p>









7


个不




< p>



(帧起


始、


仲裁


场、


控制



、数



场、


CRC< /p>



、应


答场


、帧


结尾


)。



这 里


的位


场,就是


同位


的组


合,这名



起的


很烂


,让


人看









< br>们

























也叫


SOF


。它


用显


< p>
位表


示,也就



0


;它告


诉我


们,两个


线


上有


电压


差了


,也


就是





了。



这个


帧起


始看


起来


有一


位,其


实不


简单


了。为


了让


所有


的分



都同


步于


发送


报文



发送


站,< /p>


好接


收数



,有


很多


要考


虑的



方。




报 文


的数


据帧


结构



然后


下一


个场

是仲



场。


个仲


裁很


抽象


< br>其实


在这


里就


是为


了解


决一


个问


题。如



2




2


个以


上的



元同


时 开


始传


送报



,那么






线


访



冲< /p>









< p>
















个< /p>









< p>
















争< /p>




线


的战


斗。





线




< p>
















都< /p>






线


发送


显性


电平


作为



的开


始。< /p>


2


个或


2


个 以


上的


节点


同时



送开


始争


抢总

线,


但是



线只

< br>能被


一个


人抢





时候


到底


怎么


决定



留下




滚蛋


呢。我

< p>
们开


始思


索,我


们以


前定


义了


标识


符, 标


识符


有优


先级,它

< br>越小


,它


优先


级越



。那


么怎


么实

< p>
现的



。看


下面


图:



首先


搞明


白两


点,



一、


下图


中,





形代


表< /p>


0



显性


),< /p>


高波


形代



1< /p>



隐性


);


< /p>


二、


当隐


性碰


到 显



,就


变为


显性





如 图


所示


,节




A


和节



B


的标


识符


的第


10



9



8


位电


平相


同,因


此两


个节


点侦


听到

< br>的信


息和


它们



出的


信息


相同。第


7


位节



B


发出


一个“


1


”,但


从节< /p>


点上


接收


到的



息却


是“


0


” 。



为什


么呢


,因



A


节点


同时


发出


显性


位,

< br>让总


线也



成显


性了


,也


就是


0


。节



B


会退

< p>
出发


送处


于单



监听


方式


而不


发送



据;


节点


A < /p>


成功



送仲


裁位


从而


获得


总线


的控



权,


继而


发送


全部



息。




线






持< /p>









< p>
线













节点


A


的报


文将



跟踪


。这


种非


破坏



位仲

裁方


法的


优点


< br>于,


在网


络最


终确


定哪


个节



被传

< p>
送前,报文


的起


始部


分已


经在


网络



传 输


了,


因此


具有


高优


先级



节点

的数


据传


输没


< br>任何


延时



< br>在





线





















< br>报















线











< br>,









中 ,




节点


B



为第


七位


的 偏


差丢



了总


线。


从此


单纯



听,


江山


就拱


手让

< br>给了


节点


A



。这


就是


仲裁



制。



上面


我们

< p>
说过,报文


有两


种格


式, 标


准和


扩展。这里


,不


同的


格式


仲裁


场是

< p>
不一


样的



标准


格式


下,


仲裁




11


位识


别符< /p>



RTR




成。


< /p>


但在


扩展


格式


里 ,包



29



识别


符、


SRR


位、


IDE


位、


RTR




RTR




Remote Tranmission Request BIT


全称


为远


程发



请求


位 。


它在


数据


帧里


必须



显性


0


但在


远程


帧里

< br>为隐



1



SRR


位,替代


远程



求位,


SRR


是< /p>


一隐



位,也


就 是


1


,它





格式


的标


准 帧


RTR


位位


置,

< br>那么


标准



怪不


得优


先于


扩展



了,


因为


在传


输完


11


位标



符之



(扩


展帧


的后< /p>


18


位在


最后


发送



先发



11


位标


识符


),

< br>轮到



准帧


< br>RTR



和扩


展帧

< p>


SRR



了。



这时


候,标


准帧



RTR


为显


性,而


扩展



SRR



隐性


,这


样,总


线自


然就< /p>


被标


准帧



据。




时上


面< /p>





题,



一目






CAN



线



议设





肯定


是设


计了


数据


帧优



于远


程帧。所以


IDE(Identifi er Extension Bit)



全称

< br>识别


符扩


展位



它属


于扩


展格


式的

< p>


裁场




对于


扩展


格式


< p>
IDE


位属


于仲


裁场


;对



标准


格式< /p>



IDE



属< /p>


于控


制场



标准


格式



IDE


位为



显性




而扩


展格


式的


IDE


位为



隐性

< br>”





标准


格式


中的


数据

< br>帧




拓展

格式


中的


数据


< br>


控制



控制


场由


6


个位

< br>组


成,


标准


格式


和扩



格式


的控


制场


格式



同。

< p>
标准


格式


里的


帧包


括数



长度


代码、< /p>


IDE


位(


为显


性位)及保




r0

< br>。扩



格式


里的


帧包


括数



长度


代码


和两


个保


< p>
位:


r1



r0


。其



留位


必须


发送


为显


性,但是



收器


认可“显



”和“隐


性”位的



何组

< p>
合。其结


构如


图所


示:< /p>









< p>
数据


长度


代码


(标



格式


以及


扩展


格式



DLC


,< /p>


如下


表所












DLC








< p>















d


—< /p>








r


—“隐



”,数



帧允


许的


数据


字节


数< /p>



{0



1



...



7



8}


。其他


的< /p>


数值


不允


许使


用 。







数据


场由


数据


帧里



发送


数据


组 成


。它



以为


0~8



字节



每字


节包


含了


8


位,



先发

送最


高有


效位


< br>MSB




< br>循环


冗余



CRC



是数


据通


信领

< p>
域中



常用


的一


种差


错校



码,


其特


征是


信息


字段< /p>



校验


字段


的长


度可



任意


选 定




CRC





CRC


序列



CRC


Sequence


),


其后



CRC



定符



CR C


Delimiter


),


结构


如图



-


-


-


-


-


-


-


-



本文更新与2021-02-08 00:59,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/611082.html

CAN总线教程详解的相关文章