一种支持批量读写从机寄存器的主机控制方法技术

技术编号:11022856 阅读:174 留言:0更新日期:2015-02-11 11:59
本发明专利技术公开了一种支持批量读写从机寄存器的主机控制方法,通过FIFO实现,FIFO包括发送部和接收部,FIFO具有第一宽度;在写入控制方法中,外部CPU向FIFO写入具有第一长度的数据,第一长度的数据通过一解码器解析成多个具有第一宽度的字节,再按先后顺序依次写入FIFO的发送部,最后发送给从机;在读取控制方法中,FIFO通过发送部将从外部CPU接收到的读取地址写入从机后,根据读取地址读取从从机返回的数据至FIFO的接收部,最后通过编码器生成具有第二长度的数据并传送给外部CPU。本发明专利技术支持单次写入从机的多个寄存器地址,从而减少CPU查询主机空闲状态的次数,CPU的使用效率提高至少一倍。

【技术实现步骤摘要】
一种支持批量读写从机寄存器的主机控制方法
本专利技术涉及主从机间的通讯方法,尤其涉及一种支持批量读写从机寄存器的主机控制方法。
技术介绍
SCCB(SerialCameraControlBus)是和I2C相同的一个协议。SIO_C和SIO_D分别为SCCB总线的时钟线和数据线。目前,SCCB总线通信协议支持两种地址形式:①从设备地址(IDAddress,8bit),分为读地址和写地址,高7位用于选中芯片,第0位是读/写控制位(R/W),决定是对该芯片进行读或写操作;②内部寄存器单元地址(Sub_Address,8bit),用于决定对内部的哪个寄存器单元进行操作,通常还支持地址单元连续的多字节顺序读写操作。SCCB控制总线功能的实现完全是依靠SIO_C、SIO_D两条总线上电平的状态以及两者之间的相互配合实现的。以往的SCCB主机工作时,每次只能写入一个从机的寄存器地址,只有CPU检测到SCCB主机完成读写操作并处于空闲状态后,再写入下一个寄存器地址,该种方式会大量占用CPU的运行时间。第三方的产品利用内置FIFO,但是每次发起传输时,都需通过CPU写内部寄存器的特定bit,进行读写相间的操作时,也需要写内部寄存器的特定bit以改变控制器的模式。图1a和图1b分别示出了现有技术中CPU写内部寄存器以及读内部寄存器的流程示意框图。
技术实现思路
针对上述存在的问题,本专利技术的目的是提供一种支持批量读写从机寄存器的主机控制方法,支持单次写入从机的多个寄存器地址,从而减少CPU查询SCCB主机空闲状态的次数,降低CPU占用率。本专利技术的目的是通过下述技术方案实现的:一种支持批量读写从机寄存器的主机控制方法,其中,通过FIFO实现,所述FIFO包括发送部和接收部,所述发送部用于缓存需要发送的字节,所述接收部用于缓存从从机读取回的字节,所述FIFO具有第一宽度;所述控制方法包括写入控制方法和读取控制方法:在所述写入控制方法中,外部CPU通过数据总线向所述FIFO写入具有第一长度的数据,所述第一长度的数据通过一解码器解析成多个具有所述第一宽度的字节,再按先后顺序依次写入所述FIFO的发送部,最后发送给从机;在所述读取控制方法中,所述FIFO通过所述发送部将从外部CPU接收到的一读取地址写入从机后,根据所述读取地址读取从从机返回的数据至所述FIFO的接收部,最后通过一编码器生成具有第二长度的数据并传送给外部CPU;所述第一长度和所述第二长度相等。上述支持批量读写从机寄存器的主机控制方法,其中,在所述写入控制方法中,多个具有所述第一宽度的字节包括写入启动位字节,ID及写操作符字节,写入地址字节和至少一个写入数据字节和写入停止位字节,所述写入启动位字节、所述ID及写操作符字节、所述写入地址字节、至少一个所述写入数据字节和所述写入停止位字节按先后顺序依次写入所述FIFO的发送部。上述支持批量读写从机寄存器的主机控制方法,其中,在所述读取控制方法中,将一读取启动位字节、一ID及读操作符字节、一读取地址字节和一读取停止位字节按先后顺序写入所述FIFO的发送部;或者,将一读取启动位字节、一长度字节、一ID及读操作符字节、一读取地址字节和一读取停止位字节按先后顺序写入所述FIFO的发送部。上述支持批量读写从机寄存器的主机控制方法,其中,将所述写入启动位字节,所述ID及写操作符字节,所述写入地址字节、一个所述写入数据字节和所述写入停止位字节按顺序写入所述FIFO的发送部时,状态表示为单次写入;将所述写入启动位字节、所述ID及写操作符字节、所述写入地址字节、多个所述写入数据字节和所述写入停止位字节按顺序写入所述FIFO的发送部时,状态表示为批量写入;将一读取启动位字节、一ID及读操作符字节、一读取地址字节和一读取停止位字节按先后顺序写入所述FIFO的发送部时,状态表示为单次读取;将一读取启动位字节、一长度字节、一ID及读操作符字节、一读取地址字节和一读取停止位字节按先后顺序写入所述FIFO的发送部时,状态表示为批量读取;所述控制方法支持所述单次写入、所述批量写入、所述单次读取和所述批量读取四种读写操作的混合操作。上述支持批量读写从机寄存器的主机控制方法,其中,所述混合操作为所述单次写入与所述批量写入,或者为所述单次写入与所述单次读取,或者为所述单次读取与所述批量写入,或者为所述单次读取与所述批量读取。上述支持批量读写从机寄存器的主机控制方法,其中,所述第一宽度为10bit,所述第一长度和所述第二长度为32bit。上述支持批量读写从机寄存器的主机控制方法,其中,所述从机为同一个从机或者不同从机的组合。上述支持批量读写从机寄存器的主机控制方法,其中,所述主机为SCCB主机或者I2C主机。与已有技术相比,本专利技术的有益效果在于:本专利技术支持单次写入从机的多个寄存器地址,从而减少CPU查询主机空闲状态的次数,CPU的使用效率提高至少一倍。附图说明图1a为现有技术中CPU写内部寄存器的流程示意框图;图1b为现有技术中CPU读内部寄存器的流程示意框图;图2为本专利技术支持批量读写从机寄存器的主机控制方法的FIFO、从机与外部CPU之间的逻辑关系示意图;图3a为本专利技术支持批量读写从机寄存器的主机控制方法的单次写入控制方法的流程示意框图;图3b为本专利技术支持批量读写从机寄存器的主机控制方法的单次读取控制方法的流程示意框图;图4为本专利技术支持批量读写从机寄存器的主机控制方法的同一从机的单次写入与批量写入的混合操作模式中的数据字节示意图;图5为本专利技术支持批量读写从机寄存器的主机控制方法的同一从机的单次写入与单次读取的混合操作模式中的数据字节示意图;图6为本专利技术支持批量读写从机寄存器的主机控制方法的同一从机的单次读取与单次写入的混合操作模式中的数据字节示意图;图7为本专利技术支持批量读写从机寄存器的主机控制方法的同一从机的单次读取与单次写入的混合操作模式中的数据字节示意图;图8为本专利技术支持批量读写从机寄存器的主机控制方法的不同从机的单次写入与单次写入的混合操作模式中的数据字节示意图;图9为本专利技术支持批量读写从机寄存器的主机控制方法的不同从机的单次读取与单次读取的混合操作模式中的数据字节示意图。具体实施方式下面结合原理图和具体操作实施例对本专利技术作进一步说明。参照图2,本专利技术一种支持批量读写从机寄存器的主机控制方法,主要应用于SCCB主机或者I2C主机上,通过FIFO实现,FIFO包括发送部和接收部,发送部用于缓存需要发送的字节,接收部用于缓存从从机读取回的字节,FIFO具有第一宽度。本实施例中,控制方法包括写入控制方法和读取控制方法。在写入控制方法中,外部CPU通过数据总线向FIFO写入具有第一长度的数据,第一长度的数据通过一解码器解析成多个具有第一宽度的字节,再按先后顺序依次写入FIFO的发送部,最后发送给从机。在读取控制方法中,FIFO通过发送部将从外部CPU接收到的一个读取地址写入从机后,根据读取地址读取从从机返回的数据至FIFO的接收部,最后通过一个编码器生成具有第二长度的数据并传送给外部CPU。在本专利技术的优选实施例中,第一宽度为10bit,第一长度和第二长度相等,均为32bit,对于发送部,CPU每次通过数据总线向FIFO写入32bit的数据,数据的格式如表1所本文档来自技高网...
一种支持批量读写从机寄存器的主机控制方法

【技术保护点】
一种支持批量读写从机寄存器的主机控制方法,其特征在于,通过FIFO实现,所述FIFO包括发送部和接收部,所述发送部用于缓存需要发送的字节,所述接收部用于缓存从从机读取回的字节,所述FIFO具有第一宽度;所述控制方法包括写入控制方法和读取控制方法:在所述写入控制方法中,外部CPU通过数据总线向所述FIFO写入具有第一长度的数据,所述第一长度的数据通过一解码器解析成多个具有所述第一宽度的字节,再按先后顺序依次写入所述FIFO的发送部,最后发送给从机;在所述读取控制方法中,所述FIFO通过所述发送部将从外部CPU接收到的一读取地址写入从机后,根据所述读取地址读取从从机返回的数据至所述FIFO的接收部,最后通过一编码器生成具有第二长度的数据并传送给外部CPU;所述第一长度和所述第二长度相等。

【技术特征摘要】
1.一种支持批量读写从机寄存器的主机控制方法,其特征在于,通过FIFO实现,所述FIFO包括发送部和接收部,所述发送部用于缓存需要发送的字节,所述接收部用于缓存从从机读取回的字节,所述FIFO具有第一宽度;所述控制方法包括写入控制方法和读取控制方法:在所述写入控制方法中,外部CPU通过数据总线向所述FIFO写入具有第一长度的数据,所述第一长度的数据通过一解码器解析成多个具有所述第一宽度的字节,再按先后顺序依次写入所述FIFO的发送部,最后发送给从机;在所述读取控制方法中,所述FIFO通过所述发送部将从外部CPU接收到的一读取地址写入从机后,根据所述读取地址读取从从机返回的数据至所述FIFO的接收部,最后通过一编码器生成具有第二长度的数据并传送给外部CPU;所述第一长度和所述第二长度相等;在所述写入控制方法中,多个具有所述第一宽度的字节包括写入启动位字节,ID及写操作符字节,写入地址字节和至少一个写入数据字节和写入停止位字节,所述写入启动位字节、所述ID及写操作符字节、所述写入地址字节、至少一个所述写入数据字节和所述写入停止位字节按先后顺序依次写入所述FIFO的发送部。2.根据权利要求1所述支持批量读写从机寄存器的主机控制方法,其特征在于,在所述读取控制方法中,将一读取启动位字节、一ID及读操作符字节、一读取地址字节和一读取停止位字节按先后顺序写入所述FIFO的发送部;或者,将一读取启动位字节、一长度字节、一ID及读操作符字节、一读取地址字节和一读取停止位字节按先后顺序写入所述FIFO的发送部。3.根据权利要求...

【专利技术属性】
技术研发人员:李世玮陈朝杰
申请(专利权)人:豪威科技上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1