熟悉CAN通讯的工程师们一般都会见过“反码位”一专业术语,但它到底是什么?到底有什么用?也许很多人对其并没有深入的理解,本文将让大家对此不再迷惑。
数据数字编码具有很多方法,诸如非归零(NRZ)、曼彻斯特或脉宽编码,它们的区别在于用来表示一个位的时隙的数目不同,如图1所示。
非归零电平编码的信号电平在整个位时间里保持不变,因此只需要一个时隙来表示一个位。而曼彻斯特编码的信号在一个位时间内发生变化,因此需要两个时隙来表示一个位。曼彻斯特编码的优点是每个位都有一个信号边沿用来实现位同步(Self-clocking code)。但是曼彻斯特编码和非归零编码相比,在相同的位时间(位频率)时,位速率只能达到非归零码一半。
由于非归零编码的信号电平可长时间保持不变(取决于所传输的数据),因此有必要采取适当的措施以确保不超过两个信号沿之间最大允许的时间间隔。重新同步点之间最大的时间间隔由节点振荡器的误差决定。重新同步可通过应用“位填充”的方法实现。这种方法是在一定数量的恒定位电平之后将一个反码插入到位流中。
图1 NRZ和曼彻斯特编码的位表示
CAN协议中应用的是带位填充(填充宽度为5位)的NRZ信号编码,它保证了具有足够同步能力的最高传输性能。这种类型的编码还提供非常良好的信号辐射特性(总线辐射的能量大致上和传输信号的频率以及信号边沿的数量成比例)。
CAN协议中应用NRZ编码的部分包括SOF、仲裁场、控制场、数据场、数据帧和远程请求帧的CRC序列。发送器一检测到5个连续相同值的序列,它就会在实际传输的位流中插入一个反码位。数据帧或远程帧剩下的部分(CRC分隔符、ACK场和EOF)都有一个固定的形式(隐性电平),并且不采用位填充进行发送。出错和超载帧也是如此。
关键字:CAN 信号传输 反码位
引用地址:
为什么CAN信号传输中要插入反码位
推荐阅读最新更新时间:2024-05-03 00:36
CAN总线与RS-485总线的通信接口设计
1 CAN总线及RS-485总线简介
CAN总线(Controller Area Network)是由德国Bosch公司于20世纪80年代专门为汽车电子控制系统开发的一种串行数据通信协议,特别适合应用于分布式控制或实时控制领域。它的应用范围遍及高速网络和低成本的分布式控制系统。CAN具有以下特点: (1) 无破坏的依据优先权的仲裁; (2) 多主站点依据优先级进行总线访问; (3) 严格的错误检测和界定; (4) 支持远程数据请求; (5) 借助接收滤波的多地址帧传送; (6) 通信介质多样,组合方式灵活; (7) 全系统数据兼容,系统灵活; (8) 最远传输距离为1
[嵌入式]
基于AT90CAN128的CAN总线设计
1 前 言 现场总线是当前工业总线领域中最活跃的一个领域, CAN 总线是工业数据总线领域重要的现场总线之一。CAN 是Contro ller Area N etw ork的缩写, 是国际标准化的串行通信协议。在当今的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同, 由多条总线构成的情况很多,线束的数量也随之增加。为减少线束的数量、通过多个LAN进行大量数据的高速通信, 1986年德国电气商博世公司开发出面向汽车的CAN 通信协议。而今CAN 在欧洲已是汽车网络的标准协议。CAN 的初衷是为了解决汽车里多种复杂数据的通信
[单片机]
基于CCP协议利用CANape进行电控单元标定
目前基于CAN(Controller Area Network)总线的分布式系统在汽车电子领域得到广泛应用,电子控制单元的标定已成为汽车电子控制装置开发的一个重要环节。CCP(CAN Calibration Protocol)是一种基于CAN总线的ECU(Electronic Control Unit)标定协议 ,已经在许多欧美汽车厂商得到应用,采用CCP协议可以快速而有效地实现对汽车电控单元的标定。 然而基于CCP协议的标定,需要在ECU内部实现支持CCP协议的驱动程序(CCP driver)。目前大多数应用都采用Vector提供的free CCP driver 。考虑到ECU底层程序与CAN驱动程序的实现各不相同,将CCP驱
[应用]
基于CAN总线的测试设备成关注焦点
国际众多厂商越来越看好中国汽车及汽车电子市场的巨大发展空间,纷纷采取跟随原国际知名汽车厂或与中国企业合资的方式进入中国,以期在将来的汽车电子市场占有一席之地。其品牌的知名度、雄厚的资金和技术实力、丰富的管理经验和市场运作能力等都给中国原有的起步晚、技术差的生产厂家带来了新挑战。而在汽车测试领域,众多厂商更是开始了你追我赶的角逐。 在汽车测试领域,中国测试和测量工程师主要关心如下方面的问题:一是组装工艺质量测试问题。汽车电子的使用环境为-40℃~+250℃,同时可能经受几个g的冲击力,这要求其机械设计比其他设备如家庭计 算机更为牢固。 二是设计和生产线测试复杂性问题。随着生产系统越来越复杂,工程师们面临的挑战在于如何保证
[测试测量]
Canalys:中国智能手机品牌在非洲对三星发起强有力挑战
据国外媒体报道,Canalys刚刚发布了非洲智能手机市场的第一季度出货量报告。从报告结果来看,三星在非洲市场依然排名第一,并且涨势强劲,同比增幅达到42%。但另一方面,中国智能手机品牌在非洲市场的表现同样让人惊喜。 除了三星排名第一之外,Tecno、iTel和Infinix等中国厂商子品牌的市场份额之和已经达到了38%,超过了三星的23%。 值得一提的是,在出货量排名前五的品牌中,我们看到了一个有趣的身影,那就是华为。今年一季度,华为在非洲市场的表现虽然与去年同期相比有3%的小幅下降,但依然拥有7%的市场份额。 华为最近在非洲发布了一款超廉价手机“华为Y3”,已经在南非、加纳等国销售。这款手机配置比较低端,屏幕分
[手机便携]
基于CAN总线的悬浮控制器监控终端的设计
CAN总线是德国Bosch公司为解决现代汽车中多传感器和控制器之间的数据交换而开发的一种串行总线。由于它通信速率高、通信距离远、抗干扰能力强,因而适合高干扰环境。目前CAN总线已广泛应用于背景干扰较强的控制系统之间的实时通信中。 对于多点悬浮控制,控制器的数目很可能不止一个,控制器所处的电磁环境一般也比较恶劣。因此,控制器之间的通信方式和通信可靠性是一个必须考虑的问题。由CAN总线组成的网络具有结构简单、可靠性高的特点,可以实现点对点、一点对多点及全局广播的特点,因此,对于悬浮控制来说,使用CAN网络作为通信网络是一个比较理想的选择。另一方面,处于复杂工作环境下的数字控制器很有可能在电磁干扰或电源波动的情况下进入“飞车”状
[工业控制]
PIC18F**K80的CAN通讯程序
单片机: PIC18F45K80 关于帧ID的设置 CAN的帧ID分为标志帧和扩展帧,配置寄存器如下(这里仅贴上发送ID的寄存器(TXBnSIDH)配置,接收帧ID寄存器(RXBnSIDH)配置相同): CAN通讯代码实现: #include pic18fxx8x.h //芯片型号 //该程序实现发送缓冲器0向接收缓冲器0发送数据的自测试模式,其中接收采用中断方式 //发送采用查询方式 void GPIO_Init(); int CAN_FLAG; //定义标志寄存器 /*---------------------------------------------------------------------
[单片机]
技术文章—新能源汽车CAN总线如何进行错误处理?
摘要:本文介绍CAN总线关闭对新能源汽车的功能和安全性能产生的影响,并对此提出一些合理的建议。 2019年10月26日第三届中国(佛山)氢能源大会中展示了氢燃料电池城市客车,与目前的纯电动汽车和传统汽车相比,作为一种新的驱动形式出现。但是,新能源汽车整车网络的实现依旧离不开CAN总线通讯。 工程师们通过CAN总线读取车上的车速、转速等信号可以控制整车上众多的ECU单元。但是,你知道CAN总线关闭会对新能源汽车的功能带来哪些影响吗?本文来做详细分析。 一、为何CAN总线依旧能在新能源汽车中扮演重要角色? 从事汽车相关行业的小伙伴们,都知道CAN总线,它是当今汽车各电控单元之间通信的总线标准,现在几乎所有的汽车厂家都选
[汽车电子]