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校验码,可以更好的检测在数据传输中发生干扰导致的数据失真,并且根据重发机制进行重发。

答案

  1. 传输速率:CAN的传输速率相对更低,更低的传输速率代表了电平信号的持续时间更长,能够有效的增强数据的可靠性。
  2. 拓扑结构:CAN在总线的两端分别接入了一个120Ω的终端电阻,这个终端电阻能够减少信号的反射,提高信号的完整性
  3. 协议设计:CAN有着很好的错误检测机制和重发机制(CRC校验,界定符校验,手动或自动重发)。

以上三点使得CAN在传输距离上比USB 更有优势,如文章中有错误的地方,欢迎批评指正。大家有新的想法,请在评论区留下你大胆的想法。

USB和CAN都是用差分信号来传输数据,为什么CAN的传输距离能比USB远那么多?的更多相关文章

  1. 高速数字逻辑电平(8)之LVDS差分信号深度详解

    原文地址点击这里: LVDS(Low-Voltage Differential Signaling ,低电压差分信号)是美国国家半导体(National Semiconductor, NS,现TI)于 ...

  2. 差分信号(Differential Signal)

    差分信号(Differential Signal)在高速电路设计中的应用越来越广泛,电路中最关键的信号往往都要采用差分结构设计,什么另它这么倍受青睐呢?在 PCB 设计中又如何能保证其良好的性能呢?  ...

  3. mipi差分信号原理

    差分信号,什么是差分信号 一个差分信号是用一个数值来表示两个物理量之间的差异.从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的.在某些系统里,系统’地’被用作电压基准 ...

  4. Quartus ii 设计中的差分信号在例化时的命名规则

    在Quartus中做设计,如果使用了差分信号的,如DDR的IP中的mem_ck与mem_ck_n,mem_dqs与mem_dqs_n,将其引入输出端口时,对其命名有一定的规则,否则就会出现错误. 如下 ...

  5. 20140919-FPGA-有效观察设计中的差分信号

    今天回来坐在电脑前,打开Xilinx的Documentation Navigator寻找NCO相关的User Guide,但是在不经意中发现了一个这样的IP,我感觉对于观察设计中的查分信号十分有用.之 ...

  6. 接口与协议学习笔记-USB协议_USB2.0_USB3.0不同版本(三)

    USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2.0目 ...

  7. PCB中的生产工艺、USB布线、特殊部件、蓝牙天线设计

    PCB中的生产工艺.USB布线.特殊部件.蓝牙天线设计 (2016-07-20 11:43:27) 转载▼     PCB生产中Mark点设计 1.pcb必须在板长边对角线上有一对应整板定位的Mark ...

  8. [百家号]雷电3和USB Type-C究竟有什么区别?

    雷电3和USB Type-C究竟有什么区别? https://baijiahao.baidu.com/s?id=1617271490773519582&wfr=spider&for=p ...

  9. USB接口无法识别设备

    http://windows.microsoft.com/zh-cn/windows/answers?tId=14fa1e44-0a19-48ef-9ba7-b7e512a837a4 小琼子 提问 2 ...

  10. USB2.0规范

    USB是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度可达480Mb/S. USB支持“总线供电”和“自供电”两种供电模式.在总线供电模式下,设备最多可以获得500mA的电流.U ...

随机推荐

  1. ABC354

    A link 模拟整个过程即可. 点击查看代码 #include<bits/stdc++.h> #define int long long using namespace std; sig ...

  2. 支付宝小程序的级联选择器,对接简单操作,Cascader 级联选择器element_ui

    首先,对于element_ui 的动接,由于需要数据格式是 但是支付宝提的接口返回的数据是另一种格式,并且支付宝的三级联动接口是先只有一个列表,点击列表项再发现请求,生成另外一个下拉选择, 需要这个三 ...

  3. Windows cifs共享给linux

    Windows 搜索启用或关闭Windows功能 启用cifs 共享文件并添加普通用户 解禁guest用户和设置本地策略 右键计算机 win+r输入secpol.msc 将guest删除 修改网络访问 ...

  4. Jmeter函数助手39-isPropDefined

    isPropDefined函数用于判断属性是否存在. 变量的名称:填入属性名.如果属性名存在返回true,如果不存在返回false 1.jmeter的属性查看路径:测试计划右键"添加&quo ...

  5. Jmeter函数助手18-machineIP

    machineIP函数用于获取本地IP地址. 存储结果的变量名(可选) 1.本地ip可以在cmd运行界面输入命令"ipconfig"查看,Jmeter则使用函数获取${__mach ...

  6. Jmeter函数助手9-char

    char函数用于将数字转换为unicode字符. Unicode 字符数(十进制或0xhex):必填,填入数字 1.如果把各种文字编码形容为各地的方言,那么unicode统一码就是世界各国合作开发的一 ...

  7. 【Windows】Win10 20H2版本 管理员身份问题

    问题描述: 从之前的1909版本升级过来的,在一开始就是管理员身份,升级之后还是管理员身份没错 但是打开一些软件又会开始提示是否安全,还有C盘访问权限警告. 解决办法: 参考方案地址 http://w ...

  8. 【Linux】Re01

    一.三种网络模式 https://www.bilibili.com/video/BV1Sv411r7vd?p=7 1.桥接模式 该虚拟机和宿主机同一网段,和外部网络相通,但是占用网段地址资源,IP分配 ...

  9. 【牛客刷题】HJ6 质数因子

    题目链接 这道题本身更多的是考察如何计算一个数的质数因子,更像是一道数学题,用到了循环的方法: package main import ( "fmt" "math&quo ...

  10. WPF 实现图标按钮

    假设需要实现一个图标和文本结合的按钮 ,普通做法是 直接重写该按钮的模板: 如果想作为通用的呢? 两种做法: 附加属性 自定义控件 推荐使用附加属性的形式 第一种:附加属性 创建Button的附加属性 ...