欢迎来到天天文库
浏览记录
ID:57057640
大小:394.00 KB
页数:36页
时间:2020-07-30
《I2C(串行总线)设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、设计应用1I2C串行总线控制器设计一、总线概述二、串行总线协议和规范三、串行总线时序定义四、串行总线设计系统分析五、串行总线Master模块设计六、串行总线Slave模块设计七、总体仿真一、I2C总线概述1、什么是数据总线总线是不同数字系统(或模块)之间进行数据通信的接口,同一种总线具有相同的协议和规范。总线的种类很多。PCI(64bit)、IDE(64bit)、AMBAS(32bit)等并行串行USB、RS232、SPI、I2C等2、串行总线I2C总线是Philips公司开发的一种两线(SDA、SCL串行通讯模式,所
2、有器件都挂在两根总线上,其数量仅受总线电容400pF的限制.在标准模式下,数据传输速率可达100kb/s,完全可以一般低速数据交换的要求,如LED、LCD显示、键盘、鼠标等接口应用。数据线时钟线串行总线的应用图3、串行总线在芯片中的应用DS1302:实时时钟芯片32768KHz电源:+5v备份电源串行总线I2CslaveControllogic31*8SRAMPowercontrolRealtimeCLOCKvcc2vcc1GND串行总线DS1302框图32768KHzMCU管理LCD显示DS1302的应用框图二、串行
3、总线协议和规范考虑最简单的点对点的串行通信MASTERSLAVE1)总线端口定义该总线的端口定义如下::串行总线时钟,:串行总线数据,输入输出端口。:串行总线复位(使能)信号=0时,I/O为高阻态,数据传输终止。=1时,数据正常传输。由‘0’变‘1’时,sclk必须为低电平。2)总线数据规范定义R/WA0A1A2A3A4A51D0D1D2D3D4D5D6D70123456701234567一帧数据8bit地址(或命令)8bit数据R/WA0A1A2A3A4A51D0D1D2D3D4D5D6D70123456701234
4、567R/W=‘0’,写数据(Master的数据写入Slave)R/W=‘1’,读数据(Master从Slave读入数据)5bit地址常为’1’八位数据3)每bit数据定义该总线每个CLK送(或接收)一个数据(或地址)在CLK的上升沿,把数据(或地址)送到数据线上在CLK的下降沿,从数据线上读数据把数据送到I/O口上从I/O口读数据命令/地址数据三、串行总线时序定义1)单字节传输时序每次只传输一个字节(8bit)2)多字节(批)传输时序命令/地址数据1……...数据N每次传输N个字节3)数据开始和结束标志Sclk为低电
5、平时,由’0’变’1’.Sclk为低平时,由’1’变’0’.四、串行总线设计系统分析1、串行总线典型应用图MCUI2CMaster模块SRAM(64字节)I2CSlave模块WRITECLKA[5..0]D[7..0]I/OSCLK2、Master模块分析MCUI2CMaster模块WRITECLKA[5..0]D[7..0]I/OSCLK本次设计需完成的Master模块注意:为了简化设计,本次设计只实现写模式和单字节传输方式。1、Master端口信号说明:WRITE:MCU启动I2C模块控制信号,‘1’有效、‘0’无
6、效。CLK:Master模块时钟信号A[5..0]:写地址信号D[7..0]:写数据信号SCLK:总线时钟输出:总线使能输出I/O:总线数据输出五、串行总线Master模块设计输入信号输出信号检测是否有WRITE信号启动Master模块读端口上的地址信号和数据信号RST变为‘1’启动sclk,送地址信号{R/W,A[0:5],’1’}送数据信号D[0:7]RST变为‘0’WRITE=‘1’判断WRITE是否仍有效WRITE=‘1’WRITE=‘0’2、Master模块工作流程3、Master模块工作时序分析CLKWRI
7、TEA[5:0]D[7:0]00010100100011zR/WA0A1A2A3A4A51检测WRITE是否为‘1’idleCLKWRITEA[5:0]D[7:0]00010100100011D0D1D2D3D4D5D6D7Z波形图续一帧数据发送结束idleidleR/WA0A1A2A3A5A4‘1’D0D1D2D3D4D5D6D74、Master模块状态转移图PosedgeclkandWRITE=‘1’WRITE=‘0’idle5、每个状态对应的输出RST=‘0’,I/O=‘z’R/WRST=‘1’,I/O=‘0’A
8、0RST=‘1’,I/O=A0A1A2A3RST=‘1’,I/O=A1RST=‘1’,I/O=A2RST=‘1’,I/O=A3A4RST=‘1’,I/O=A4A5‘1’D0RST=‘1’,I/O=A5RST=‘1’,I/O=‘1’RST=‘1’,I/O=D0D1RST=‘1’,I/O=D1D2RST=‘1’,I/O=D2D3RST
此文档下载收益归作者所有