SCCB是简化的I2C协议,SIO-l是串行时钟输入线,SIO-O是串行双向数据线,分别相当于I2C协议的SCL和SDA。SCCB的总线时序与I2C基本相同,它的响应信号ACK被称为一个传输单元的第9位,分为Don’t care和NA。Don’t care位由从机产生;NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’t care响应信号。
由于I2C和SCCB的一些细微差别,所以采用GPIO模拟SCCB总线的方式。SCL所连接的引脚始终设为输出方式,而SDA所连接的引脚在数据传输过程中,通过设置IODIR的值,动态改变引脚的输入/输出方式。SCCB的写周期直接使用I2C总线协议的写周期时序;而SC-CB的读周期,则增加一个总线停止条件。
SCCB是和I2C相同的一个协议。 SIO_C和SIO_D分别为SCCB总线的时钟线和数据线。目前,SCCB总线通信协议只支持100Kb/s或400Kb/s的传输速度,并且支持两种地址形式:①从设备地址(ID Address,8bit),分为读地址和写地址,高7位用于选中芯片, 第0位是读/写控制位(R/W),决定是对该芯片进行读或写操作;②内部寄存器单元地址(Sub_ Address,8bit),用于决定对内部的哪个寄存器单元进行操作,通常还支持地址单元连续的多字节顺序读写操作。SCCB控制总线功能的实现完全是依靠SIO_C、SIO_D两条总线上电平的状态以及两者之间的相互配合实现的。SCCB总线传输的启动和停止条件如图
过程:采用简单的三相(Phase)写数据的方式,即在写寄存器的过程中先发送OV7649的ID地址(ID Address),然后发送写数据的目地寄存器地址(Sub_address),最后发送要写入的数据(Write Data),见图3。如果给连续的寄存器写数据,写完一个寄存器后,OV7649会自动把寄存器地址加1,程序可继续向下写,而不需要再次输入ID地址,从而三相写数据变为了两相写数据,由于本系统只需对有限个不连续寄存器进行配置,如果采用对全部寄存器都加以配置这一方法的话,会浪费很多时间和资源,所以我们只对需要更改数据的寄存器进行写数据。对于每一个需更改的寄存器,都采用三相写数据的方法。
关键字:SCCB总线 IIC
引用地址:
SCCB总线与IIC区别
推荐阅读最新更新时间:2024-05-03 00:00
IIC协议触发相关问题
IIC特定数据位应如何触发? ZDS2022示波器支持的IIC协议触发,包括起始位、结束位、地址值三种模式触发方式。若想将IIC协议信号的某一数据位作为触发条件,可配合【模板触碰】功能来实现。首先,使用IIC协议信号的起始位触发捕获波形,然后找到感兴趣的数据位,在该数据位的高电平或低电平处设置模板区域,即可实现特定数据位触发效果。 IIC特定地址无法触发,可能有哪些原因? 使用ZDS2022示波器测试IIC数据(被测IIC信号中包含0x33地址位,如图2.6所示)时,设置触发为IIC模式触发,设置地址位触发,地址位为0x33,写模式,ACK响应。但设置之后却无法对数据进行触发,如图2.7所示。 从图中来看,应该是触发设置不
[测试测量]
stm32的gpio模拟iic小记
在用stm32的模拟iic读取mpu6050时发现读whoami寄存器为0xd1,而正确的值应该为0x68,导致这个问题基本上有以下几个原因: 1、如果是杜邦线连接,线太长且线质量不好会导致这个问题; 2、上拉电阻不合适,上拉电阻不合适的话会导致iic两根线上的波形不好; 3、gpio的输出模式不对,推挽输出可以改为浮空输出。 4、波形不好 解决办法: 更换短而质量好的线; 选择手册推荐的上拉电阻; gpio改为浮空输出,作为i2c的gpio必须为这种模式; 调整时序,是波形符合要求 我遇到的是情况1,换了两根线好了。
[单片机]
基于IIC1.0的时钟芯片应用程序设计
摘要:在对串行实时时钟芯片X1203内部结构和工作特性作基本介绍的基础上,设计出用单片机的通用I/O口线虚拟I2C总线来实现与时钟芯片的串行接口电路以及利用虚拟I2C总线软件包VIIC设计时钟芯片1203的应用程序。
关键词:单片机 实时时钟 虚拟I2C总线
实时时钟是微机测控系统中的一个重要组成部分。美国Xicor公司推出的串行接口实时时钟芯片X1203提供备用电源输入引脚,使器件能用非可重新充电电池任务用电源。该芯片以其体积小、功耗低、使用简单、接口容易、与单片机连线少为主要特点,同时具有较高的精度,能很好满足微机测控系统的求。下面具体介绍该芯片的内部结构、工作特性、与51系列单片机接口设计实例以及如何利用虚拟I2C总线软件包
[应用]
STM32 IIC难点易错点
先来点题外话~网上说STM32F103的IIC有瑕疵!就当是有些短板吧,个人觉得,用起来肯定没问题,只是不好用。人家说ST公司考虑到专利问题,没按飞利浦的标准来。导致STM32的IIC使用起来非常繁杂。下面就讲讲用STM32 IO口模拟IIC的注意问题: IIC总线时序: 我就因为没理解好应答,吃了亏。讲一讲IIC的几个重要状态: 1、空闲状态:当IIC总线空闲时,SDA和SCL两条线均为高电平,由于连接到总线上的器件必须是漏级和集电极开路(至于威为什么请读者自己搜索),只要有一个器件任意时刻输出低电平,都将使总线上的信号变低,即各器件的SDA和SCL是线与的关系。由于各器件输出端是漏级开路,故必须通过上拉电阻接
[单片机]
STM32学习日志——IIC控制OLED
今天学习的是OLED显示实验,OLED,即有机发光二极管,自发光,不需要背光源,被认为是下一代的平面显示器新兴应用技术。 它有两个引脚,是用来控制通信方式:BS1和BS2。因为我学的是正点原子的开发板,他的OLED配件需要40元(有四种接口方式),而淘宝的IIC接口OLED的只需要9.9,于是我就买了便宜的,这就意味着要自己研究资料和敲代码。该OLED的控制芯片是SSD1306,IIC接口的只需要4根线:VCC,GND,SDA,SCL,非常节约资源。IIC通信上一次已经讲过,这次就不重复了。 这里先讲一下SSD1306写模式,1)首先是开始状态;2)发送从机地址:0x78|(W/R),写为0,读为1;3)等待回应;4)发送控制
[单片机]
安富利电子元件部特价促销Xilinx电路板和入门工具套件,在IIC-China上掀起热潮
针对先进电路板提供全新超低折扣,软件开发套件降价最高达73% 中国深圳,2007年3月5日 – 在今天于深圳举办的第十二届国际集成电路研讨会暨展览会(IIC-China 2007)上,安富利电子元件部(Avnet Electronics Marketing)携最新突破性产品及创新可靠的解决方案闪亮登场,并以一系列折扣和促销计划掀起热潮。 该促销计划针对赛灵思公司(Xilinx)顶级产品提供全新超低折扣,采用65纳米技术的新型高性能Xilinx Virtex-5 LX板和采用90纳米技术的Xilinx Spartan-3系列电路板等产品的价格降低了20%。本次促销将从今日起进行,至2007年4月15日结束。
[焦点新闻]
STM32的IIC端口配置开漏输出,可以随时读取端口电平状态
查了下数据手册,里面有这么一句话:The input data register (GPIOx_IDR) captures the data present on the I/O pin at every AHB1 clock cycle. 在另外一个手册里,有这么一句话:The written data on GPIOx_ODR can be read from GPIOx_IDR register that is updated every AHB clock cycle 就是说,配置成输出之后,照样可以读取端口的电平状态,所以,IIC完全可以只配置成OD(开漏输出)模式,然后直接读取总线电平状态以检测忙闲。 为什
[单片机]
STM32 IIC 详解 之 stm32 IIC 从机模式(中断方式收发数据)
1、IIC简介 第二节代码会用到该部分内容,对于IIC来说,从机是不能主动发送数据的,开始条件都是由主机生成。 1.1、主机发送数据流程 1) 主机在检测到总线为“空闲状态”(即 SDA、SCL 线均为高电平)时,发送一个启动信号“S”,开始一次通信的开始 2) 主机接着发送一个命令字节。该字节由 7 位的外围器件地址和 1 位读写控制位 R/W组成(此时 R/W=0) 3) 相对应的从机收到命令字节后向主机回馈应答信号 ACK(ACK=0) 4) 主机收到从机的应答信号后开始发送第一个字节的数据 5) 从机收到数据后返回一个应答信号 ACK 6) 主机收到应答信号后再发送下一个数据字节 7) 当主机发送最
[单片机]