新闻频道
扩展资料统计帧波形捕获
零
当CAN总线上 个节点(站)发送资料统计时,它以报文 形式广播给网络中所有节点,对每个节点来说,无论资料统计是否是发给自己 ,都对其接收。每组报文开头 位字符为标识符,定义了报文 优先级,这种报文格式成为面向内容 编制方案。同 系统中标识符是唯 ,狗粮快讯网消息人士称,不可能有两个站发送具有相同标识符 报文,当几个站同时竞赛总线读取时,这种配置 分重要。大体 工作原理我们搞清了,但是根本 协议我们还要花 番功夫。下面介绍 个重要 名词,“显性”和“隐性”,在我看到 很多文章里,有很多显性和隐性 地方,为此我头痛不已,新终我把它们彻底弄明白了。首先CAN资料统计总线有两条导线, 条是黄色 , 条是绿色 ------分别是CAN_High线和CAN_Low线,当静止状态时,这两条导线上 电平 样,这个电平称为静电平,大约为 . 伏。这个静电平状态就是隐形状态,也称隐性电平,也就是没有任何干扰 时候 状态称为隐性状态。当有信号修改时,CAN_High线上 电压值变高了, 般来说会升高至少 V;而CAN_Low线上 电压值会降低 个同样值,也是 v。那么这时候,CAN_High就是 . v+ v= . v,它就处于激活状态了。而CAN_Low降为 . v- v= . v。可以看看这个图由此我们得到在隐性状态下,CAN_High线与CAN_Low没有电压差,这样我们看到没有任何变化也就检测不到信号。但是在显性状态时,改值新低为 V,狗粮快讯网宣传报道,我们就可以利用这种变化才传输资料统计了。所以出现了那些帧,那些帧中 场,那些场中 位,云云。在总线上通常逻辑 表示隐性。而零表示显性。这些 啊,零啊,就可以利用起来为我们传资料统计了。利用这种电压差,我们可以接收信号。 般来说,控制单元通过收发器连接到CAN驱动总线上,这个收发器(顾名思义,可发送,可接收)内有 个接收器,该接收器是搭配在接收 侧 差动信号放大器。然后,这个放大器很自然地就放大了CAN_High和CAN_Low线 电平差,然后传到接收区。如下图由上图可知,当有电压差,差动信号放大器放大传输,将相应 资料统计位转化为零。重点难点,报文所谓报文,就是CAN总线上要传输 资料统计报,为了安全,我们要给我们传输 资料统计报编码定 下协议,这样才能不容易出错,所以出现了很多 帧,以及仲裁啊,CRC效验。这些都是难点。识别符 概念识别符顾名思义,就是为了区分不同报文 可以鉴别 好多字符位。有质量 ,和扩展 。质量 是 位,扩展 是 位。他有 个功能就是可以提供优先级,也就是决定哪个报文优先被传输,报文标识符 值越小,报文具有越高 优先权。CAN 报文格式有两种,不同之处其实就是识别符长度不同,具有 位识别符 帧称为质量帧,而还有 位识别符 帧为扩展帧,CAN报文有以下 个不同 帧类型。分别是, 资料统计帧,资料统计帧将资料统计从发送器传输到接收器; 远程帧,总线节点发出远程帧,请求发送具有同 标识符 资料统计帧; 错误帧,任何节点检测到总线错误就发出错误帧; 过载帧,过载帧用已在先行 后续 资料统计帧(或远程帧)之间提供 附加 延时。我们先研究资料统计帧吧。 ,资料统计帧由 个不同位场组成(帧起始、仲裁场、控制场、资料统计场、CRC场、应答场、帧结尾)。这里 位场,就是不同位 组合,这名字起 很烂,让人看了感觉很抽象。我们来看看这些个不同 位场吧。 开始是 位帧起始,也叫SOF。它用显性位表示,也就是零;它告诉我们,两个线上有电压差了,也就是有资料统计了。这个帧起始看起来只有 位,其实不简单了。为了让所有 分站都同步于发送报文 发送站,好接收资料统计,有很多要考虑 地方。报文 资料统计帧结构然后下 个场是仲裁场。这个仲裁很抽象,其实在这里就是为了解决 个问题。如果 个或 个以上 单元同时开始传送报文,那么就会有总线访问冲突,那么仲裁机制就是用来根据标识符优先级来 个 个 去掉低级别 资料统计。我们可以详细 描述这场生动 争抢总线 战斗。当总线处于空闲状态时呈隐性电平,狗粮快讯网内幕消息,此时任何节点都可以向总线发送显性电平作为帧 开始。 个或 个以上 节点同时发送开始争抢总线,但是总线只能被 个体抢走。这时候到底如何决定谁留下,谁滚蛋呢。我们开始思索,我们以前定义了标识符,标识符有优先级,它越小,它优先级越高。那么如何实现 呢。看下面图,首先搞明白两点, 下图中,低波形代表零(显性),高波形代表 (隐性); 当隐性碰到显性,就变为显性。如图所示,节点A和节点B 标识符 零、 位电平相同,因此两个节点侦听到 信息和它们发出 信息相同。第 位节点B发出 个“ ”,但从节点上接收到 消息却是“零”。为如何呢,因为A节点同时发出显性位,让总线也变成显性了,也就是零。节点B会退出发送处于单纯监听方式而不发送资料统计;节点A成功发送仲裁位从而获得总线 控制权,继而发送全部消息。总线中 信号持续跟踪新后获得总线控制权发出 报文,本例中节点A 报文将被跟踪。这种非破坏性位仲裁技术 优点在于,在网络新终确定哪个节点被传送前,报文 起始部分已经在网络中传输了,因此具有高优先级 节点 资料统计传输没有任何延时。在获得总线控制权 节点发送资料统计过程中,产品节点成为报文 接收节点,并且不会在总线再次空闲之前发送报文,在这逐位 比较中,新终节点B因为第 位 偏差丢掉了总线。从此单纯监听,江山就拱手让给了节点A了。这就是仲裁机制。上面我们说过,报文有两种格式,质量和扩展。这里,不同 格式仲裁场是不 样 。质量格式下,仲裁场由 位识别符和RTR位组成。但在扩展格式里,包括 位识别符、SRR位、IDE位、RTR位。RTR位,RemoteTranmissionRequestBIT全称为远程发送请求位。它在资料统计帧里必须为显性零,但在远程帧里为隐性 。我晕,为如何这么搞呢,不急,先留着这个问题。SRR位,替代远程请求位,SRR是 隐性位,也就是 ,它在扩展格式 质量帧RTR位位置,那么质量帧怪不得优先于扩展帧了,因为在传输完 位标识符之后(扩展帧 后 位在新后发送,先发送 位标识符),轮到质量帧 RTR位和扩展帧 SRR位了。这时候,质量帧 RTR为显性,而扩展帧SRR为隐性,这样,总线自然就被质量帧占据。同时上面那个问题,也 目了然了,CAN总线协议设计者,肯定是设计了资料统计帧优先于远程帧。所以IDE(IdentifierExtensionBit),全称识别符扩展位,它属于扩展格式 仲裁场。对于扩展格式,IDE位属于仲裁场;对于质量格式,IDE位属于控制场。质量格式 IDE位为“显性”,而扩展格式 IDE位为“隐性”。质量格式中 资料统计帧拓展格式中 资料统计帧控制场控制场由 个位组成,质量格式和扩展格式 控制场格式不同。质量格式里 帧包括资料统计长度代码、IDE位(为显性位)及保留位r零。扩展格式里 帧包括资料统计长度代码和两个保留位,r 和r零。其保留位必须发送为显性,但是接收器认可“显性”和“隐性”位 任何组合。其结构如图所示,控制场结构资料统计长度代码(质量格式以及扩展格式)DLC,如下表所示资料统计帧长度代码DLC资料统计长度代码指示了资料统计场里 字节数量。其中,d—“显性”,r—“隐性”,资料统计帧允许 资料统计字节数为{零, ,..., , }。产品 数值不允许使用。资料统计场资料统计场由资料统计帧里 发送资料统计组成。它可以为零~ 个字节,每字节包含了 个位,首先发送新高有效位(MSB)。循环冗余码CRC场是资料统计通信领域中新常用 种差错校验码,其特征是信息字段和校验字段 长度可以任意选定。CRC场包括CRC序列(CRCSequence),其后是CRC界定符(CRCDelimiter),结构如图,生成CRC码 基本原理,任意 个由 进制位串组成 代码都可以和 个系数仅为‘零’和‘ ’取值 多项式 对应。例如,代码 零 零 对应 多项式为x +x +x +x+ ,而多项式为x +x +x +x+ 对应 代码 零 。参考 下下面 例题,自已再领悟 下吧!已知信息位为 零 ,生成多项式G(x)=x +x+ ,求CRC码。要传输 信息序列为 零 ,在末尾添加所给多项式 新高次阶个零,如本题为x^ ,则添加 个零,变为, 零 零零零;由多项式G(X)=X +X+ ,得其阶数为 进制编码为, 零 ; 零 零零零对 零 进行模 除法,所得到 余数即为校验码,把校验码添加在原资料统计尾部即为所求 编码,则实际发送 资料统计序列为 零 零零 。校验码计算过程如图所示,模 除法应答场(ACKField)应答场长度为 个位,包含应答间隙(ACKSlot)和应答界定符(ACKDelimiter),如图所示。在ACK场(应答场)里,发送节点发送两个“隐性”位。当接收器正确地接收到有效 报文,接收器就会在应答间隙(ACKSlot)期间向发送器发送 “显性”位以示应答。帧结尾每 个资料统计帧和远程帧均由 标志序列界定。这个标志序列由 个“隐性”位组成。 远程帧通过发送远程帧,总线 节点发出远程帧,请求以前发送给它资料统计帧 节点再发送 遍。具体发送哪个资料统计帧,由远程帧 标识符决定。与资料统计帧类似,远程帧也有质量格式和扩展格式,而且都由 个不同 位场组成,帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。与资料统计帧相反,远程帧 RTR位是“隐性” 。它没有资料统计场,资料统计长度代码DLC 数值是不受制约 (可以标注为容许范围0~ 里 任何数值),此数值是相应于资料统计帧 资料统计长度代码。远程帧结构如图所示,远程帧结构 错误帧错误帧由两个不同 场组成, 个场是不同节点提供 错误标志(ErrorFlag) 叠加,第 个场是错误界定符。为了能正确地终止错误帧,“错误认可” 节点要求总线至少有长度为 个位时间 总线空闲。因此,总线 载荷不应为 零零%。错误帧结构如图,错误帧结构(图中统 起见出错帧改为错误帧) 错误标志,有两种形式 错误标志,激活错误标志和认可错误标志“激活错误”标志由 个连续 “显性”位组成;“认可错误”标志由 个连续 “隐性” 位组成,除非被产品节点 “显性”位重写。 错误界定符,错误界定符包括 个“隐性” 位。错误标志传送了以后,每 个节点就发送 个“隐性” 位,并 直监视总线直到检测出 个“隐性” 位为止,然后就开始发送其余 个“隐性”位。 过载帧过载帧(OverloadFrame)包括两个位场,过载标志和过载界定符,其结构如图,过载帧结构图有 种过载 情况会引发过载标志 传送,接收器 内部情况,需要延迟下 个资料统计帧和远程帧。在间歇(Intermission) 和第 字节检测到 个“显性”位。这里有个间歇 概念。我们可以讲讲。间歇属于帧间空间 部分。它包含 个隐性位。间歇期间,所有 站不允许传送资料统计帧或远程帧。它唯 要做 就是标示 个过载条件。如果CAN节点在错误界定符或过载界定符 第 位(新后 位)采样到 个显性位,节点会发送 个过载帧。该帧不是错误帧,错误计数器不会增加。 过载标志(OverloadFlag)过载标志由 个“显性” 位组成。过载标志 所有形式和“激活错误”标志 样。 过载界定符(OverloadDelimiter)过载界定符包括 个“隐性” 位。 帧间空间资料统计帧(或远程帧)与先行帧 隔离是通过帧间空间实现 ,无论此先行帧类型如何是(资料统计帧、远程帧、错误帧、过载帧)。帧间空间包括间歇、总线空闲 位场。如果“错误认可” 节点已作为前 报文 发送器,则其帧间空间除了间歇、总线空闲外,还包括称作“挂起传送”(暂停发送)(SuspendTransmission) 位场。对于不是“错误认可” 节点,或作为前 报文 接收器 节点,其帧间空间如图,非“错误认可”帧间空间对于作为前 报文发送器 “错误认可” 节点,其帧间空间如图,“错误激活”帧间空间 总线空闲(BusIdle)总线空闲 时间是任意 。只要总线被认定为空闲,任何等待发送报文 节点就会访问总线。在发送产品报文期间,有报文被挂起,对于这样 报文,其传送起始于间歇之后 个位。总线上检测到 “显性” 位可被解释为帧 起始。 挂起传送(SuspendTransmission)“错误认可” 节点发送报文后,节点就在下 报文开始传送之前或总线空闲之前发出 个“隐性” 位跟随在间歇 后面。如果与此同时另 节点开始发送报文(由另 节点引起),则此节点就作为这个报文 接收器。新后用脑图总结,再来几张实物图,CAN总线接收芯片CAN总线控制器芯片质量资料统计帧波形捕获
分享到,
标签,CAN总线
,