版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八讲 串行接口与通信主讲教师:董秀则(主楼610;5097 /单片机与嵌入式系统单片机与嵌入式系统本讲主要内容及重点本讲主要内容及重点n 串行通信接口概述串行通信接口概述 串并接口转换设计串并接口转换设计 数字IO的串行扩展n UART通用串行接口通用串行接口 异步异步UART数据传输时序数据传输时序 MEGA16配置配置UART的方法的方法n 串行SPI接口 工作模式和时序n TWI双线串行接口设计与应用9.1 串行通信接口概述串行通信接口概述对比两个概念对比两个概念:并行和串行并行和串行n并行传输:通过地址和数据总线,一次传输一并行传输:通过地址和数据总线,一次
2、传输一个字节或字的通信方式。个字节或字的通信方式。 优点:操作时序简单、速度快优点:操作时序简单、速度快 缺点:需要并行通道硬件结构复杂、抗干扰能力缺点:需要并行通道硬件结构复杂、抗干扰能力差差n串行传输:数据的代码序列在串行传输:数据的代码序列在一条信道一条信道上以位上以位为单位,为单位,按时间顺序按时间顺序按位按位传输的通信方式。传输的通信方式。 缺点:操作时序复杂、速度慢(相对)、软件复缺点:操作时序复杂、速度慢(相对)、软件复杂杂 优点:扩展方便、使用灵活、电路系统简单、占优点:扩展方便、使用灵活、电路系统简单、占用用IO资源少、抗干扰能力强资源少、抗干扰能力强9.1.1并行传输扩展并
3、行传输扩展n 典型的并行传输扩展典型的并行传输扩展 16位数据线位数据线 读读/写信号写信号9.1.1并行传输扩展并行传输扩展n 典型的并行传输扩展典型的并行传输扩展 8K SRAM 373锁存器锁存器 片选信号、锁存信号片选信号、锁存信号 地址总线地址总线13根、数据根、数据总线总线8根(复用)根(复用) 读读/写信号写信号9.1.2 数字数字IO的串行扩展的串行扩展n当当AVR本身本身IO口不足时如何处理?口不足时如何处理? 进行进行IO口的扩展使用口的扩展使用使用使用1个个IO口输出数据口输出数据使用串并转换扩展控制使用串并转换扩展控制n如何实现外部并行数据的串行读入?如何实现外部并行数
4、据的串行读入? 使用一个使用一个8位的端口位的端口 进行并串转换进行并串转换并行输出端口的串行扩展并行输出端口的串行扩展74HC164逻辑移位寄存器逻辑移位寄存器n 74HC164串行输入、并行输出n 真值表输入输入输出输出CLRCLKABQAQB.QHLxxxLL.LHxx不变化不变化HLxLQAn.QGnHxLLQAn.QGnHHHHQAn.QGnvoid hc164_send_byte(unsigned char disp_Num)unsigned int I;for(i=0;i8;i+)PORTB = PORTB &( (11); ;拉低拉低clk电平电平PORTB = POR
5、TB &(disp_num | 0 xFE) ;置置data值值PORTB = PORTB | (1= disp_num;利用利用595实现串并转换实现串并转换HC595逻辑功能表逻辑功能表输入输入输出输出ResetAclkLatchOELxxxx移位寄存器清零移位寄存器清零HLxx移位寄存器右移一位,移位寄存器右移一位,Qa=L,SQh=QhHHxx移位寄存器右移一位,移位寄存器右移一位,Qa=H,SQh=QhHxxx移位寄存器不变移位寄存器不变HxLx移位寄存器内容打入锁存器移位寄存器内容打入锁存器HxLx锁存器内容不变锁存器内容不变HxLLL锁存器由锁存器由QaQh输出输出HxL
6、LHQaQh输出高阻输出高阻上图中:上图中: OE固定为低电平,固定为低电平,Reset固定为高电平。固定为高电平。通过通过A和和clk的控制的控制将数据串行打入;将数据串行打入;通过通过Latch的边缘控制的边缘控制将数据锁存输出将数据锁存输出平常情况下:系统应当处于平常情况下:系统应当处于锁存器输出状态锁存器输出状态void hc595_send_byte(unsigned char disp_Num)unsigned int I;for(i=0;i8;i+)PORTA = PORTA &(disp_num | 0 xFE) ;置置data值值PORTA = PORTA | (11
7、);拉高拉高clk电平电平PORTA = PORTA &( (11;void hc595_send_2byte(unsigned int data)unsigned int Int_L, Int_H;Int_L = data;Int_H = data8;hc595_send_byte(Int_L );hc595_send_byte(Int_H );PORTA = PORTA | (12);拉高拉高Latch电平,将数据锁存电平,将数据锁存PORTA = PORTA &( (12); ;拉低拉低Latch电平电平串行扩展并行输入口串行扩展并行输入口HC165功能逻辑功能逻辑n 如
8、图所示:如图所示:CLk_Inh和和Ser固定设置位低电平固定设置位低电平n 利用利用SH的控制将并行数据打入;的控制将并行数据打入;CLk控制将串行数据输出到控制将串行数据输出到IO引脚。引脚。n 该图只适用于外部状态的自主读入该图只适用于外部状态的自主读入输入输入内部状态内部状态输出输出功能说明功能说明SH/LDnClk_InhclkSerAHQaQgQhLxxxahagh并行数据输入并行数据输入HLLxL QaQfQg移位移位HLHxH QaQfQg移位移位HHxxx保持不变保持不变时钟输入禁止时钟输入禁止HLLxx保持不变保持不变无时钟无时钟n问题问题: (P356)上图只是适用与外部
9、状态的上图只是适用与外部状态的读入,如果外部是一个智能读入,如果外部是一个智能IOIO设备(只有并设备(只有并行输出口)或者进行双机通信(对方机为输行输出口)或者进行双机通信(对方机为输出,本机接收),上图应当进行如何修改?出,本机接收),上图应当进行如何修改?如何进行相应的软件设计?任意提出如何进行相应的软件设计?任意提出1 1种与例种与例题不同的做法。题不同的做法。n 常用的串行通信常用的串行通信 串并转换接口(串行串并转换接口(串行IOIO扩展):扩展):利用利用8251、74164、74165、74595等器件进行的扩展等器件进行的扩展电平逻辑、同步通信、适用于板级扩展或者设备内部通电
10、平逻辑、同步通信、适用于板级扩展或者设备内部通信信 SPISPI(串行外设接口)(串行外设接口):同步通信方式,适用于板级扩展:同步通信方式,适用于板级扩展通信、电平逻辑通信、电平逻辑 I2CI2C:同步通信方式,适用于板级扩展通信、电平逻辑:同步通信方式,适用于板级扩展通信、电平逻辑 RS232RS232:电平负逻辑、异步通信、适用于系统间通信:电平负逻辑、异步通信、适用于系统间通信 RS422/485RS422/485:差分逻辑、异步通信、适用于系统间通信:差分逻辑、异步通信、适用于系统间通信 USBUSB:差分逻辑、同步通信、适用于系统间通信:差分逻辑、同步通信、适用于系统间通信 139
11、41394:差分逻辑、同步通信、适用于系统间通信:差分逻辑、同步通信、适用于系统间通信 LVDSLVDS,CANCAN 。9.1.3串行通信及其分类串行通信及其分类9.1.3串行通信及其分类串行通信及其分类n 串行通信的分类:同步通信和异步通信两类。串行通信的分类:同步通信和异步通信两类。 同步通信是按照识别同步字符来实现数据的发送和接收同步通信是按照识别同步字符来实现数据的发送和接收 异步通信是一种利用字符的再同步技术的通信方式。异步通信是一种利用字符的再同步技术的通信方式。n 同步通信:同步通信: 时钟信号时钟信号 同步字符同步字符 校验字校验字n 异步通信:异步通信: 相同的数据传输波特
12、率相同的数据传输波特率 相同的字符帧格式(起始位、校验位、字符位数等)相同的字符帧格式(起始位、校验位、字符位数等)9.2 异步通信异步通信n 关键在于关键在于 如何检测到数据在传输如何检测到数据在传输 如何正确检测到具体的数据位如何正确检测到具体的数据位 如何组织数据如何组织数据 如何确认数据如何确认数据?如何判断数据收如何判断数据收取结束取结束n要求:要求: 相同的传输速率相同的传输速率 相同的传输协议相同的传输协议怎么进行数据的获取和同步?每位数据的有效时每位数据的有效时间长度固定间长度固定异步通信异步通信n异步通信需要遵循以下准则:异步通信需要遵循以下准则: 相同的波特率相同的波特率
13、相同的通信数据协议相同的通信数据协议 异步数据通信采用面向字符的传输格式,异步数据通信采用面向字符的传输格式,即:以字符为数据帧即:以字符为数据帧异步传输的字符帧格式异步传输的字符帧格式 713713位组成;分为四个部分:位组成;分为四个部分:起始位、数据位起始位、数据位、校验位、校验位、停止位停止位空闲时保持逻辑空闲时保持逻辑1 1起始位为起始位为1 1位逻辑位逻辑“0 0”停止位:停止位:1212位,逻辑位,逻辑“1 1”数据位:数据位:5959位位校验位:校验位:0101位位波特率波特率n定义:每秒传输定义:每秒传输2进制数码的位数。单位进制数码的位数。单位bps 常用的波特率:常用的波
14、特率:2400、4800、9600、19200、38400. n波特率确定后:波特率确定后: 发方按照固定的速率、特定的数据格式、固定的发方按照固定的速率、特定的数据格式、固定的位宽度发送数据位宽度发送数据 收方按照固定的位宽度采样线上数据,发现起始收方按照固定的位宽度采样线上数据,发现起始位进行数据接收位进行数据接收每位数据在总线上的延时时间每位数据在总线上的延时时间=1/=1/波特率波特率AVR串行传输接口串行传输接口USARTn USART:通用同步和异步串行收发器:通用同步和异步串行收发器 全双工操作全双工操作( 独立的串行接收和发送寄存器独立的串行接收和发送寄存器) 异步或同步操作异
15、步或同步操作 高精度的波特率发生器高精度的波特率发生器 支持支持5, 6, 7, 8, 或或9 个数据位和个数据位和1 个或个或2 个停止位个停止位 硬件支持的奇偶校验操作硬件支持的奇偶校验操作 数据过速检测数据过速检测 帧错误检测帧错误检测 噪声滤波,包括错误的起始位检测,以及数字低通滤波器噪声滤波,包括错误的起始位检测,以及数字低通滤波器 三个独立的中断:发送结束中断三个独立的中断:发送结束中断, 发送数据寄存器空中断,发送数据寄存器空中断,以及接收结束中断以及接收结束中断 多处理器通讯模式多处理器通讯模式 倍速异步通讯模式倍速异步通讯模式USART硬件结构硬件结构 时钟发生器时钟发生器
16、数据发送器数据发送器 数据接收器数据接收器n 包括四大部分包括四大部分 时钟发生器时钟发生器 数据发送器数据发送器 数据接收器数据接收器 以寄存器组为以寄存器组为核心的控制器核心的控制器MEGA中的中的UART寄存器寄存器n UDR USART 发送数据缓冲寄存器和USART 接收数据缓冲寄存器共享相同的I/O 地址,称为USART 数据寄存器或UDRn UCSRA、UCSRB、UCSRC USART 控制和状态寄存器n UBRRH、UBRRL 波特率寄存器波特率寄存器USART涉及的寄存器涉及的寄存器n数据寄存器:数据寄存器:UDR($0d)n两个相同地址、但物理上分离的寄存器两个相同地址、
17、但物理上分离的寄存器读操作读操作接收寄存器接收寄存器写操作写操作发送寄存器发送寄存器n使用数值帧位数不足使用数值帧位数不足8 8位,发送时忽略高位,发送时忽略高位;接收时硬件清零高位位;接收时硬件清零高位n 三个控制寄存器:三个控制寄存器:UCSRA($0A) UCSRB($0B) UCSRC($20)控制与状态寄存器控制与状态寄存器UCSRA状态位状态位 接收完成:接收完成:接收到字符从移位寄存接收到字符从移位寄存器传入器传入UDR中置中置1禁止接收或者读取禁止接收或者读取UDR使该位清使该位清0该位置该位置1可触发接收中可触发接收中断断相应中断时该位清相应中断时该位清0,也可写,也可写1清
18、清0该位置该位置1可触发发送完毕中断可触发发送完毕中断移位寄存器发送完毕,且移位寄存器发送完毕,且UDR中中没有数据时置没有数据时置1 发送完成:发送完成:一旦读取一旦读取UDR这些位就清除这些位就清除PE:数据传输中发生奇偶校验错:数据传输中发生奇偶校验错DOR:存在没有来得及取走的接收数据存在没有来得及取走的接收数据FE:接收不到停止位:接收不到停止位出错状态位:帧错、过速错、校验错出错状态位:帧错、过速错、校验错倍速倍速数据寄存器空:数据寄存器空:UDR数据传送到移位数据传送到移位寄存器中时置寄存器中时置1可触发发送寄存器空中可触发发送寄存器空中断断转入中断相应或者给该转入中断相应或者给
19、该位写位写1清零该位清零该位多机多机通信通信控制与状态寄存器控制与状态寄存器UCSRBn UCSZ2与与UCSRC中的中的UCSZ1和和0联合确定字符数据帧的联合确定字符数据帧的有效位数有效位数中断允许位:中断允许位:接收中断允许、发送完成中断接收中断允许、发送完成中断允许、发送缓冲器空中断允许允许、发送缓冲器空中断允许该位一旦设置则对应引脚与数字该位一旦设置则对应引脚与数字IO接口功能断开,实现接口功能断开,实现Rx和和Tx功能功能发送和接收允许位:发送和接收允许位:接收和发送第接收和发送第9位数据位:位数据位:接收时:需要先读接收时:需要先读RxB8再读再读UDR发送时:需要先写发送时:需
20、要先写TxB8再写再写UDR控制与状态寄存器控制与状态寄存器UCSRC($20) 寄存器选择位:寄存器选择位:操作方法:操作方法:写操作该位为写操作该位为0:为波特率设置高字节:为波特率设置高字节UBRRH写操作该位为写操作该位为1:UCSRC读操作:第读操作:第1次读取为次读取为UBRRH,两个,两个系统周期中第系统周期中第2次读取为次读取为UCSRC1:为通过模式;:为通过模式;0:为异步模式:为异步模式工作模式选择:工作模式选择:1:奇校验:奇校验0:偶校验:偶校验校验方式选择:校验方式选择:停止位选择:停止位选择:1:2位位0:1位位时钟极性选择:时钟极性选择:只在同步时有效只在同步时
21、有效1:下降沿采样:下降沿采样0:上升沿采样:上升沿采样波特率寄存器波特率寄存器UBRRn 构成12位波特率设置n 值:04095USART波特率计算波特率计算n 通过设定通过设定UCSRA 寄存器的寄存器的U2X 可以使传输速率加倍。该位可以使传输速率加倍。该位只对异步工作模式有效。只对异步工作模式有效。n 当工作在同步模式时,设置当工作在同步模式时,设置U2X位为位为0”。n 波特率的设置误差:波特率的设置误差:(1) 100%MatchSetBaudRateErrorBaudRate例:例:n设置设置MEGA16 通信速率通信速率9600bps 8个数据位个数据位 奇校验奇校验 两个停止
22、位两个停止位例:例: 使用串口使用串口UCSRB的RXEN和和TXEN都为都为1 通信速率通信速率9600bps 8个数据位个数据位UCSRC的的UCSZ1:0为为11 奇校验奇校验UCSRC的UPM为11 两个停止位两个停止位UCSRC的USBS为1UCSRC和和UBRRH操作操作n 写操作写操作n 读读UCSRC操作操作读读UCSRCUCSRC操作,首先读取的值操作,首先读取的值是是UBRRHUBRRH,紧接着读取第二次,紧接着读取第二次才是才是UCSRCUCSRC的值的值AVR USART基本操作基本操作n 基本操作包括三大类操作基本操作包括三大类操作 初始化初始化 接收数据接收数据 发
23、送数据发送数据n 初始化初始化 设置波特率设置波特率 使能接收和发送器使能接收和发送器 设置帧格式设置帧格式n 接收和发送数据接收和发送数据 中断方式中断方式 查询方式查询方式初始化初始化波特率设置波特率设置使能接收和发送器使能接收和发送器设置帧格式设置帧格式默认波特率计算好,默认波特率计算好,保存在保存在R17:R16R17:R16中中C C语言程序可以通过语言程序可以通过ICCICC应用程序向导直应用程序向导直接自动生成接自动生成接收数据:接收数据:以轮询方式接收以5 8 个数据位数据帧等待接收数据完成等待接收数据完成读取接收数据读取接收数据以轮询方式接收以轮询方式接收9 9 个数据位的数
24、据帧个数据位的数据帧等待接收数据完成等待接收数据完成首先读取状态和第首先读取状态和第9位数据位数据然后读取数据寄存器然后读取数据寄存器判断是否有错误判断是否有错误这是这是P380P380页书中程序,页书中程序,但这里有一个错误!但这里有一个错误!设定设定R17:R16R17:R16为接收数据为接收数据的输出接口的输出接口n 以轮询方式接收以轮询方式接收9 个数据位的数据帧个数据位的数据帧发送数据发送数据:以轮询方式发送5 8 个数据位的数据帧等待发送缓冲器空等待发送缓冲器空发送数据送缓冲器发送数据送缓冲器设设R16R16为需要发送的数据为需要发送的数据以轮询方式发送9 个数据位的数据帧等待接收
25、数据完成等待接收数据完成清零清零TX8判断第判断第9位数据,为位数据,为1置位置位Tx8低低8位数据写入发送数据寄存器位数据写入发送数据寄存器假定数据放在假定数据放在R17:R16中中9.3 UART通用串行接口设计与应用通用串行接口设计与应用自发自收测试自发自收测试n硬件接口设计:硬件接口设计: Rx与与Tx直接相连直接相连n软件设计:软件设计: 中断接收,并显示接收数据中断接收,并显示接收数据 查询方式发送(在主程序中)查询方式发送(在主程序中)n为提高抗干扰能力,使用异步串口时设置:为提高抗干扰能力,使用异步串口时设置: RxDRxD输入且带上拉电阻输入且带上拉电阻 TxDTxD输出状态
26、输出状态n程序参考程序参考P384页例题页例题n void port_init(void) PORTA = 0 xFF; DDRA = 0 x00; PORTB = 0 xFF; DDRB = 0 xFF; PORTC = 0 x00; DDRC = 0 x00; PORTD = 0 x03; DDRD = 0 x02;n void uart0_init(void) UCSRB = 0 x00; /disable while setting baud rate UCSRA = 0 x00; UCSRC = BIT(URSEL) | 0 x06; UBRRL = 0 x02; /set baud
27、 rate lo UBRRH = 0 x00; /set baud rate hi UCSRB = 0 xF8;n #pragma interrupt_handler uart0_rx_isr:12void uart0_rx_isr(void) /uart has received a character in UDR unsigned char state=0,data; state = UCSRA; data = UDR Rx_head = (Rx_head+) % 16; if ( Rx_head != Rx_tail) RxbuffRx_head = dataelse RxbuffOF
28、L = 1; Rx_head = (Rx_head+15) % 16; n #pragma interrupt_handler uart0_udre_isr:13void uart0_udre_isr(void) /character transferred to shift register so UDR is now empty Tx_tail = (Tx_tail+15) % 16; if ( Tx_tail != Tx_head) UDR = TxbuffTx_tail else Txbuffemp = 1; Tx_tail = (Tx_tail+1) % 16; n unsigned
29、 char Rxbuff16;unsigned char Txbuff16;unsigned char Rx_head=0,Rx_tail=0;unsigned char Tx_head=0,Tx_tail=0;unsigned char Txbuffemp=0;unsigned char RxbuffOFL=0;nvoid main(void) unsigned char i; init_devices(); while (1) i = (Tx_head+)%16 ; if (i != Tx_tail) Tx_head+; TxbuffTx_head = TxData; if (Rx_tai
30、l != Rx_head) /数据处理数据处理 Rx_tail = (Rx_tail-)%16 异步串行通信接口异步串行通信接口n为了更好的提高通信的可靠性、传输的距离为了更好的提高通信的可靠性、传输的距离各个组织和公司提出了不同的异步通信接口各个组织和公司提出了不同的异步通信接口nRS232nRS485/422RS232异步通信接口系统级扩展异步通信接口系统级扩展n Rs232总线标准总线标准 EIA制定的异步通制定的异步通信物理接口标准信物理接口标准 9针和针和25针接口针接口 逻辑逻辑0:+3+25V,通常采用,通常采用-12V; 逻辑逻辑1:-3-25V,通常采用通常采用+12V引脚引
31、脚名称名称方向方向信号功能信号功能1DCD本本对对载波检测信号载波检测信号2RXD本本对对接收数据接收数据3TXD本本对对发送数据发送数据4DTR本本对对本机准备好本机准备好5GND6DSR本本对对对方准备就绪对方准备就绪7RTS本本对对本机请求发送数据本机请求发送数据8CTS本本对对对机切换到接收状态对机切换到接收状态,清除发送,清除发送9RI本本对对振铃信号,线路正常振铃信号,线路正常Rs232Rs232总线总线9 9芯接口定义芯接口定义电平转换使用RS232芯片AVR系统系统RS232接口电路原理图接口电路原理图几个注意的问题几个注意的问题n不同的接头不同的接头 插针接头(公头)插针接头
32、(公头) 插座接头(母头)插座接头(母头)n线序的交叉:线序的交叉:板内交叉板内交叉连接线交叉连接线交叉利用利用AVR单片机串口与单片机串口与PC机通信机通信n 进行三个阶段的设计和测试进行三个阶段的设计和测试 第一步:第一步:UART自测试自测试连接连接Rx和和Tx 第二步:第二步:RS232通信接口自测试通信接口自测试连接连接RS232通信口通信口2和和3引脚引脚 第三步:与计算机通信测试第三步:与计算机通信测试连接计算机连接计算机RS232接口接口n 通信过程采用通信过程采用3线制通信方式线制通信方式n 软件采用相同程序软件采用相同程序n 具体的程序编写和调试过程参考具体的程序编写和调试
33、过程参考P391394通信协议通信协议n 通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。通信协议通信协议n 命令包n 返回包帧头帧头 命令字命令字数据长度数据长度数据域数据域校验校验帧头帧头 返回码返回码数据长度数据长度数据域数据域校验校验通信协议通信协议定义定义长度长度值值帧头10 x55命令字10 x00:数据域中所有数据取反返回0 x01:数据域中所有数字加一返回数据长度10-255数据域校验1
34、奇校验作业作业:n第第13章:章:1、3、8、911.6 TWI双线串行接口双线串行接口n 特点特点 简单,但是强大而灵活的通讯接口,只需要两根线简单,但是强大而灵活的通讯接口,只需要两根线 支持主机和从机操作支持主机和从机操作 器件可以工作于发送器模式或接收器模式器件可以工作于发送器模式或接收器模式 7 位地址空间允许有位地址空间允许有128 个从机个从机 支持多主机仲裁支持多主机仲裁 高达高达400 kHz 的数据传输率的数据传输率 可以抑制总线尖峰的噪声抑制器可以抑制总线尖峰的噪声抑制器 完全可编程的从机地址完全可编程的从机地址 睡眠时地址匹配可以唤醒睡眠时地址匹配可以唤醒AVRn 这两
35、根线一是时钟这两根线一是时钟SCL,一是数据,一是数据SDA。n 外部硬件只需要两个上拉电阻外部硬件只需要两个上拉电阻n 总线上的设备都有自己的地址总线上的设备都有自己的地址n传输数据传输数据 时钟线为高时,数据线电压必须保持稳定时钟线为高时,数据线电压必须保持稳定 数据的更新在时钟的低电平时机数据的更新在时钟的低电平时机n SCL高电平时,高电平时,SDA线上电压变化位起始和结束标志线上电压变化位起始和结束标志 上升上升结束标志结束标志 下降下降起始标志起始标志n START 与与STOP 状态之间发出一个新的状态之间发出一个新的START 状态状态,称为,称为REPEATED START
36、状态,适用于主机在不放状态,适用于主机在不放弃总线控制的情况下启动新的传送弃总线控制的情况下启动新的传送地址数据包格地址数据包格n 所有在所有在TWI 总线上传送的地址包均为总线上传送的地址包均为 9 位位 7 位地址位:用户定义,其中预留位地址位:用户定义,其中预留0000000作为广播包作为广播包 1 位位R/W 控制位(控制位(1读;读;0写写) 1 位应答位:从机应在位应答位:从机应在ACK 周期通过拉低周期通过拉低SDA 作出应答作出应答广播包时需要所有从机拉低广播包时需要所有从机拉低SDA作为作为ACKn 注意:注意: 广播功能:用于主机需要发送相同的信息给多个从机时广播功能:用于
37、主机需要发送相同的信息给多个从机时 广播帧广播帧“读读”指令没有意义,引起总线冲突指令没有意义,引起总线冲突从机地址:标从机地址:标明通信对象明通信对象数据帧格式数据帧格式n 数据包为数据包为9 位:位:8 位数据位及位数据位及1 位应答位位应答位 数据的数据的 MSB MSB 首先发送。首先发送。 主机产生时钟及主机产生时钟及 START START 与与STOP STOP 状态状态 接收器响应接收,在第接收器响应接收,在第9 9 个个SCL SCL 周期拉低周期拉低SDA SDA ,发出,发出ACKACK。 收到最后的字节后,发出收到最后的字节后,发出NACK NACK (接收器使(接收器
38、使SDA SDA 为高)来告知为高)来告知发送器,通知接收结束。发送器,通知接收结束。一个完整的传输过程一个完整的传输过程n 一个传输过程:一个传输过程: 1 1个个START START 状态状态 1 1个个SLA+R/WSLA+R/W 至少一个数据包至少一个数据包 1 1个个STOP STOP 状态组成状态组成 只有只有STARTSTART与与STOP STOP 状态的空信息是非法的状态的空信息是非法的n问题:在问题:在TWITWI(I2CI2C)传输中没有流量控制,当)传输中没有流量控制,当主机的主机的SCLSCL频率高于从机所能接受的通信速率频率高于从机所能接受的通信速率如何处理?能否
39、进行通信?如何处理?能否进行通信? 能否通过延长能否通过延长SCLSCL的低电平时间来降低通信速度?的低电平时间来降低通信速度?延长低电平时间是否会影响高电平时间?延长低电平时间是否会影响高电平时间? SCL 高电平时间是由主机决定的,从机延长高电平时间是由主机决定的,从机延长SCL 低电平的时间不会影响低电平的时间不会影响SCL 高电平的时间,因此高电平的时间,因此不会影响数据的采集不会影响数据的采集 当主机设定的时钟速度相对于从机太快,利用当主机设定的时钟速度相对于从机太快,利用SCL SCL 的线与功能来实现主机与从机的握手改变的线与功能来实现主机与从机的握手改变SCL SCL 的占的占
40、空比可降低空比可降低 TWI TWI 数据传送速度,可以完成通信。数据传送速度,可以完成通信。多主机总线仲裁多主机总线仲裁n TWI 协议允许总线上由多个主机,存在两个问题:协议允许总线上由多个主机,存在两个问题: 同时只能有同时只能有1个主机启动通信过程,多主机必须进行仲裁个主机启动通信过程,多主机必须进行仲裁 不同的主机不同的主机SCK不同,必须进行同步不同,必须进行同步n 多主机多主机SCL同步同步通过线与的方通过线与的方式,使得式,使得SCL低电平最长低电平最长多主机仲裁多主机仲裁n 通过通过SDA线与的方式线与的方式+主机内部进行检测实现主机内部进行检测实现通过通过SDA上发送的数据进行上发送的数据进行总线总裁总线总裁遇到发送为高电平、检测为遇到发送为高电平、检测为低电平的时候主机自动放弃低电平的时候主机自动放弃总线总线地址决定了总线的优先占用地址决定了总线的优先占用TWI模块原理结构图模块原理结构图物理引脚模块物理引脚模块总线接总线接口单元口单元速率生速率生成单元成单元地址匹地址匹配单元配单元控制单元控制单元n 比特率发生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 微生物实验室管理规章制度
- 2023年临沧市永德县医共体总医院招聘笔试真题
- 2023年佛山市南海区教育系统毕业生招聘教师笔试真题
- 人员绩效分配方案
- 深基坑应急预案
- 第三章 溶液的基本性质课件
- 八年级数学家长会课件
- 市场调查方案
- 第二章 促进身心健康第一节 合理选择饮食课件
- 浙教版2021-2022学年度七年级数学上册模拟测试卷 (809)【含简略答案】
- 高中语文必修教材解读
- 甲骨文软件操作手册4操作手册
- 宁波大学机械原理考研历年真题(共23页)
- 新小学数学三年级上册《一个因数中间有零的乘法》ppt课件
- 乒乓球比赛分组对阵表(8人、16人、32人)
- 新版报关单格式
- 《电子商务基础》试题全库
- 中英文版战略合作协议CooperationAgreement
- 作文考试专用稿纸_(A3完美打印版)
- 重点用能单位能源计量审查规范
- 小班粘贴画小鱼教案
评论
0/150
提交评论