USB和CAN都是用差分信号来传输数据,为什么CAN的传输距离能比USB远那么多?
USB和CAN的区别
今天在看USB项目设计实例的时候,突然想到一个问题,从而引发了一些思考。经过思考加上查阅资料,写出了这一篇文章作为记录。
问题
USB和CAN都是用两条线作为差分线以差分信号进行数据传输。总所周知,差分信号有着很强的抗干扰能力。那为什么USB的一般传输距离是5米,最大是10米(USB2.0低俗模式下)。而CAN的一般传输距离为几百米甚至是1KM以上。
区别
- 供电:
- USB不仅可以传输数据,主设备还可以向从设备提供5V的电源。
- CAN只能传输数据
- 传输速率:
- USB2.0的传输速率最高可达480Mbps,USB3.0的传输速率更是能到5Gbps。
- CAN协议的传输速率相对而言较低,取决于CAN配置的波特率,一般的传输速率在1Mbps
- 拓扑结构:
- USB采用星型拓扑结构(一主多从模式)
- CAN采用总线模式,并通过终端电阻减少反射,从而保证信号能在更长的距离
- 协议设计(GPT补充,我也认同)
- USB:在建立连接之后,就直接传输数据,没有报文规范和冗余校验机制,也没有重发机制
- CAN:往总线中发送信号,其中CAN报文有15位的RCR校验码,可以更好的检测在数据传输中发生干扰导致的数据失真,并且根据重发机制进行重发。
答案
- 传输速率:CAN的传输速率相对更低,更低的传输速率代表了电平信号的持续时间更长,能够有效的增强数据的可靠性。
- 拓扑结构:CAN在总线的两端分别接入了一个120Ω的终端电阻,这个终端电阻能够减少信号的反射,提高信号的完整性
- 协议设计:CAN有着很好的错误检测机制和重发机制(CRC校验,界定符校验,手动或自动重发)。
以上三点使得CAN在传输距离上比USB 更有优势,如文章中有错误的地方,欢迎批评指正。大家有新的想法,请在评论区留下你大胆的想法。
USB和CAN都是用差分信号来传输数据,为什么CAN的传输距离能比USB远那么多?的更多相关文章
- 高速数字逻辑电平(8)之LVDS差分信号深度详解
原文地址点击这里: LVDS(Low-Voltage Differential Signaling ,低电压差分信号)是美国国家半导体(National Semiconductor, NS,现TI)于 ...
- 差分信号(Differential Signal)
差分信号(Differential Signal)在高速电路设计中的应用越来越广泛,电路中最关键的信号往往都要采用差分结构设计,什么另它这么倍受青睐呢?在 PCB 设计中又如何能保证其良好的性能呢? ...
- mipi差分信号原理
差分信号,什么是差分信号 一个差分信号是用一个数值来表示两个物理量之间的差异.从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的.在某些系统里,系统’地’被用作电压基准 ...
- Quartus ii 设计中的差分信号在例化时的命名规则
在Quartus中做设计,如果使用了差分信号的,如DDR的IP中的mem_ck与mem_ck_n,mem_dqs与mem_dqs_n,将其引入输出端口时,对其命名有一定的规则,否则就会出现错误. 如下 ...
- 20140919-FPGA-有效观察设计中的差分信号
今天回来坐在电脑前,打开Xilinx的Documentation Navigator寻找NCO相关的User Guide,但是在不经意中发现了一个这样的IP,我感觉对于观察设计中的查分信号十分有用.之 ...
- 接口与协议学习笔记-USB协议_USB2.0_USB3.0不同版本(三)
USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2.0目 ...
- PCB中的生产工艺、USB布线、特殊部件、蓝牙天线设计
PCB中的生产工艺.USB布线.特殊部件.蓝牙天线设计 (2016-07-20 11:43:27) 转载▼ PCB生产中Mark点设计 1.pcb必须在板长边对角线上有一对应整板定位的Mark ...
- [百家号]雷电3和USB Type-C究竟有什么区别?
雷电3和USB Type-C究竟有什么区别? https://baijiahao.baidu.com/s?id=1617271490773519582&wfr=spider&for=p ...
- USB接口无法识别设备
http://windows.microsoft.com/zh-cn/windows/answers?tId=14fa1e44-0a19-48ef-9ba7-b7e512a837a4 小琼子 提问 2 ...
- USB2.0规范
USB是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度可达480Mb/S. USB支持“总线供电”和“自供电”两种供电模式.在总线供电模式下,设备最多可以获得500mA的电流.U ...
随机推荐
- 机器学习:详解是否要使用端到端的深度学习?(Whether to use end-to-end learning?)
详解是否要使用端到端的深度学习? 假设正在搭建一个机器学习系统,要决定是否使用端对端方法,来看看端到端深度学习的一些优缺点,这样就可以根据一些准则,判断的应用程序是否有希望使用端到端方法. 这里是应用 ...
- Jmeter函数助手26-logn
logn函数用于记录一条日志并返回空值. String to be logged (and returned):要打印的字符 Log level (default INFO) or OUT or ER ...
- 很好用的python游戏环境:强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个python语言的迷宫游戏环境
项目的GitHub地址(作者:莫凡): https://github.com/MorvanZhou/mmaze 运行的示例代码: import mmaze start = (0, 0) end = ( ...
- 一款比较好用的 ssh、 ftp 服务的客户端软件 —— NxShell
该软件地址: https://gitee.com/nxshell/nxshell 截图: ======================================================= ...
- sublime添加GBK编码格式
1.背景 2.步骤 Tools(工具) ---> Install Package Control...(安装控制包) 点击执行完成后继续下一步: 点击Package Control,随后搜索I ...
- c#12 实验特性Interceptor如何使用的一个简单但完整的示例
一直有很多转载dotnet对Interceptor说明文档的,但鲜有说明Interceptor如何使用的,这里写一篇简单示例来展示一下 c# 12 实验特性Interceptor 是什么? 官方解释如 ...
- [题解] [ABC221H] Count Multiset - DP
[ABC221H] Count Multiset 题面翻译 输入两个正整数 \(N,M\),并存在一个集合,问你一个长度为 \(k\) 的合法集合存在多少个?你需要回答 \(k\) 的值为 \(1\) ...
- 为何AI更懂你:向量搜索,了解一下!
现在,你有没有发现自己越来越多地依赖推荐系统,有时候自己搜到的结果好像还没有AI推荐的精准. 那估计有人好奇了,推荐系统怎么这么"聪明"的呢?答案就是:"向量搜索&quo ...
- JavaScript设计模式样例十五 —— 状态模式
状态模式(State Pattern) 定义:创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象.目的:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类 ...
- Docker 导出容器 / 镜像
有时由于镜像大小.网络限制等原因,我们不能将本地制作的容器 / 镜像上传到公共容器注册表.此时我们可以选择将镜像以本地文件的形式导出. 导入 / 导出容器 docker export "CO ...