4.IIC总线
一.IIC总线说明:
IIC总线时序只有高低电平的持续时间一般是大于多少us/ms。
iic时序:
开始:当SCL为高电平时,SDA由高电平状态切换到低电平状态时,会产生一个起始信号。
停止:当SCL为高电平时,SDA由低电平转换为高电平,产生一个终止信号。
数据位传输:当SCL为高电平时SDA的状态不能发生改变,在此过程中数据位被传输。
当SCL为低电平时SDA的状态可以发生改变,当SCL为高电平状态时被传输。
应答信号的产生: 主机向从机写数据时,由从机产生应答信号,主机接收
主机读数据时,由主机产生应答信号,从机接收。 当第九个时钟信号到来时,SDA为高电平规定为不产生应答信号,低电平为产生应答信号。
IIC设备读写序列:
写: START | SLAVEADDR W | ACK| MEMOMRYADDR| ACK| DATA LSB| ACK| DATA MSB| ACK| STOP|
读: START | SLAVEADDR W | ACK| MEMORYADDR | ACK| REPEATED START| MEMORYADDR R|ACK|DATA LSB|ACK|DATA MSB|NACK|STOP|
二.调试说明:
确定总线时序没有问题时,应从多方面分析问题。
对于IIC总线,当读取到的信号全为0XFF时,说明的问题是 :
时序问题 ,延迟不准确导致
硬件问题 ,接线是否正确,从机器件信息是否正确,线是否接反。
上拉电阻 ,因为SDA /SCL只能输出0,所以需要上拉电阻才能产生高电平。1.5K /2.2K /4.7K
******************
**此次调试的问题:**
******************
确定软件时序没问题后,没能从硬件角度去查找问题。当GPIO引脚复用时,要开启RCC_APB2Periph_AFIO时钟。
各种信号都有电平状态,前期可以根据电平值初步估计硬件是否有问题。
三、多主机设备 multi host
4.IIC总线的更多相关文章
- IIC总线
一. 概述 1. IIC总线是PHILIPS公司推出的一种串口总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串口总线. 2. IIC总线只有两根双向信号线.一根是数据线SDA,一 ...
- IIC总线解析
IIC简介: IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控 ...
- 十天学会单片机Day5 IIC总线AT2402芯片(EEPROM)应用
1.采用串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时,系统的更改和扩充极为容易. 常用的串行扩展总线有: IIC (Inter IC BUS)总线.单总线(1-WIRE ...
- 用I/O口模拟IIC总线协议遇到的一些问题
最近做的一个项目,是基于IIC总线通信的传感器系统.由于另外一个传感器使用的是类IIC协议,而不是标准IIC,所以MCU不能与其通信,最后没有办法,只有通过I/O口模拟的方式实现IIC的总线通信.具体 ...
- IIC总线协议
前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变.时钟线 ...
- IIC总线协议---以存储芯片at24c64为例
IIC总线协议 前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允 ...
- 【接口时序】6、IIC总线的原理与Verilog实现
一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE .ChipScope 硬件平台: 1. FPG ...
- 对 IIC 总线的理解、调用函数以及常见面试问题
一.IIC 总线概述: IIC 即Inter-Integrated Circuit(集成电路总线) I2C总线是PHLIPS公司推出的一种串行总线, I2C总线只有两根双向信号线.一根是数据线SDA, ...
- IIC总线初识
IIC总线初识 IIC总线的拓扑结构 八位数据分布: 写操作: 读操作: IIC总线的工作频率: IIC总线的时序(重要): 起始位的时序: 用verilog代码描述这一过程: 此处是用来描述SDA信 ...
随机推荐
- windows10安装MongoDB服务启动不了 😀✅已解决!
WIndows的服务中,有一个服务需要以NT AUTHORITY\NetworkService用户启动,但怎么也启动不起来,使用本地系统帐户启动没有任何问题,但是换成NetworkService就启 ...
- Django框架(七)
15 Django组件-中间件 中间件 中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的 ...
- linux学习--目录切换命令 cd
- 破解 JS(原型)继承
总体分为四大类:利用空对象作为中介继承.Object.create 继承.setPrototypeOf 继承.拷贝继承 function Animal(name, age) { this.name = ...
- LoadLibrary和GetModuleHandle
0x01 区别 LoadLibrary是把一个模块映射进调用进程的地址空间,需要时增加引用计数,每调用一次,引用计数增加一,需要通过相同步骤地调用FreeLibrary来减少引用次数,当为0时,系统 ...
- python自学第13天 hashlib,re模块
import hashlib sha=hashlib.sha3_512()#定义加密成什么格式 sha.update('how to use sha1 in 年后 '.encode('utf-8')) ...
- git教程: 创建版本库
转载:创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻 ...
- UITabView使用详解
在开发iphone的应用时基本上都要用到UITableView,这里讲解一下UITableView的使用方法及代理的调用情况 - (void)viewDidLoad { [super viewDidL ...
- 20155208徐子涵 《网络对抗》Exp1 PC平台逆向破解
20155208徐子涵 <网络对抗>Exp1 PC平台逆向破解 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数 ...
- Centos7 安装Nginx 防火墙开放80端口给外网访问
Centos7的防火墙改成了firewall,不再叫iptables,开放端口的方法如下: firewall-cmd --zone=public --add-port=80/tcp --permane ...