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 ...
随机推荐
- SpringBoot+ Sharding Sphere 轻松实现数据库字段加解密
一.介绍 在实际的软件系统开发过程中,由于业务的需求,在代码层面实现数据的脱敏还是远远不够的,往往还需要在数据库层面针对某些关键性的敏感信息,例如:身份证号.银行卡号.手机号.工资等信息进行加密存储, ...
- c++ 快速复习第一部份
去年有事无事学过一c++ ,,由于工作用不上,学来没有用,所以学得乱七八的,最近需要复习一下,因为最近想学习一下硬 件相关 第一 引用头文件和自定义头 #include <iostream& ...
- 浅谈 MySQL 连表查询
浅谈 MySQL 连表查询 连表查询是一把双刃剑, 优点是适应范式, 减少数据冗余; 缺点是连表查询特别是多张表的连表会增加数据库的负担, 降低查询效率. 简介 连表查询就是 2 张表或者多张表的联合 ...
- 从.net开发做到云原生运维(四)——.net core的微服务开发
1. .net 6.0项目模板变更 在.net 5和.net 3.1的时候,asp.net core项目模板里有个Program类和Startup类,在.net 6中引入了一个最小api的项目模板,在 ...
- 神经网络之卷积篇:详解更多边缘检测内容(More edge detection)
详解更多边缘检测内容 已经见识到用卷积运算实现垂直边缘检测,在本博客中,将看到如何区分正边和负边,这实际就是由亮到暗与由暗到亮的区别,也就是边缘的过渡.还能了解到其他类型的边缘检测以及如何去实现这些算 ...
- BST二叉查找树的接口设计
/*************************************************************************************************** ...
- java创建一个日历(某个月)实例
''' package helloworld; //需要导入py4j.jar包 import py4j.GatewayServer; import java.util.*; import java.l ...
- 组长:你熟悉过React,开发个Next项目模板吧,我:怎么扯上关系的?
组长:你熟悉过React,开发个Next项目模板吧,我:怎么扯上关系的? 最近工作安排我开发一个Next.js项目模板,心里默笑,React用得少得都快忘光了,现在得搞Next?虽然我曾是React的 ...
- Linux C基础——” Makefile “ 文件管理大师你拜访过嘛?
Make简介: 工程管理器,顾名思义,是指管理较多的文件 Make工程管理器也就是个"自动编译管理器",这里的"自动"是指它能够根据文件时间戳自动发现更新过的文 ...
- ArgoWorkflow教程(二)---快速构建流水线:Workflow & Template 概念
上一篇我们部署了 ArgoWorkflow,并创建了一个简单的流水线做了个 Demo.本篇主要分析 ArgoWorkflow 中流水线相关的概念,了解概念后才能更好使用 ArgoWorkflow. 本 ...