常用总线
文章平均质量分 71
偏硬件角度介绍各种常用的总线
竹影行风
踏竹追风!!!
展开
-
0.0 总线简介
总线,Bus,主要应用于芯片级别通讯,以及计算机之间的通讯,例如I2C、SPI、USB、CAN等。它们广泛应用在小范围,短距离的应用场合。 总线传输数据的方式是数字信号中的基带信号。基带传输是一种很古老的数据传输方式,它不对数据信号做任何调制处理。根据数字信号中的“0”和“1”处理方式的不同,基带信号又分为几种传输码波形。 我们最最常用的码行就是单极性非归零码,即高电平代表“1”,0V代表“0”。例如I2C,SPI等芯片级总线通讯。除此之后,还有其他的码,例如双极性非归零码,正电平代表“1”,负原创 2021-07-06 17:55:30 · 630 阅读 · 0 评论 -
0.1 大小端、字节序、位序
大小端、字节序、位序原创 2023-04-21 18:47:59 · 452 阅读 · 0 评论 -
1.0 UART
一、综述 UART,Universal Asynchronous Receiver/Transmitter,通用异步收发传输器。它是一种串行异步收发协议。我们总是把UART叫做串口,其实这是不严谨的,串口是一个泛称。 它的协议格式如下所示: 协议共分4个部分:起始位,数据位,奇偶校验位,停止位。 起始位,是1bit低电平,用来表示字符传输的开始,因为UART在空闲时,都是高电平。 数据位,数据可以是5-9bit,这问题就来了,一般情况下,我们都是按字节传输,1字节8bit,显然如果设置原创 2021-07-06 18:15:28 · 539 阅读 · 0 评论 -
1.1 RS485、RS232和线序
一、综述 UART一般代表了一种传输协议,例如波特率,奇偶校验位等,它并没有规定这种协议的电气特性。故在物理层上,有多种电气特性可供使用,最常见的当属三种:TTL电平、RS485接口和RS232接口。 TTL电平是最常用的一种电平,全称是晶体管-晶体管逻辑集成电路。它大量应用于电子产品中,由TTL电子元器件组成电路使用的电平。UART的TTL电平,只使用RXD、TXD和GND三条线,它的传输距离较短,一般只用于芯片级通信或输出log。 RS232接口全称是“数据终端设备和数据通信设备之间串行二进原创 2021-07-06 18:18:47 · 6694 阅读 · 0 评论 -
1.2 ModBus
一、简介 ModBus是一种串行通信协议,是施耐德电气与1979年发布的,目前已经成为工业领域通信协议的业界标准,它一般是基于RS485,默认波特率为9600。 每一帧的数据格式为说明地址域功能域数据域CRC校验域字节数11N2 1、地址域,在帧首,一般只使用1~247。该字节表明了终端设备的地址,而且是唯一的。须有被寻址到的终端才会响应,终端响应时,需要把自己的地址放在帧中。直流电表的默认地址为1。 2、功能域,它用来告知被寻址的终端需要执行何种功能原创 2021-07-07 01:39:17 · 270 阅读 · 0 评论 -
1.3 DLT645
一、简介 目前市面的大部分的电表,通信都是遵循该协议。因为物理层使用RS-485,故为半双工通信,主站指终端设备,从站指多功能电能表。 数据链路层,默认波特率2400,偶校验,8bit数据,1bit停止位。先传低位,后传高位。D0是字节最低有效位,D7是字节最高有效位,如下图所示 帧格式如下表所示说明帧起始符地址域帧起始符控制码数据域长度数据域校验码结束符字节0x68A0~A50x68CLDATACS0x161、帧起始符 固定0x6原创 2021-07-07 01:39:36 · 1933 阅读 · 0 评论 -
2.0 I2C
一、综述 I2C,Inter-Integrated Circuit,内部集成电路总线,半双工通讯。由飞利浦在1980开始研发,1982正式发布,最初是用于控制电视内的各种芯片。和SPI不同,I2C有严格的协议规范,到现在为止,已经发布了若干个版本的规范。I2C主要是为了低速设备通信发明的,所以即便是最快的传输速度5Mbps,还是远远比不上SPI。协议规范如下图所示。 最早版本发布于1982年,标准模式(Standard Mode)最大100kbps,7位地址。1992年1.0版本,引入快速模式(Fa原创 2021-07-06 18:07:11 · 420 阅读 · 0 评论 -
3.0 SPI
一、综述 SPI,Serial Peripheral interface,串行外围设备接口,全双工通讯。大概在1979年,由Motorola公司首先在其MC68HCXX系列处理器上使用。与I2C不同,SPI的协议非常简单,不规定最大传输速率,没有通讯应答机制、流控制规则和地址方案,甚至SPI主设备发送数据时,都可以不知道指定的从设备是否存在。正是因为这种特性,当只有SPI主机发送数据,而没有从机时,用逻辑分析仪或示波器依然能抓取到完整的数据帧,这在I2C等协议中是不可能的,因为I2C有应答机制,只有主机原创 2021-07-06 18:12:30 · 2122 阅读 · 2 评论 -
3.1 拓展-I2C、SPI的区别
I2C和SPI都对低速设备通信提供了很好的支持,不过,SPI适合数据流应用,而I2C更适合“字节设备”的多主设备应用。“大”协议是用于系统外的整个系统之间通信的,“小”协议是用于系统内各芯片间的通信,没有迹象表明“大”协议有必要取代“小”协议。I2C的高速模式最快也就Ultra Fast Mode的5Mbps,而且还需要额外的电路,导致I2C的高速模式几乎没有推广开,一般用I2C还是使用它的普通(100Kbps)和快速模式(400Kbps)。但是对使用的工程师来讲,理解总线结构更费劲,而且总线的性能不高。原创 2023-04-21 19:33:30 · 653 阅读 · 0 评论