IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 常见的接口汇总 -> 正文阅读

[嵌入式]常见的接口汇总

目录

1. 串口

1.1 串口概述

1.2 串行和并行

2. UART

3. TTL电平

4. USB

5. RS-232

6. RS-485

7. SPI

8. IIC

9. IIS

10. CAN

11. 1-WIRE

1. 串口

1.1 串口概述

串行接口简称串口,也叫串行通信接口,一般也叫COM口,这是一个统称。采用串行通信的接口都叫作串口,串口是一个硬件接口。

1.2 串行和并行

?串行:计算机总线或其他数据通道上,每次传输一个元数据,并连续进行以上单次过程的通信方式。

? 并行:在并行端口上通过一次同时传输若干位元数据的方式进行通信,所以并行的速度比串行快。

并行通信接口示意图
串行通信接口示意图

2. UART

2.1 UART概述

UART是Universal Asynchronous Receiver/Transmitter的简称,也就是通用异步收发传输器。UART可以连接TTL电平也可以连接RS-232,UART接TTL电平就是普通的串口,+5V等价于逻辑"1",0V等价于逻辑"0";而UART如果接了RS232/RS485的转换芯片,那么后面的总线上就是按照RS232/RS485规则来传输数据。UART是一种串行、异步、全双工的通信协议,工作原理是将传输数据的每个二进制位串行传输。在UART通信协议中信号线上的状态为高电平时代表“1”,信号线上的状态为低电平时代表“0”。

2.2 UART数据格式

一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),数据通信格式为下图。

UART数据格式

空闲位

UART协议规定,当总线处于空闲状态时信号线的状态位'1'即高电平,表示当前线路上没有数据传输。

起始位

每开始一次通信时发送方先发出一个逻辑'0'的信号(低电平),表示传输字符的开始。因为总线空闲时为高电平所以开始一次通信时先发送一个明显区别于空闲状态的信号即低电平。

数据位

起始位之后就是我们要传输的数据,数据位可以是5、6、7、8、9位等,构成一个字符(一般是7位),如ASCII码(7位),扩展BCD码(8位)。先发送最低位,最后发送最高位。

奇偶校验位

数据位加上这一位(奇偶校验位)后,使得'1'的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。校验位其实是调整个数,

  • 奇校验(odd parity):如果数据位中“1”的数目是偶数,则校验位为“1”,如果“1”的数目是奇数,校验位为“0”。
  • 偶校验(even parity):如果数据为中“1”的数目是偶数,则校验位为“0”,如果为奇数,校验位为“1”。

停止位

它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中的两台设备之间出现了不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟的机会。停止

位个数越多,数据传输越稳定,但是数据传输速度也越慢。

3. TTL电平

3.1 TTL电平概述

TTL是Transistor-Transistor Logic的简写,是一种电平逻辑,晶体管-晶体管逻辑。

3.2 标准TTL电平逻辑

逻辑1:高电平,VCC(3.3V/5V)

逻辑0:低电平,GND(0V)

对TTL电平的器件来说,当输入电压高于2V时,才会被识别为逻辑1,输入的低电平低于1.2V时,才会被识别为0。输出高电平V_{oh}>2.4V,输出低电平V_{ol}<0.8V,输入高电平V_{ih}>2.0V,输入低电平V_{il}<1.2V

3.3 USB转TTL

玩过51单片机的小伙伴应该都用过CH340G模块,用来下载HEX文件,这个模块的作用就是将USB转成TTL电平。一般单片机的电平都是TTL电平,模块的内部芯片是CH340T,图(USB转TTL模块)

?使用CH340T芯片,USB转TTL电平的电路原理图。

?注意:CH340G和CH340T都是USB转TTL电平的芯片,只是封装不同,管脚不同。

?

3.4 TTL与单片机连接

TTL电平的器件之间通信,只需要三根信号线:TXD、RXD和GND,和单片机接法很简单,3.3V的单片机就接3.3V,5V的单片机就接5V,如果单片机有单独的供电,3.3V和5V都不接。

单片机与TTL小板连接示意图

4. USB

USB是Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑和外部设备的连接和通讯,是应用在PC领域的接口技术,特点是传输速度快,支持热插拔,可连接多个设备。常见的USB接口有:

其中最常见的Type-A的USB的接口定义为

5. RS-232

5.1?RS-232概述及电平逻辑

RS232不同于TTL的电平逻辑,为负逻辑。负12V代表高电平逻辑1,正12V代表低电平逻辑0,电压也有标准范围。

高电平:逻辑1,-15V到-3V;

低电平:逻辑0,+3V到+15V

5.2?DB9接口定义

RS232串口线最常见的就是DB9针,一般用到最多的是RXD、TXD、GND三个信号。下面是RS232串口引脚的定义:

母头引脚

引脚作用+名称

公头引脚

引脚作用+名称

1

数据载波检测

DCD

1

数据载波检测

DCD

2

数据发送

TXD

2

数据接收

RXD

3

数据接收

RXD

3

数据发送

TXD

4

数据设备准备

DSR

4

数据终端准备

DTR

5

GND

5

GND

6

数据终端准备

DTR

6

数据设备准备

DSR

7

清除发送

CTS

7

请求发送

RTS

8

请求发送

RTS

8

清除发送

CTS

9

振铃指示

RI

9

振铃指示

RI

5.3?USB转RS-232

USB转RS-232可以先将USB转换为TTL,再将TTL转换为RS232。目前有很多USB直接转RS232的线材,线材内部集成转换电路。常用的USB转RS-232用的两个芯片是FT232和SP213。

5.4?TTL和RS-232互转

单片机接口一般是TTL电平,如果接232电平的外设,就需要加TTL转RS-232的模块,转换方向是双向的。

TTL和RS-232电平互相转换最常用的芯片是MAX232和SP232。

6. RS-485

6.1 RS-485 概述

RS-485和RS232一样,都是串行通信标准,现在的标准名称是TIA/EIA-485-A。RS-485弥补了RS-232通信距离短,速率低的缺点。RS-485的速率可达10Mbit/s,理论通信距离可达1200m。

6.2?RS-485电平逻辑

RS-485是差分传输,如果用单片机控制RS-485接口的设备,需要用到收发器,这一点和CAN总线类似,实例如下图。

一般收发器内部是一个发送器加一个接收器组成。收发器典型的功能框图如下,其中使能信号字母上面加一横是低电平有效,不加的是高电平有效。

RS-485收发器内部结构

其中,A和B是总线;R是接收器的输出;RE是接收器的使能信号;DE是发送器的使能信号;D是发送器的输入。

对于发送器,当发送器使能引脚DE为逻辑高时,差分输出A和B遵循数据输入D处的逻辑状态。D处的逻辑高导致A转为高,B转为低。在这种情况下,定义为V_{OD} = V_{A}-V_{B}的差分输出电压为正。当D为低时,输出状态反转,B变高,A变低,V_{OD}为负。当DE为低时,两个输出都变成高阻抗,在这种情况下,与D处的逻辑状态是不相关的。

发送器真值表

input

enable

output

output

description

D

DE

A

B

H

H

H

L

Actively drive bus high

L

H

L

H

Actively drive bus low

X

L

Z

Z

Drive disabled

X

OPEN

Z

Z

Driver disabled by default

OPEN

H

H

L

Actively drive bus high by default

对于接收器,当接收器使能引脚RE逻辑低时,接收器使能。当定义为V_{ID}=V_{A}-V_{B}的差分输入电压为正且高于正输入阈值V_{IT+}时,接收器输出R变高。当V_{ID}为负且低于负输入阈值V_{IT-},接收器输出R变低。如果VID在VIT+和VIT-之间,则输出不确定。当RE为逻辑高或悬空时,接收器输出为高阻抗,VID的大小和极性无关。

Differential input

enable

output

description

VID=VA-VB

RE

R

VIT+<VID

Receive valid bus high

VIT-<VID<VIT+

L

?

Indeterminate bus state

VID<VIT-

L

L

Receive valid bus low

X

H

Z

Receiver disabled

X

OPEN

Z

Receiver disabled by default

Open-circuit bus

L

H

Fail-safe high output

Short-circuit bus

L

H

Fail-safe high output

Idle (terminated) bus

L

H

Fail-safe high output

?5.3?TTL和RS-485转换

TTL转成RS-485很常见,收发器芯片很多,比如MAX485,用起来也很简单,一般左接MCU的GPIO,用来控制。

5.4?RS-232和RS-485转换

RS-232和RS-485之间可以转换,一个方法是RS-232转换成TTL,再由TTL转换为RS-485,当然也有芯片支持将RS-232支持转换成RS-485,双向转换。

7. SPI

7.1 SPI概述

SPI是串口外设接口(Serial Peripheral Interface)的缩写,是一种高速的全双工的同步的通信总线,SPI的速率比IIC高,一般可以到几十Mbps,不同的器件当主机和当作从机的速率一般不同。

7.2 信号线

SPI通常有4根线(四线制),可实现全双工通信。

SCK : 串行时钟(Serial Clock)

MOSI : 主发从收信号(Master Output,Slave Input)

MISO : 主收从发信号(Master Input,Slave Output)

CS/CS : 片选信号(Slave Select)

8. IIC

待完善

9. IIS

待完善

10. CAN

待完善

11. 1-WIRE

待完善

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:50:26  更:2022-06-14 22:51:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 7:47:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计