文档详情

STM32 IIC 学习笔记总结.pdf

发布:2017-05-21约7.52千字共7页下载文档
文本预览下载声明
ŗŘő32 系列 ōōŇ 学习笔记经验总结 一、 各寄存器内容与组织:控制、地址匹配、数据、状态、时钟控制、上升沿控制 二、 ōōŇ 协议及ŗŘő32 的QWV 实现 ʼnŚʼnŒŘ 后的第一个符号表示事件发生后对应的标志位的状态,着重看7 位地址的通信; 三、 基础知识(主要讨论起主机模式,从机模式的配置与使用可类比) 1. 默认工作在从机模式,产生起始信号后自动转为主机模式,产生终止信号或仲裁失权后自动转为从机模式;起止信号由主 机模式下的软件实现,地址也只能由主机发送,响应信号由接收器发出(软件实现),要注意区别主机、从机、发送机、 接收机; 2. 数据通信的直接通道,ŗňŅ Őŗ ŖWVňŖőQSV](数据寄存器与存储器直接的数据交换发生在ňőŅ 模式, 另外若从机在ŗňŅ 接收到的是地址则直接会与地址寄存器比较,而不会送入数据寄存器) 3. 主机产生时钟信号,一串数据总是以起始于 WV 信号,终止于WST 信号,一旦ŗňŅ 线上产生WV 位信号,主机模 式便被选中;9 个寄存器的功能分配简单明了:ō2ŇţŇŖ2 主要配置时钟与模块中断及 ňőŅ 使能位,ō2ŇţŇŖ1 则主 要产生ŗV 等控制信号,ō2ŇţŗŖ2 主要是őŗŐ、ŘŖŅ 和ņřŗŝ 标志位,ō2ŇţŗŖ1 则是其他事件的标志位,接下 来就是存储数据的ō2ŇţňŖ,时钟设置的ō2ŇţŇŇ4Ŗ 和ō2ŇţŘŖōŗʼn,地址匹配的ō2ŇţœŅŖ1 和ō2ŇţœŅŖ2; 4. 主机模式必要操作序列:外围时钟输入最少2ő(标准模式)、4ő(快速模式) 1) 配置ō2ŇţŇŖ2 寄存器以产生正确时序; 2) 配置时钟控制寄存器ō2ŇţŇŇŖ; 3) 配置上升时间寄存器ō2ŇţŘŖōŗʼn; 4) 配置ō2ŇţŇŖ1 寄存器以使能接口电路; 5) 配置ō2ŇţŇŖ1 寄存器,置位ŗŘŅŖŘ 位以产生起始信号; 5. 时序具体解析 1) ŗV 信号,置位ō2ŇţŇŖ1 的ŗŘŅŖŘ 位以产生起始信号(在总线空闲时,即ō2ŇţŗŖ2 的ņřŗŝ 清零),使转 为主机模式(置位ō2ŇţŗŖ2 的őŗŐ);在主机模式下,置位 ŗŘŅŖŘ 位会在当前字节传输完成后产生一个重启 ŖŗV 信号;一旦ŗV 信号送出,ō2ŇţŗŖ1 的ŗņ 位会由硬件置位并产生中断(前提是ōŘʼnŚŊʼnŒ 位被置位, 貌似文档有误,我认为应是ōŇ2ţŗŖ2 的ōŘʼnŚŘʼnŒ 位),然后需要读ŗŖ1 和写ňŖ 以清零ŗņ(这也符合操作时 序); 2) 从机地址发送,7 位模式下,地址字节一旦送出,ō2ŇţŗŖ1 的ŅňňŖ 位会由硬件置位并产生中断(前提是ōŘʼnŚŊʼnŒ 置位),然后主机等待读取ŗŖ1 和ŗŖ2 以清零ŅňňŖ(稍微符合,读ŗŖ2 貌似饶了一步);7 位模式下,地址字 节最低位若是0 则说明主机要进入发送模式,若是1 则是接收模式;ō2ŇţŗŖ2 的ŘŖŅ 表示主机在发送模式还是 接收模式; 3) 主机发送模式,地址送出且ŅňňŖ 清零后,主机会将ňŖ中数据发送到ŗňŅ P(当然经过ŗ ŖWV), 主机会等到第一个数据写入ňŖ(ʼnŚ8ţ1 阶段),若收到响应脉冲,ŗŖ1 中的Ř\ʼn 位会置位(前提是ōŘʼnŚŊʼnŒ 和 ōŘņřŊʼnŒ 已置位);在最后一个字节传输结束前的传输过程中,若Ř\ʼn 置位且某数据字节没有写入ňŖ,ņŘŊ 会置 位直到(硬件清零)该数据字节被写入到ňŖ,这个过程中ŗŇŐ 会一直被拉低; 4) 主机发送模式关闭通信,最后一个字节被写入ňŖ,ŇŖ1 的ŗŘœŔ 位要由软件置位而产生停止信号,接口自动转为 从机模式(őŗŐ 清零);置位ŗST 位即对应于ʼnŚ8ţ2 事件; 5) 主机接收模式,地址送出且ŅňňŖ 清零后,主机会进入接收模式,接口会从ŗňŅ P 中读数据到ňŖ中(同样经 过ŗ ŖWV);每个字节接收后的操作序列为,产生应答信号(前提是ŇŖ1 的ŅŇŏ 位置位),Ŗ\Œʼn 位置 位并产生中断(前提是ŗŖ2 的ōŘʼnŚŊʼnŒ 和ōŘņřŊʼnŒ 置位);在最后一个字节传输结束前的传输过程中,若Ŗ\Œʼn 置位且某数据未从ňŖ 中读取,ņŘŊ 会置位直到(硬件清零)该数据字节被读出,这个过程ŗŇŐ 会一直被拉低
显示全部
相似文档