产品概述

单片机通讯接口 什么是单片机的通信接口

小编 2024-11-24 产品概述 23 0

什么是单片机的通信接口

作为一名优秀的硬件工程师,相信在设计图纸和写程序的过程中,I2C和SPI芯片肯定是十分常见的,而且在许多项目这两者是比不可少的。那到底什么是IIC和SPI呢?今天小编就和大家分享一下。

对于许多初学者而言,包括小编在刚开始接触单片机的时候,经常听到同事说起I2C和SPI,但是一直不知道是什么意思。其实I2C和SPI和单片机的串口或者CAN一样都是一种通信接口,而且都是有标准的协议的,只是它们的时序不同,仅此而已。

在实际的使用过程中,用I2C的芯片最常见的是EEPROM芯片,比如AT24CXX系列。使用SPI通信的芯片一般外置FLASH芯片,蓝牙芯片,RFID等等。

I2C通信需要用到两个引脚:。SCL表示的是时钟引脚,SDA表示的是数据引脚。如下图所示。

(上面的图表示的是EEPROM芯片)

(上面的图表示的是时钟芯片)

SPI通信需要4个引脚:SPI_CS,SPI_SCK,SPI_MOSI,SPI_MISO。SPI通信芯片的引脚名称一般都是这种写法,例如SPI_MOSI表示的意思就是“主机输出从机输入”主机一般就是指我们的单片机,从机是指待操作的芯片。

SPI标准的通信过程是:先把片选SPI_CS引脚拉低,SPI_SCK引脚输出时钟,然后就可以在SPI_SMOSI引脚上输出数据,同时可以在MISO上获得数据了。

(下面这幅图是一个SPI FLASH的芯片,芯片引脚和标注的名称意思一致)

目前市场上常见的单片机中,大部分使用的都是带有I2C口和SPI口的,有的还有有可能还会有好几个I2C口和SPI口。比如现在比较流行的STM32,Freescale,NXP,PIC等单片机。但是有的单片机本身不带硬件I2C口和SPI口的,也可以通过模拟的方式通信。并且对于新手而言,学习一下用普通引脚模拟是十分有必要的,以为这样对他们的通信本质理解更深刻。

在实际的通信全程中,其实单片机就是要控制相应引脚的高低电平,或者检测输入引脚的高低电平的过程。IIC和SPI就是控制引脚的高低电平,本质上和点灯没什么区别,只是在时序上有标准的要求。

IIC中是用两条线来通信,一条时钟线(SCK),一条数据线(SDA)。时钟线用来产生一个脉冲,再说的直接一点,就是把引脚变高变低的信号,用延时函数来确定频率。如下图:这就是个时钟信号

比如我们规定,在SCK高电平时,读取SDA的电平,连续8个SCK读一个字节。数据的那一端,在检测到低电平的时候,就把要发送的数据按照位体现在数据引脚上面。例如一个数据:0x88,写成二进制以后就是1000 1000。我们来看一下传输这个数据的过程:从机检测时钟引脚,检测到一个下降沿(就是从高电平落到了低电平),就把要发送的数据的bit7体现在数据引脚上,例如1000 1000的bit7是1,就把数据引脚变高电平,主机在时钟引脚的高电平,检测这个数据引脚,把这个位记录下来,从机再次发现时钟引脚的下降沿后,再把数据的bit6体现在数据引脚上,由于1000 1000 的bit6是0,所以从机把数据引脚拉低,然后当时钟引脚为高电平的时候,主机检测数据引脚的高低电平,再把bit6记录下来,……以此8次,就可以把一个字节由从机传输到主机了。是不是很简单呢?

SCK的速率,是指数据传输的快慢,通过控制SCK电平之间的时间间隔就可以。

I2C通信,SPI通信,只不过是在我刚才讲的例子上面,又多了一些协议内容。具体的协议,你们随便找一个I2C和SPI通信接口的芯片看一下时序图就可以了。我们要做的,就是用单片机的引脚,把它的时序做出来。

玩转电子硬件,每晚与您相约今日头条!

单片机硬件设计:RS232通讯接口电路设计及分析

今天讲解RS232的典型接口电路。

1. 什么是RS232接口

说到RS232有的朋友可能比较陌生,但是如果说到串口大家可能就恍然大悟。什么是RS232?RS232是PC电脑上常用的通讯接口之一,通常以DB9的形式出现,例如台式机的com1和com2口。电脑的串口如下图所示。

DB9分为公头和母头,什么是公头、母头,看下面的图片。

顾名思义,母头就是带孔的,公头就是带针的,自己联想一下,呵呵。

2. RS232接口电路硬件设计

在用单片机设计RS232通信系统的时候,是将单片机的TTL电平转换成RS232电平,在转换的过程中需要相应的转换芯片。最常用的转换芯片是MAX232,相信用过STC51单片机开发板的朋友,都用这个接口下载过程序。

既然是通信接口,那自然少不了单片机的UART接口,所以在单片机选型的时候只需要选择带有UART片上资源的单片机即可。

3. 抗干扰设计

在讲CAN通信接口和RS485通信接口的时候都讲到了抗干扰设计。所使用的两种方法都一样。

通讯隔离,使用数字隔离芯片进行隔离;

线路限流,在通讯线上串入自恢复保险丝;

对于RS485接口典型电路CAN接口典型电路 等,大家可以查看订阅号里的历史文章。

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。

公众号:micropoint8。嵌入式学习网_振兴网:www.picmcu.com

相关问答

单片机接口 和端口的区别?

单片机串行口与普通IO口区别如下:1、串口用作串行通信,通信包括IIC,RS485,RS232等,它也是输出是定速度的0-1-0-之类变化。2、I/O口是指来关量的输入或输出,...

单片机 ,什么是串行口,什么是并行口? - 懂得

两种接口都是用来传送二进制数据的接口形式。串行接口,一般有一根时钟线,一根数据线,一个时钟周期传送二进制1位,要传送一个字节至少需要8个时钟周...

单片机 哪个 接口 具有双功能?

SPI是英语SerialPeripheralInterface的缩写,顾名思义就是串行外围设备接口。SPI是一种高速的、全双工、同步通信总线,标准的SPI也仅仅使用4个引脚,.....

单片机 ,什么是串行口,什么是并行口? - 小小一个小明 的回...

两种接口都是用来传送二进制数据的接口形式。串行接口,一般有一根时钟线,一根数据线,一个时钟周期传送二进制1位,要传送一个字节至少需要8个时钟周...

PLC的RS485 接口 怎么和, 单片机 ,的(RXD,TXD) 接口通讯 。请简要说下,我需要对PLC做哪些设置?

单片机的(RXD,TXD)接口是TTL电平的232,得用芯片max485PLC端肯定需要程序单片机的(RXD,TXD)接口是TTL电平的232,得用芯片max485PLC端肯定需要程序

单片机 RX和TX和数据口有什么区别?

在单片机中,RX、TX和数据口都是用于串行通信的接口,但它们之间有些许不同:RX(Receive)和TX(Transmit)是UART串行通信接口的引脚。TX是单片机输出数据的引...

232 通讯 线能不能连接 单片机 ?

1、单片机系统与电脑的RS-232接口通信,必须把单片机的信号电平(TTL电平)转换成计算机的RS-232C电平(或者反过来把计算机的RS-232C电平转换成单片机的TTL电平...

单片机 能否通过总线 通讯 控制多个传感器?

回答如下:是的,单片机可以通过总线通讯控制多个传感器。单片机通常具有多个通信接口,如I2C、SPI、UART等,可以通过这些接口与传感器进行通信。传感器可以通过...

8051 单片机 有多少个 接口 ?

8051一般有40个接口,这里拿我们国产的具有8051核心的芯片STC89C52RC来介绍一下其接口情况。一、芯片简介TC89C52RC芯片是宏晶科技公司生产的STC89系列单片机中...

单片机 在与外部i/o 接口 进行数据传送时,将使用什么线?

单片机在与外部IO口进行数据传送时将使用数据总线和地址总线。单片机在与外部IO口进行数据传送时将使用数据总线和地址总线。

猜你喜欢