485:
介绍:
        485通讯协议是串行通讯的标准。定义了电压、阻抗等,但不对软件协议给予定义。
特点:
        RS-485的最大数据传输速率为10Mbps。
        强大的RS-485接口,即良好的抗噪性。
        RS-485接口的标准最大传输距离为4000英尺,实际可以达到3000米

使用方法:
        RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。RS485有两线制和四线制两种接线,
        四线制是全双工通讯方式,两线制是半双工通讯方式。
        RS485接口组成的半双工网络,一般是两线制(以前有四线制接法,只能实现点对点的通信方式,现很少采用),
        多采用屏蔽双绞线传输。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
        很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。RS485接口连接器采用DB-9的9芯插头座,
        与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。

协议
RS485 仅仅规定了接受端和发送端的电气特性,它没有规定或推荐任何数据协议

CAN:
   介绍:
        CAN是控制器域网 (Controller Area Network, CAN) 的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
        近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

特点:
        CAN属于总线式串行通信网络。 由于采用了许多新技术和独特的设计思想 ,与同类产品相比 , CAN 总线在数据通信方面具有可靠、实时和灵活的优点。 为使设计透明和执行灵活 ,遵循 ISO /OSI标准模型 , CAN 总线结构划分为两层: 物理层和数据链路层 (包括逻辑链路控制子层 LLC和媒体访问控制子层 M AC)。

使用方法:
    1.    信号传输技术数据
(1)CAN bus最高传播速度:1 Mbps
(2)ISO 分类:
低速型 低于10 kbps (用于后视镜调整、电动窗、灯光照明、雨刷器等,称作LIN总线)
低速型 10 -125 kbps (用于舒适系统、仪表显示等)
高速型 125 kbps -1Mbps (用于发动机控制、ABS、传动控制等)
(3)最多接入控制单元数:32个
(4)通用版本:Bosch CAN 2.0
2.    干扰问题
(1)两条数据线相互缠绕,防止电磁波干扰和向外辐射,规定绞距20mm。
3.    CAN收发器接口
(1)常用三种接口器件
M12小型连接器、OPEN5连接端子、DB9插座
4.    显性电平和隐性电平
总线上的电平有显性电平和隐性电平两种。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)

协议:
        CAN 协议经 ISO 标准化后有 ISO11898 标准和 ISO11519-2 标准两种。 ISO11898 和 ISO11519-2 标准对于数据 链路层的定义相同,但物理层不同。
(1) 关于 ISO11898
        ISO11898 是通信速度为 125kbps-1Mbps 的 CAN 高速通信标准。 目前,ISO11898 追加新规约后,成为 ISO11898-1 新标准。
(2) 关于 ISO11519
        ISO11519 是通信速度为 125kbps 以下的 CAN 低速通信标准。ISO11519-2 是 ISO11519-1 追加新规约后的版本。

单总线:
介绍;
        它采用单条信号线,既可以传输时钟又可以传输数据,而且数据传输是双向的,
        
特点:
        线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点
        适用于单主机系统,能控制一个或多个从机设备

协议:
1.单总线命令序列包括

(1)第一步:初始化
1)初始化包括主机发送复位脉冲和从机发送应答脉冲两部分组成;
2)主机 发送复位脉冲时拉低总线至少480us;
3)从机响应应答脉冲时,检测到总线被释放,并由5k上拉电阻拉高,从机检测到上升沿15-60us,拉低60-240us产生响应脉冲;
(2)第二步:ROM命令(跟随需要交换的数据)
(3)第三步:功能命令(跟随需要交换的数据)
2.主机每次访问单总线设备,严格按照此命令序列,当执行搜索ROM命令()和报警搜索命令时,第三步不能再执行,需要回到第一步。
3.单总线写数据包括向单总线器件写‘0’和写‘1’;
(1)写‘0’,主机在拉低总线后,保持低电平至少60us即可;
(2)写’1’,主机在拉低总线后,在15us内释放总线,由上拉电阻拉高电平;
4.单总线读数据
(1)主机发送读数据命令后,发送读请求(拉低总线至少1us,然后释放),总线被上拉电阻拉高,从机此时发送1,则保持总线为高电平,若发送0,则拉低总线;
(2)注意:读取的每一个0 或者1,都是在主机发送读请求(拉低总线至少1us,然后释放)之后,上拉电阻拉高总线,15us内,从机改变总线状态,拉低为0,拉高为1,自主机发送读请求开始计时15us内从机把0或者1放到总线上,15us后释放总线。每读一个0或者1,至少需要60us;

SPI:
 
   介绍;
        是一种高速,高效率的串行接口技术;

特点:
  可以同时发出和接收串行数据;
  可以当作主机或从机工作;
  提供频率可编程时钟;
  发送结束中断标志;
  写冲突保护;
  总线竞争保护等。
  
  
使用方法:

主动方式
        SPI有主从两种工作方式。在主模式下,SPI为其他节点的SPICLK引脚提供串行时钟,数据从SPISIMO引脚输出,从SPISOMI引脚输入。
        主控制器写人数据到寄存器SPITXBUF便启动发送,数据从SPITXBUF传送到SPIDAT中再通过SPISIMO引脚发送出去,先发送最高位;
        同时,主控制器接收到的数据通过SPISOMI引脚移入寄存器SPIDAT的最低位。当选定数量的位数发送完时,整个数据发送完毕,
        紧接着接收完毕(通过SPISIMO引脚发送的SPIDAT的数据最高位每移出一位后就会从SPISOMI引脚移人一位到SPIDAT最低位)。
        首先将接收到的数据传送到寄存器SPIRXBUF,并进行右对齐,供CPU读取。
    从动方式
        在从动方式下,数据从SPISOMI引脚移出并由SPISIMO引脚移入。SPICLK引脚作为串行移位时钟的输入。
协议:

协议:
 1.起始信号和终止信号
起始信号:CS片选信号高电平变为低电平,当从机检测到自己的片选拉低后,开始与主机进行通信。

终止信号:CS信号由低电平变为高电平,结束和主机之间的通讯,本次数据交互结束。

2.数据的有效性
数据借助MOSI和MISO进行传输,通过SCK时钟线进行数据的同步传输,数据在每一个SCK时钟周期传输一位数据。数据的输入和输出是同时进行的,发送一个数据也就会接受一个数据。在进行双向通信的时候,一边采用的是“MSB先行”。

3.时钟的相位和极性
SPI_CR寄存器的时钟和极性,出现了四种组合形式。

时钟极性【CPOL】:控制的是设备在空闲状态下的电平状态

CPOL为1:空闲状态为高电平           CPOL为0:空闲状态为低电平

时钟相位【CPHA】:控制采样信号的边沿

CPHA = 1:在SCK时钟的第二个边沿进行采样,同时数据要保持稳定,与此同时,则在第一个边沿进行数据的转换,准备下一次的数据传输。

CPHA = 0:在SCK时钟的第一个边沿进行采样,同时数据要保持稳定,与此同时,则在第二个边沿进行数据的转换,准备下一次的数据传输。

12C:

    I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

特点:
    (1)在硬件上,二线制的 I2C 串行总线使得各 IC 只需最简单的连接,而且总线接口都集成在 IC 中,不需另加总线接口电路。电路的简化省去了电路板上的大量走线,减少了电路板的

面积,提高了可靠性,降低了成本。在 I2C 总线上,各 IC 除了个别中断引线外,相互之间没有其他连线,用户常用的 IC 基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。

(2)I2C 总线还支持多主控( multi-mastering ),如果两个或更多主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据被破坏。其中任何能够进行发送和接收的设备都可以成为

主机。一个主机能够控制信号的传输和时钟频率。当然在任何时间点上只能有一个主机。

( 3)串行的 8 位双向数据传输位速率在标准模式下可达 100kbps ( S08AW系列的 I2C 模块只

支持标准模式) ,快速模式下可达 400kbps ,高速模式下可达 3.4Mbps。

( 4)连接到相同总线的 IC 数量只受到总线最大电容( 400pf )的限制。但如果在总线中加上

82B715 总线远程驱动器可以把总线电容限制扩展十倍,传输距离可增加到 15m。

使用方法:

对于I2C总线的操作,主要有以下几个命令:

开始命令:
I2C总线开始的操作过程是通过SCL为高的时候SDA有个下降沿的过程;

停止命令:
I2C停止的的操作过程是通过SCL为高的时候SDA有个上升沿的过程;

读写数据
I2C读写每一位数据都是在SCL为高的时候完成的,读写每一位数据的时候SCL都有一个高脉冲的过程,也就是说,在SCL为高的时候我们读写SDA的值,这意味着在SCL拉高之前,SDA必须为一稳定的值,不然读写就不准确;

写完从器件之后等待从器件的应答:
在主器件完成对从器件的写操作时候(每次会有一个字节的数据),主器件会等待从器件发送指示信号,这个指示信号是说从器件已经接受到了主器件的数据,这个回应ACK是个低电平脉冲。并且这是由从器件的硬件来完成的,不需要主器件来软件操作,只需要等待;

主器件读完数据后向从器件发送应答信号:
这其实包括两种情况,一种是主器件读完后还要继续读就要发送一个继续读的信号(其实就是发送0),另一种就是不再继续读了,就要发送停止读信号(其实就是发送1)。

通信方式:

1. 485:半双工,多点通信
2. CAN:CAN总线为一种多主总线,即总线上的每一个节点设备均可充当为主机,而且每一个节点设备之间也都可以互相进行通信。
3. 单总线:采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的
4. SPI:全双工,同步的通信总线
5. I2C:全双工,需要两根线即可在连接于总线上的器件之间传送信息。

485 CAN 单总线 SPI I2C 的总结相关推荐

  1. UART SPI I2C 接口介绍 转载

    UART SPI I2C 接口介绍@TOC 做单片机开发时UART,SPI和I2C都是我们最经常使用到的硬件接口,我收集了相关的具体材料对这三种接口进行了详细的解释. UART UART是一种通用串行 ...

  2. 【SA8295P 源码分析】13 - Android GVM 虚拟机 QUPv3 UART / SPI / I2C功能配置及透传配置

    [SA8295P 源码分析]13 - Android GVM 虚拟机 QUPv3 UART / SPI / I2C功能配置及透传配置 一.QUP v3 介绍 二.QUP v3 UART 功能配置 2. ...

  3. 高速USB转JTAG/SPI/I2C/UART/GPIO应用

    高速USB转接芯片CH347是一款集成480Mbps高速USB接口.JTAG接口.SPI接口.I2C接口.异步UART串口.GPIO接口等多种硬件接口的转换芯片. 接口示意图: 应用示意图: JTAG ...

  4. 单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...

    1<单片机原理应用>课程设计指导书2010-6-8 <单片机原理与应用>课程设计指导书 一.课程设计的基本任务 本课程设计的基本要求是使学生熟悉掌握MCS-51系列单片机的编程 ...

  5. 05-SA8155 QNX通过QUB配置GPIO/INT/SPI/I2C/SPI等

    1. 概述 1.1 概念 GENI 通用接口 (Generic interface) GSI 通用软件接口 (Generic software interface) QUP 高通通用外设 (Qualc ...

  6. 嵌入式知识框架之六-接口与总线(SPI\I2C\ USB\PCI\PCI-E\SD\SDIO\以太网接口)

    接口是外设和主设备连接的方式/规则/协议的名称:XX总线是主设备连接某一类接口的名称 1.串口 串行数据接口标准(根据时间发展顺序介绍): RS-232:命名为EIA-232-E标准:通信距离短.速率 ...

  7. 低速协议 I2S UART SPI I2C

    前沿 第二篇,一些简单低速的协议.理论+实践才能真正学会了. 1.I2S  1.1.概念 I2S(Inter-IC Sound)总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准, ...

  8. SPI、I2C、UART 三种串行总线对比介绍

    转载自https://blog.csdn.net/oqqHuTu12345678/article/details/65445338 参考博客 https://blog.csdn.net/xiaodin ...

  9. Micropython——关于Pico中I2C和SPI的实际应用示例(OLED屏幕显示)

    博主之前的文章简要介绍了一下I2C总线和SPI总线的原理,这篇文章来详细介绍一下我们如何通过 I2C总线和SPI与OLED屏幕进行通信(驱动芯片SSD1306),以及我们在现实生活中的简单应用. 博主 ...

最新文章

  1. AES加密时抛出java.security.InvalidKeyException:#160;Illegal#160;key#160;size#160;or#160;def...
  2. uniapp/vue 组件之间的传值
  3. 仿探探交友小程序V7.0.2 完整安装包+小程序前端
  4. win10 卸载mysql5.7
  5. Flutter动画Animation开发指南
  6. js事件冒泡与事件捕获、阻止事件冒泡和浏览器默认行为
  7. 35年老程序员个人谈:C语言时代行将落幕
  8. 计算机科学与技术影视,计算机科学与技术专业--水墨的影视艺术语言的研究
  9. dot全称_DOT是什么
  10. 计算机清理方法,电脑清理方法 电脑要如何清理
  11. Go Dumpling!让导出数据更容易
  12. 【Oracle数据库驱动架包 ojdbc5.jar ojdbc6.jar】
  13. 树图区块链学习(未完待续)
  14. 我所认识的BIMRevit
  15. Vue音乐--排行榜页面02_抓取首页数据
  16. 用 WasmEdge 和 YoMo 对实时数据流进行 AI 推理
  17. linux asp可以运行吗,宝塔linux面板可以搭建运行asp网站程序吗
  18. 为什么喝牛奶会拉肚子
  19. 3DMaxs快速导出全景图
  20. linux编译安装madam,madam、Linux LVM的使用

热门文章

  1. 钉钉RC版H5页面调试
  2. 2021年2月23日 星期二 八九 阴
  3. Java中的静态方法为什么不能调用非静态方法
  4. PYGAME初学笔记(pygame的导入)
  5. 展现学习能力,可能比展现能力更重要
  6. office(如:Word、Excel、PPT 等)文件轻松实现在线预览
  7. Worktile:突围,企业协作办公的主旋律
  8. linux informatica教程,linux下informatica服务安装和配置
  9. 华中师范大学计算机学院校友,院部动态丨计算机学院:酸甜苦辣咸——你最pick谁...
  10. HDU 3031 ToBe Or Not To Be(模拟)