UART、SPI、I2C串口通信课件_第1页
UART、SPI、I2C串口通信课件_第2页
UART、SPI、I2C串口通信课件_第3页
UART、SPI、I2C串口通信课件_第4页
UART、SPI、I2C串口通信课件_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UART、SPI、I2C串口通信,UART、SPI、I2C串口通信培训,UART、SPI、I2C串口通信,一、 UART通信 二、 SPI通信 三、 I2C通信,UART、SPI、I2C串口通信,UART、SPI、I2C串口通信,一、 UART通信,1.串行通信和并行通信 2.51系列单片机UART通信原理 3.C8051F系列单片机的串口及波特率配置,UART、SPI、I2C串口通信,1.串行通信和并行通信,数据通信:若干个数据设备之间的信息交换称为 数据通信。 两种方式:并行通信和串行通信。 并行通信:是指数据的各位同时传送,每一位数据都需要一条传输线并且需要若干条控制信号线,这种方式仅适

2、合于短距离的数据传输。 并行传输的特点是:传输速率快,接口电路简单。,UART、SPI、I2C串口通信,1.串行通信和并行通信的区别,串行通信:是指数据中的各位分时传送,此时只需要一条数据线,外加一条公共信号地线和若干条控制信号线。因为一次只能传送一位,所以对于一个字节的数据,至少要分8位才能传送完毕。 串行通信的特点:传输线少,长距离传输成本,但是传输控制比并行要相对复杂。 数据传输方式:单工、半双工和全双工。,UART、SPI、I2C串口通信,1.串行通信和并行通信,单工:A只能发信号,B只能收信号,信号单向传输。 半双工:A能发信号给B,B也能发信号给A,但是这两个 过程不能同时进行。最

3、典型的例子是对讲机。 全双工:A在给B发信号的同时B也能给A发信号。最典型的例子打电话。 波特率:波特率是指每秒内传送二进制数据的位数以 b/s和bps(位/秒)为单位。,UART、SPI、I2C串口通信,1.串行通信和并行通信,UART、SPI、I2C串口通信,2.51系列单片机UART通信,UART作为异步串口通信协议的一种,工作原理是将传输数据的每个字符一位接一位地传输。 起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。 数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。 奇偶校验位:数据位加上这一

4、位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性,UART、SPI、I2C串口通信,2.51系列单片机UART通信,停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 空闲位:处于逻辑“1”状态,表示当前线路上没有数据传送。,UART、SPI、I2C串口通信,2.51系列单片机UART通信,U

5、ART、SPI、I2C串口通信,2.51系列单片机UART通信,UART工作原理: 发送数据过程:空闲状态,线路处于高电位;当收到发送数据指令后,拉低线路一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧数据发送结束。 接收数据过程:空闲状态,线路处于高电位;当检测到线路的下降沿(线路电位由高电位变为低电位)时说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备准备接收数据或存入缓存。,UART、SPI、I2C串口通信,2.51系列单片机UART通信,

6、UART的接收数据时序为:当检测到数据的下降沿时,表明线路上有数据进行传输,这时计数器CNT开始计数,当计数器为24=16+8时,采样的值为第0位数据;当计数器的值为40时,采样的值为第1位数据,依此类推,进行后面6个数据的采样。如果需要进行奇偶校验,则当计数器的值152时,采样的值即为奇偶位;当计数器的值为168时,采样的值为1表示停止位,一帧数据接收完成。,UART、SPI、I2C串口通信,2.51系列单片机UART通信,UART、SPI、I2C串口通信,2.51系列单片机UART通信,UART波特率发生器:波特率是衡量数据传输速率的指标,表示每秒传送数据的字符数,单位为Baud。UART

7、的接收和发送是按照相同的波特率进行收发的。波特率发生器产生的时钟频率不是波特率时钟频率,而是波特率时钟频率的16倍,目的是为在接收时进行精确地采样,以提取出异步的串行数据。根据给定的晶振时钟和要求的波特率,可以算出波特率分频计数值。,UART、SPI、I2C串口通信,2.51系列单片机UART通信,51单片机串口的四种方式:,UART、SPI、I2C串口通信,2.51系列单片机UART通信,方式0:方式0时,移位时钟脉冲由56(即第6个状态周期,第12个节拍)给出,即每个机器周期产生一个移位时钟,发送或接收一位数据。所以,波特率为振荡频率的十二分之一,并不受PCON寄存器中SMOD的影响,即:

8、方式0的波特率fosc12,UART、SPI、I2C串口通信,2.51系列单片机UART通信,UART、SPI、I2C串口通信,2.51系列单片机UART通信,方式l和方式3的波特率方式1和方式3的移位时钟脉冲由定时器T1的溢出率决定,故波特宰由定时器T1的溢出率与SMOD值同时决定,即:方式1和方式3的波特率2SMOD/32T1溢出率。其中,溢出率取决于计数速率和定时器的预置值。 计数速率与TMOD寄存器中CT的状态有关。当CT0时,计数速率fosc2;当CT1时,计数速率取决于外部输入时钟频率。当定时器Tl作波特率发生器使用时,通常选用可自动装入初值模式(工作方式2),在工作方式2中,TL

9、l作为计数用,而自动装入的初值放在THl中,设计数初值为x,则每过“256一x”个机器周期,定时器T1就会产生一次溢出。为了避免因溢出而引起中断,此时应禁止T1中断。这时,溢出周期为:,UART、SPI、I2C串口通信,2.51系列单片机UART通信,UART、SPI、I2C串口通信,2.51系列单片机UART通信,UART、SPI、I2C串口通信,3.C8051F系列单片机UART的使用,UART0的配置步骤: (1)UART0相关寄存器配置如:UART0控制寄存器SCON0的REN0位(接受允许),定时器控制寄存器TCON0的TR1位(开定时器1),时钟控制寄存器CKCON 的TIM位(定

10、时器1时钟选择),定时器方式寄存器TOMD,最后不要忘记打开UART的交叉开关。 (2)配置波特率:配置串口工作方式1,定时器使用方式2(自动重装载的8位计数器/定时器),UART、SPI、I2C串口通信,3.C8051F系列单片机UART的使用,UART、SPI、I2C串口通信,3.C8051F系列单片机UART的使用,(3)注意使用时要禁止定时器1终端ET1=0;TI0和RI0也要注意软清零。,UART、SPI、I2C串口通信,3.C8051F系列单片机UART的使用,C8051F系列UART1的使用 (1)UART1包含一个由16位定时器和可编程预分频器构 成的专用波特率发生器,能产生很

11、宽范围的波特率。 (2)UART1有六个相关的特殊功能寄存器。三个用于波特率发生器(SBCON1、SBRLH1和SBRLL1),两个用于数据格式、控制和状态功能(SCON1和SMOD1),一个用于发送和接收数据(SBUF1),UART、SPI、I2C串口通信,3.C8051F系列单片机UART的使用,(3)关于UART1我们应该知道的几点: UART1波特率是由一个专用的16位定时器产生的. 用三个寄存器(SBCON1、SBRLH1和SBRLL1)来配置波特率发生器。UART1波特率发生器控制寄存器(SBCON1,SFR定义19.4)使能或禁止波特率发生器,并为定时器选择预分频值。 对于可靠的

12、UART操作,建议不要将UART波特率配置为大于SYSCLK/16。,UART、SPI、I2C串口通信,3.C8051F系列单片机UART的使用,UART、SPI、I2C串口通信,3.C8051F系列单片机UART的使用,UART、SPI、I2C串口通信,二、 SPI通信,1.SPI通信简介及特点 2.SPI通信原理 3.C8051F系列单片机的SPI通信配置,UART、SPI、I2C串口通信,1.SPI通信简介及特点,SPI是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还

13、有数字信号处理器和数字信号解码器之间。 SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,,UART、SPI、I2C串口通信,1.SPI通信简介及特点,SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线: (1)MOSI SPI 总线主机输出/ 从机输入(SPI Bus Master Output/Slave Input)。 (2)MISO SPI 总线主机输入/ 从机输出(SPI Bus Master Input/Slave Output)。 (3)SCLK 时钟信号,由主设备

14、产生。 (4)CS 从设备使能信号,由主设备控制(Chip select),有的IC此pin脚叫SS。,UART、SPI、I2C串口通信,2.SPI通信原理,SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。 注:有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI。,UART、SPI、I2C串口通信,2.SPI通信原理,UART、SPI、I2C串口通信,2.SPI通信原理,UART、SPI、I2C串口通信,2.SPI通信原理,UART、SPI、I

15、2C串口通信,2.SPI通信原理,UART、SPI、I2C串口通信,2.SPI通信原理,UART、SPI、I2C串口通信,2.SPI通信原理,UART、SPI、I2C串口通信,2.SPI通信原理,UART、SPI、I2C串口通信,3.C8051F系列单片机的SPI应用,C8051F系列单片机的SPI0的访问和控制是通过系统控制器中的4个特殊功能寄存器实现的:控制寄存器SPI0CN、数据寄存器SPI0DAT、配置寄存器SPI0CFG和时钟频率寄存器SPI0CKR。,UART、SPI、I2C串口通信,3.C8051F系列单片机的SPI应用,UART、SPI、I2C串口通信,3.C8051F系列单片

16、机的SPI应用,UART、SPI、I2C串口通信,3.C8051F系列单片机的SPI应用,UART、SPI、I2C串口通信,三、 I2C通信,1.I2C通信简介及特点 2.I2C通信原理,UART、SPI、I2C串口通信,1.I2C通信介绍及特点,I2C(InterIntegrated Circuit)总线是PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。,UART、SPI、I2C串口通信,1.I2C通信介绍及特点,UART、SPI、I2C串口通信,1.I2C通信介绍及特点,UART、SPI、I2C串口通信,1.I2C通信介绍及特点,I2C总线上数据的传输速率在标准模式下可达100kbit/s在快速模式下可达400kbit/s在高速模式下可达3.4Mbit/s。,UART、SPI、I2C串口通信,2.I2C通信原理,UART、SPI、I2C串

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论