CN115373911A - 串行总线接口电路的逻辑系统、电路、芯片及视觉装置 - Google Patents
串行总线接口电路的逻辑系统、电路、芯片及视觉装置 Download PDFInfo
- Publication number
- CN115373911A CN115373911A CN202210801465.1A CN202210801465A CN115373911A CN 115373911 A CN115373911 A CN 115373911A CN 202210801465 A CN202210801465 A CN 202210801465A CN 115373911 A CN115373911 A CN 115373911A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- data
- logic
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/25—Testing of logic operation, e.g. by logic analysers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本公开实施例中提供串行总线接口电路的逻辑系统、电路、芯片及视觉装置,逻辑系统包括:基本传输逻辑模块,被配置成根据时钟信号执行每次的数据收/发;且在基本传输逻辑模块基础上设置实时传输逻辑模块,被配置成基于至少一个系统时钟信号生成实时时钟信号并向基本传输逻辑模块提供,以令基本传输逻辑模块基于实时时钟信号执行数据收/发。通过设置实时传输逻辑模块,在原基本传输逻辑基础上增强实时传输能力,能良好解决双目立体视觉装置中不同图像传感器之间的精准同步控制需求,相比GPIO方案节省了资源,也消除通用I2C接口实时性不强的固有技术印象。而且,软件开发难度低,系统资源需求小且稳定性好,也提升了I2C接口的适用范围。
Description
技术领域
本公开涉及芯片电路设计技术领域,尤其涉及串行总线接口电路的逻辑系统、电路、芯片及视觉装置。
背景技术
双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。目前,双目立体视觉方案已在逐渐被应用于智能驾驶、机器人、AR/VR等领域。
在双目立体视觉装置中,可以通过两个摄像单元来分别采集图像,每个摄像单元均包含用于成像的图像传感器。每个图像传感器都会有通用输入输出(GPIO)和内置集成电路(Inter-Integrated Circuit,IIC或I2C)总线接口,为了实现双目3D视觉模块组件中不同的图像传感器之间信息的精确同步,处理器可以使用GPIO来实现对不同图像传感器的同步信号控制。通常,处理器的GPIO接口引出后,需要一分为二接入两个图像传感器的同步输入的GPIO接口,就可以对不同图像传感器同步输出相同的控制信号。I2C是图像传感器的控制接口,通常用于图像传感器上电配置,平时工作时的状态读取。
但是,以上基于GPIO的双目同步控制方案会额外需要占用处理器的一个GPIO口。因此,会考虑使用I2C接口来实现双目同步控制。然而,I2C接口要实现同步功能,会有较多缺点存在,要实现双目同步控制信号的发送存在较大障碍。
虽然图像传感器的内部基本都会有I2C总线,但目前芯片内的串行总线接口电路,多是实现单一字节的I2C读写功能,通常难以应用于实时性要求高的场景中。如果想连续收发一串字符串,实现的方式有两种:第一种方式是不停的调用单个字节的收发函数,按一定速度把接送或者发送字符串中的每一个字节发送出去;第二种方式是采用直接存储器访问(DMA)访问方式,通过设置字符串的帧头及字符串的字符个数并自动触发DMA中断,可以利用DMA机制自动利用纯硬件在没有软件的干预下实现字符串的自动发送或者接收。
其中,第一种方式的缺点是对系统的时间调度要求比较高,优先级划分需要仔细优化,实时性很难保证。第二种方式虽然通过DMA相比第一种方式而言,提高了实时性,但软件实现比较复杂,系统稳定性不高。
因此,如何找到一种基于I2C接口实现的双目立体视觉装置中不同图像传感器之间的同步控制,已成为业界亟待解决的技术问题。
发明内容
本公开为了克服上述相关技术存在的缺陷,提供串行总线接口电路的逻辑系统、电路、芯片及视觉装置,提供基于I2C接口实现精准的不同图像传感器的同步控制,解决相关技术中的问题。
根据本公开的第一方面,提供一种串行总线接口电路的逻辑系统,所述串行总线接口电路应用于图像传感器;所述逻辑系统包括:基本传输逻辑模块,被配置成基于工作时钟信号执行所述串行总线接口电路每次的数据收/发;其中,所述工作时钟信号基于至少一个系统时钟信号生成;实时传输逻辑模块,被配置成基于至少一个系统时钟信号生成实时时钟信号并向所述基本传输逻辑模块提供,以令所述基本传输逻辑模块基于所述实时时钟信号执行定时的数据收/发。
在第一方面的实施例中,所述实时传输逻辑模块还被配置成对定时收/发的数据进行缓存。
在第一方面的实施例中,所述实时传输逻辑模块包括:实时时钟逻辑单元,用于基于所述系统时钟产生所述实时时钟信号;数据缓存逻辑单元,用于存储实时收/发的数据;实时控制逻辑单元,用于配置所述实时时钟逻辑单元和数据缓存逻辑单元。
在第一方面的实施例中,所述实时时钟逻辑单元包括:至少一预分频器,被配置成对系统时钟信号预分频以得到预分频信号;至少一分频器,被配置成对所述预分频信号分频以得到分频信号;实时时钟配置器,被配置成基于所述至少一分频时钟信号得到所述实时时钟信号。
在第一方面的实施例中,所述预分频器包括预分频寄存器;所述分频器包括分频寄存器;所述实时时钟配置器包括实时时钟配置寄存器。
在第一方面的实施例中,所述数据缓存逻辑单元包括:数据发送队列以及数据接收队列;所述实时传输逻辑模块还包括:双向队列配置寄存器;所述实时控制逻辑单元,用于在所述双向队列配置寄存器配置所述数据发送队列以及数据接收队列的地址指针。
在第一方面的实施例中,所述实时控制逻辑模块还包括频率配置寄存器;所述实时控制逻辑单元,用于配置所述频率配置寄存器以设置频率控制策略。
在第一方面的实施例中,所述基本传输逻辑模块包括:通讯引脚模块、时钟控制逻辑模块、数据控制逻辑模块及整体控制逻辑模块;所述通讯引脚模块包括:供耦合于数据线的第一引脚及耦合于时钟线的第二引脚;所述时钟控制逻辑模块,经所述通讯引脚模块耦合于时钟线,用于基于系统时钟信号产生工作时钟信号;所述数据控制逻辑模块,耦合于所述通讯引脚模块以连通数据线,用于每次数据收/发所需的数据存储处理;所述整体控制逻辑模块,耦合于所述时钟控制逻辑模块,用于每次数据收/发所需逻辑判断和/或异常处理;所述数据缓存逻辑单元,耦合于所述数据控制逻辑单元;所述实时时钟逻辑单元,耦合于所述整体控制逻辑模块,用于输出所述实时时钟信号,所述实时时钟信号通过整体控制逻辑模块和时钟控制逻辑模块作用于所述时钟线。
根据本公开的第二方面,提供一种串行总线接口电路,包括:基于如第一方面任一项所述的逻辑系统所构建。
根据本公开的第三方面,提供一种图像传感器,包括:如第二方面所述的串行总线接口电路。
根据本公开的第四方面,提供一种双目立体视觉装置,包括:第一摄像单元,包括第一图像传感器;第二摄像单元,包括第二图像传感器;所述第一图像传感器和第二图像传感器为如第三方面所述的图像传感器;处理器,耦合所述第一图像传感器和第二图像传感器的串行总线接口电路以同步输出控制信号。
相比现有技术,本公开的有益效果在于:
提供串行总线接口电路的逻辑系统,所述逻辑系统包括:基本传输逻辑模块,被配置成根据时钟信号执行每次的数据收/发;且在基本传输逻辑模块基础上设置实时传输逻辑模块,被配置成基于至少一个系统时钟信号生成实时时钟信号并向所述基本传输逻辑模块提供,以令所述基本传输逻辑模块基于所述实时时钟信号执行定时的数据收/发。本公开通过设置实时传输逻辑模块,在原基本传输逻辑基础上增强实时传输能力,能良好解决双目立体视觉装置中不同图像传感器之间的精准同步控制需求,相比GPIO方案节省了资源,也消除通用I2C接口实时性不强的固有技术印象。而且,增强的实时传输逻辑模块可不用调用原基本传输逻辑模块的DMA资源,即可达到I2C总线命令的定时(可配置)精确收发。软件开发难度低,系统资源需求小,稳定性更好,并且提升了I2C接口的适用范围,为未来进一步的优化带来更多的可能性。
附图说明
通过参照附图详细描述其示例实施方式,本公开的上述和其它特征及优点将变得更加明显。
图1展示相关技术中的多个I2C器件总线连接的电路结构示意图。
图2A展示相关技术中I2C总线通信传输的启动和停止的信号时序图。
图2B展示相关技术中数据线中数据有效的信号时序图。
图3展示本公开一实施例中双目立体视觉装置的结构示意图。
图4展示本公开一实施例中逻辑系统的结构示意图。
图5展示本公开一实施例中实时传输逻辑模块的结构示意图。
图6展示本公开一实施例中逻辑系统的具体模块结构示意图。
图7展示本公开一实施例中基本传输逻辑模块的结构示意图
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。比如,说明书中所提到的“模块”、“单元”只是对其实现功能的一种描述,并不意味着在具体实现中必须封装在一个物理模组中。
说明书中以下部分中所称的“耦合”,指的是直接或间接的导电连接或其它通信连接。
IIC(Inter-Integrated Circuit),简称为IIC或I2C,是一种串行通信总线。如图1所示例,I2C通信系统使用多主从架构。I2C通信系统包括两条总线,一条是双向的串行的数据线101(即SDA线),一条是双向的串行的时钟线102(即SCL线)。每个设备103通过SDA接口连接数据线101,并通过SCL接口连接时钟线102。每个设备103上的SDA接口是双向的,可以向数据线101发送数据或从从数据线101接收数据。SCL接口也是双向的,作为控制总线数据传送的主机,一方面要通过SCL接口发送时钟信号,另一方面还要监测时钟线102上的信号电平,以决定什么时候发送下一个时钟信号。
在连接I2C总线的各设备103之间,“主”、“从”是相对的概念。所谓主机是指启动数据的传送(发出启动信号)、发出时钟信号以及传送结束时发出停止信号的设备103,通常主机是微处理器。被主机寻访的设备103称为从机。为了进行通讯,每个接到I2C总线的设备103都有一个唯一的地址,以便于主机寻访。主机和从机的数据传送,可以由主机发送数据到从机,也可以由从机发到主机。凡是发送数据到总线的设备103称为发送器,从总线上接收数据的设备103被称为接受器。作为接受主机命令的从机,要按时钟线102上的时钟信号发出或接收数据线101上的数据信号,也可以向时钟线102发出低电平信号以延长总线上时钟信号的周期。当总线空闲时,各设备103都是开漏输出,上拉电阻Rp使数据线101和时钟线102都保持高电平。任一设备103输出的低电平都将使相应的数据线101或时钟线102变低。
I2C总线上所连接的设备103,包括一个或多个微处理器以及各种外围设备103,如存储器、LED及LCD驱动器、A/D及D/A转换器等。为了保证数据可靠地传送,任一时刻I2C总线只能由某一台主机控制,各微处理器应在I2C总线空闲时发送启动数据,为了妥善解决多台主机同时发送启动数据的传送(总线控制权)冲突,以及决定由哪一台主机控制总线的问题,I2C总线允许连接不同传送速率的设备103。多台设备103之间时钟信号的同步过程称为同步化。在通信时,主机可以通过从机的地址来访问不同设备103。具体的,主机通过SDA线发送从机地址(SLAVE_ADDRESS)查找从机,SLAVE_ADDRESS可以是7位或10位,SLAVE_ADDRESS的一个数据位用来表示数据传输方向,即第8位或11位。为0时表示写数据,为1时表示读数据。
如图2A所示,展示相关技术中I2C总线通信传输的启动和停止的信号时序图。
I2C总线通信都是以起点(S)开始,以终点(P)结束。当SCL为高电平时,SDA线上的高电平到低电平转换表示传输启动(Start)条件。当SCL为高电平时,SDA线上的低电平到高电平转换表示停止(Stop)条件。
且如图2B所示,展示SDA数据线中数据有效的示意图。
在串行时钟SCL线的高电平期间,SDA线的“高电平”或者“低电平”状态必须保持稳定,此时SDA线上稳定的“高电平”或“低电平”就是有效数据“1”或者“0”,如图中A区域所示。SDA线的“高电平”或者“低电平”状态地改变,只能在SCL线的低电平期间进行。串行时钟SCL线每产生一个高电平脉冲,串行数据SDA线就传输一位有效数据。SDA线在SCL线的低电平期间准备数据(改变电平),如图中B区域所示。SDA数据准备完毕(电平改变结束并保持稳定)后,SCL线由低电平变为高电平并保持稳定,此时SDA线的稳定电平就是有效数据。
根据图2A和图2B可知,基于在SCL线上产生的时钟信号可控制SDA线上数据的收/发。
在介绍了I2C总线通信的原理之后,以下介绍本公开实施例中基于I2C通信的应用场景示例。
如图3所示,展示本公开一实施例中双目立体视觉装置300的结构示意图。在具体实例中,所述双目立体视觉装置300可以实现为一体的双目3D视觉模块,或者,也可以实现为分体的双目视觉系统。
在图3中,展示了双目立体视觉装置300包括第一摄像单元301、第二摄像单元302及处理器303。所述第一摄像单元301包括第一图像传感器311,所述第二摄像单元302包括第二图像传感器321,所述第一摄像单元301和第二摄像单元302分别还包括例如镜头等光学器件,此处不作展开。所述第一图像传感器311和第二图像传感器321具有同步控制接口。在相关技术中,所述同步控制接口可基于GPIO实现,但是会额外占用处理器303的GPIO口。因此,在本公开实施例中,通过改善I2C总线接口实时性较差的问题,以利用图像传感器已有的I2C接口作为同步控制接口,可以实现对不同图像传感器的实时同步控制。
如图4所示,展示本公开一实施例中串行总线接口电路的逻辑系统的结构示意图。
需特别说明的是,“逻辑系统”可以指的是对应芯片、电路实现而使用电子设计自动化软件(EDA)所创建的设计。在设计阶段,可以利用HDL语言(Verilog或VHDL)输入、电路图输入、状态转移图输入等方式得到不同形式的逻辑系统。本实施例中展示了对应串行总线接口电路的逻辑系统,其中的各个模块、单元可以通过计算机程序编写实现。所述串行总线接口的逻辑系统设计可以作为集成电路中的IP核使用,IP核即知识产权核,是在集成电路的可重用设计方法学中,某一方提供的、形式为逻辑单元、芯片设计的可重用模组。
逻辑系统400包括:基本传输逻辑模块401、及实时传输逻辑模块402。
基本传输逻辑模块401,被配置成基于工作时钟信号执行所述串行总线接口电路(如I2C接口)每次的数据收/发。其中,所述工作时钟信号基于至少一个系统时钟信号生成。在一些实施例中,所述系统时钟信号可以是独立时钟源信号、或独立时钟源信号经分频后(也可能再经过倍频和/或逻辑选择等)得到的时钟信号,所述时钟源信号可以来自晶振。例如,在SMT32单片机中的高速外部时钟(HSE时钟)、高速内部时钟(HSI时钟)、低速外部时钟(LSE时钟)、低速内部时钟(LSI时钟)、锁相环时钟(PLL时钟)等。
所述基本传输逻辑模块401可以耦合至SCL线和SDA线,以基于工作时钟信号实现基本的每次的数据收/发。所述基本传输逻辑模块401提供了基础的单次数据收/发功能。
所述实时传输逻辑模块402,被配置成基于至少一个系统时钟信号生成实时时钟信号并向所述基本传输逻辑模块401提供,以令所述基本传输逻辑模块401基于所述实时时钟信号执行定时的数据收/发。
具体的,所述实时传输逻辑模块402是对所述基本传输逻辑模块401的增强,以在需要时提供实时时钟信号,以控制基本传输逻辑模块401基于实时时钟信号执行对应的实时的每个单次数据收/发。从而,可以结合图1示例可知,实现有此逻辑系统400对应的串行数据接口电路的不同图像传感器之间,可以利用各自串行数据接口电路的实时数据传输能力,更好地调整不同图像传感器之间的同步控制。
需说明的是,所述逻辑系统400应用在图1中只是一种示例,由于I2C接口增强而具有实时性的优势,可以被应用在其它各种已有I2C接口实时控制的场景中,并非以图1示例为限。
如图5所示,展示本公开一具体实施例中串行总线接口电路的逻辑系统的结构示意图。
在图5中,示例性地展示了实时传输逻辑模块500可能的模块架构。实时传输逻辑模块500包括:实时时钟逻辑单元501、数据缓存逻辑单元502和实时控制逻辑单元503。
所述实时时钟逻辑单元501,用于基于所述系统时钟产生所述实时时钟信号。具体而言,为了不影响基本传输逻辑模块本身已有的工作时钟信号,故在实时传输逻辑模块500增加了实时时钟逻辑单元501,实现产生实时时钟信号的时钟逻辑。在一些示例中,所述实时时钟逻辑单元501可以包括:至少一预分频器、至少一分频器和实时时钟配置器。所述预分频器(Prescaler-PSC),被配置成对系统时钟信号预分频以得到预分频信号。所述分频器,被配置成对所述预分频信号分频以得到分频信号。所述实时时钟配置器,被配置成基于所述至少一分频时钟信号得到所述实时时钟信号。所述系统时钟信号在经过预分频器、分频器后进入实时时钟配置器,以在实时时钟配置器能得到任意所需的时钟信号。在一些实施例中,分频器的在一些实施例中,所述预分频器、分频器及实时时钟配置器可以基于寄存器实现。所述预分频器包括预分频寄存器511;所述分频器包括分频寄存器512;所述实时时钟配置器包括实时时钟配置寄存器513。所述预分频器、分频器及实时时钟配置器都是可配置的,可由实时控制逻辑单元503在相应的寄存器配置控制参数,比如在预分频寄存器511、分频寄存器512配置预分频因子、分频因子等。
所述数据缓存逻辑单元502,用于存储实时收/发的数据,缓存即Buffer。具体而言,为了在实时数据收/发时不减少对基本传输逻辑模块中存储资源的占用,故在实时传输逻辑模块500中可以增加此数据缓存逻辑单元502。具体的,所述数据缓存逻辑单元502可以包括数据发送队列521以及数据接收队列522。在一些示例中,所述数据发送队列521以及数据接收队列522的数据存储结构可以实现为例如常规队列、循环队列或乒乓队列等。在一些示例中,所述数据发送队列521以及数据接收队列522可以包括多个地址位,每个地址位对应于一个发送/接收缓存单元,所述缓存单元可以是一个数组或者一个数组中的元素。根据地址可在相应位置读/写数据。为实现对数据发送队列521以及数据接收队列522的控制,所述实时传输逻辑模块500还可包括双向队列配置寄存器504,所述实时控制逻辑单元503用于在所述双向队列配置寄存器504配置所述数据发送队列521以及数据接收队列522的地址指针。
所述实时控制逻辑单元503,用于配置所述实时时钟逻辑单元501和数据缓存逻辑单元502,即例如配置所述预分频寄存器511、分频寄存器512、实时时钟配置寄存器513、双向队列配置寄存器504中的控制参数。具体的,实时控制逻辑单元503可以通过配置数据发送队列521、数据接收队列522的地址指针、以及频率控制策略等,就可以产生相应实时时钟信号来驱动基本传输逻辑模块执行相应的数据收/发动作。
在一些实施例中,所述实时传输逻辑模块500还可包括频率配置寄存器505。所述实时控制逻辑单元503,还用于配置所述频率配置寄存器505以设置频率控制策略,配置信息可以是所述工作频率的频率值(HZ)的表示值,例如数据收/发频率等。基于所述频率控制策略来对应地产生所述实时时钟信号,以使基本传输逻辑模块能基于所述频率控制策略来进行数据收/发,以实现更佳丰富的功能,适用场景更多。
可以理解的是,所述实时传输逻辑模块500可以通过新增数据发送队列521和数据接收队列522、并配合新的实时时钟控制产生逻辑,通过不断的循环递进,可以实现了I2C接口电路的数据的批量收/发。并且,所述实时传输逻辑模块500可以通过电路硬件实现,比如利用芯片中的寄存器资源(对应预分频寄存器511、分频寄存器512、实时时钟配置寄存器513、双向队列配置寄存器504、频率配置寄存器505)、缓存资源(对应数据发送队列521以及数据接收队列522)、处理器资源(对应实时控制逻辑单元503)等,所以可以保证I2C数据的实时性。
如图6所示,展示本公开一具体实施例中逻辑系统的结构示意图。
在图6中,所述基本传输逻辑模块601包括:通讯引脚模块611、时钟控制逻辑模块612、数据控制逻辑模块613及整体控制逻辑模块614。
所述通讯引脚模块611耦合至I2C总线中的数据线(即SDA线)和时钟线(即SCL线)。具体的,所述通讯引脚模块611包括:供耦合于数据线的第一引脚及耦合于时钟线的第二引脚。
所述时钟控制逻辑模块612,经所述通讯引脚模块611耦合于时钟线,用于生成数据收/发所需的工作时钟信号并向时钟线输出。在所述实时传输逻辑模块使能时输出实时时钟信号,所述工作时钟信号可以是实时时钟信号,以用于控制相应的数据收/发。
所述数据控制逻辑模块613,耦合于所述通讯引脚模块611以连通数据线,用于每次数据收/发所需的数据存储处理。
所述整体控制逻辑模块614,耦合于所述时钟控制逻辑模块612,用于每次数据收/发所需逻辑判断和/或异常处理。
在图6中,实时传输逻辑模块602包括:数据缓存逻辑单元621、实时时钟逻辑单元622、及实时控制逻辑单元623。
所述数据缓存逻辑单元621,耦合于所述数据控制逻辑单元613,可用于提供数据发送队列和数据接收队列,以用于实时时钟信号作用下的数据收/发。如此可不必占用数据控制逻辑模块613原有的资源,也不必修改架构。
所述实时时钟逻辑单元622,耦合于所述整体控制逻辑模块614,用于输出所述实时时钟信号以作用至时钟线。在一些实施例中,实时时钟逻辑单元622可在被使能时输出所述实时时钟信号作为工作时钟信号,而在未被使能时,也不影响时钟控制逻辑模块612按已有逻辑生成工作时钟信号。
在图7示例中,展示本公开一具体实施例中基本传输逻辑模块700中各模块的结构示意图。
时钟控制逻辑模块701包括:时钟控制逻辑单元711及时钟控制寄存器712(CCR)。所述时钟控制逻辑单元711根据时钟控制寄存器712中的参数来配置I2C的传输模式。
数据控制逻辑模块702包括:数据控制逻辑单元721、数据寄存器722、数据移位寄存器723、比较器724、PEC计算器725、自身地址寄存器726、双地址寄存器727、PEC寄存器728等。所述数据先被写入数据寄存器722,再移到数据移位寄存器723,再一位一位交由数据控制逻辑单元721从SDA引脚向SDA线发送。所述比较器724是在逻辑系统对应串行总线接口电路所在设备作为从机时,被主机呼叫时用于地址比较而存在。自身地址寄存器726用于存放I2C设备自身地址,用于与主机寻址时所传递的地址信号比较。PEC计算器725及PEC寄存器728用于数据校验使用。
整体控制逻辑模块703包括:整体控制逻辑单元731、控制寄存器732和状态寄存器733。整体控制逻辑单元731用于控制例如产生中断信号、DMA请求及各种I2C的通讯信号(起始、停止、响应信号等)。所述控制寄存器732中的控制参数用于供整体控制逻辑单元731读取以设置相应逻辑系统的工作模式。所述状态寄存器733可供控制逻辑单元731会根据设备的工作状态修改其中的状态参数,故通过读取状态寄存器733相关的寄存器位的数据,就可以了解设备的工作状态。
根据图6、图7示例可见,通过实时传输逻辑模块可以增强基本传输逻辑模块较弱的实时数据收/发能力,而且实时传输逻辑模块通过设置数据缓存逻辑单元及实时时钟逻辑单元,不会影响到基本传输逻辑模块本身运作中的资源和架构,也可不用调动系统的DMA资源(不影响整体控制逻辑模块的架构),达到I2C总线命令的定时(可配置)精确收发。因此,本公开实施例中所实现的逻辑系统的软件开发难度低,系统资源需求小,稳定性更好,并且提升了I2C接口的适用范围,为未来系统优化带来更多的可能性。
需特别说明的是,图7示例中只是提供了一种基本传输逻辑模块的可能实现架构,在其它实施例中可以加以变化,并非以此为限。
本公开在一些实施例中,还可以提供一种串行总线接口电路,包括:基于如之前任一实施例中的逻辑系统所构建。具体的,所述串行总线接口电路具有实时传输逻辑模块的相应电路部分,来改善I2C通讯实时性较弱的问题。
本公开在一些实施例中还可以提供提供一种图像传感器,包括所述串行总线接口电路。所述图像传感器可以应用为图3实施例的第一图像传感器、第二图像传感器。相应的,本公开一些实施例中还可以提供一种双目立体视觉装置,参考图3示例,第一图像传感器和第二图像传感器采用此串行总线接口电路,可以灵活精确地调整第一图像传感器和第二图像传感器的受控时间,以达到更加精准的同步控制。
虽然在相关技术中,会通过例如定时器(Timer)的定时来实现定时传输目的,但是简单的定时而言,在非实时操作系统里的精度不够,定时器定时的优先级也不会设置成最高,导致定时器定的定时精度没有那么的精准。相比之下,本公开上述实施例中的逻辑系统中,通过硬件电路的实时传输逻辑模块驱动基础的基本传输逻辑模块,能实现更加精准实时的I2C数据传输。尤其,在基于双目立体视觉的人工智能芯片(比如图3中的处理器处理第一图像传感器和第二图像传感器所成图像)的图像处理中,精准定时将有助于提高摄像头或者AI判断的精度。
相比现有技术,本公开的有益效果在于:
提供串行总线接口电路的逻辑系统,所述逻辑系统包括:基本传输逻辑模块,被配置成根据时钟信号执行每次的数据收/发;且在基本传输逻辑模块基础上设置实时传输逻辑模块,被配置成基于至少一个系统时钟信号生成实时时钟信号并向所述基本传输逻辑模块提供,以令所述基本传输逻辑模块基于所述实时时钟信号执行定时的数据收/发。本公开通过设置实时传输逻辑模块,在原基本传输逻辑基础上增强实时传输能力,能良好解决双目立体视觉装置中不同图像传感器之间的精准同步控制需求,相比GPIO方案节省了资源,也消除通用I2C接口实时性不强的固有技术印象。而且,不影响基本传输逻辑模块架构,软件开发难度低,系统资源需求小,稳定性更好,并且提升了I2C接口的适用范围。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (11)
1.一种串行总线接口电路的逻辑系统,其特征在于,所述串行总线接口电路应用于图像传感器;所述逻辑系统包括:
基本传输逻辑模块,被配置成基于工作时钟信号执行所述串行总线接口电路每次的数据收/发;其中,所述工作时钟信号基于至少一个系统时钟信号生成;
实时传输逻辑模块,被配置成基于至少一个系统时钟信号生成实时时钟信号并向所述基本传输逻辑模块提供,以令所述基本传输逻辑模块基于所述实时时钟信号执行定时的数据收/发。
2.根据权利要求1所述的逻辑系统,其特征在于,所述实时传输逻辑模块还被配置成对定时收/发的数据进行缓存。
3.根据权利要求1所述的逻辑系统,其特征在于,所述实时传输逻辑模块包括:
实时时钟逻辑单元,用于基于所述系统时钟产生所述实时时钟信号;
数据缓存逻辑单元,用于缓存实时收/发的数据;
实时控制逻辑单元,用于配置所述实时时钟逻辑单元和数据缓存逻辑单元。
4.根据权利要求3所述的逻辑系统,其特征在于,所述实时时钟逻辑单元包括:
至少一预分频器,被配置成对系统时钟信号预分频以得到预分频信号;
至少一分频器,被配置成对所述预分频信号分频以得到分频信号;
实时时钟配置器,被配置成基于所述至少一分频时钟信号得到所述实时时钟信号。
5.根据权利要求4所述的逻辑系统,其特征在于,所述预分频器包括预分频寄存器;所述分频器包括分频寄存器;所述实时时钟配置器包括实时时钟配置寄存器。
6.根据权利要求3所述的逻辑系统,其特征在于,所述数据缓存逻辑单元包括:数据发送队列以及数据接收队列;
所述实时传输逻辑模块还包括:双向队列配置寄存器;
所述实时控制逻辑单元,用于在所述双向队列配置寄存器配置所述数据发送队列以及数据接收队列的地址指针。
7.根据权利要求3所述的逻辑系统,其特征在于,所述实时控制逻辑模块还包括:频率配置寄存器;
所述实时控制逻辑单元,用于配置所述频率配置寄存器以设置频率控制策略。
8.根据权利要求3所述的逻辑系统,其特征在于,所述基本传输逻辑模块包括:通讯引脚模块、时钟控制逻辑模块、数据控制逻辑模块及整体控制逻辑模块;
所述通讯引脚模块包括:供耦合于数据线的第一引脚及耦合于时钟线的第二引脚;
所述时钟控制逻辑模块,经所述通讯引脚模块耦合于时钟线,用于生成数据收/发所需的时钟信号并向时钟线输出,所述时钟信号包括工作时钟信号;
所述数据控制逻辑模块,耦合于所述通讯引脚模块以连通数据线,用于每次数据收/发所需的数据存储处理;
所述整体控制逻辑模块,耦合于所述时钟控制逻辑模块,用于每次数据收/发所需逻辑判断和/或异常处理;
所述数据缓存逻辑单元,耦合于所述数据控制逻辑单元;
所述实时时钟逻辑单元,耦合于所述整体控制逻辑模块,用于输出所述实时时钟信号以作用至时钟线。
9.一种串行总线接口电路,其特征在于,包括:基于如权利要求1至8中任一项所述的逻辑系统所构建。
10.一种图像传感器,其特征在于,包括:如权利要求9所述的串行总线接口电路。
11.一种双目立体视觉装置,其特征在于,包括:
第一摄像单元,包括第一图像传感器;
第二摄像单元,包括第二图像传感器;
所述第一图像传感器和第二图像传感器为如权利要求10所述的图像传感器;
处理器,耦合所述第一图像传感器和第二图像传感器的串行总线接口电路以同步输出控制信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210801465.1A CN115373911A (zh) | 2022-07-08 | 2022-07-08 | 串行总线接口电路的逻辑系统、电路、芯片及视觉装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210801465.1A CN115373911A (zh) | 2022-07-08 | 2022-07-08 | 串行总线接口电路的逻辑系统、电路、芯片及视觉装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115373911A true CN115373911A (zh) | 2022-11-22 |
Family
ID=84062052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210801465.1A Pending CN115373911A (zh) | 2022-07-08 | 2022-07-08 | 串行总线接口电路的逻辑系统、电路、芯片及视觉装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373911A (zh) |
-
2022
- 2022-07-08 CN CN202210801465.1A patent/CN115373911A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6148357A (en) | Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes | |
WO2017044301A1 (en) | Input/output signal bridging and virtualization in a multi-node network | |
EP1764703A1 (en) | A system for providing access to multiple data buffers of a data retaining and processing device | |
US8867573B2 (en) | Transferring data between asynchronous clock domains | |
US6119183A (en) | Multi-port switching system and method for a computer bus | |
JP4903801B2 (ja) | FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法 | |
CN110188059B (zh) | 数据有效位统一配置的流控式fifo缓存装置及方法 | |
KR20080007506A (ko) | 레이턴시에 둔감한 fifo 시그널링 프로토콜 | |
KR20120040535A (ko) | 버스 시스템 및 그것의 동작 방법 | |
CN108268414A (zh) | 基于spi模式的sd卡驱动器及其控制方法 | |
CN114265872B (zh) | 一种用于总线的互联装置 | |
CN107643993B (zh) | 总线转换接口、总线转换接口的工作方法和通信设备 | |
EP0266790A2 (en) | Serial bus interface capable of transferring data in different formats | |
US6539444B1 (en) | Information processing apparatus having a bus using the protocol of the acknowledge type in the source clock synchronous system | |
US5710892A (en) | System and method for asynchronous dual bus conversion using double state machines | |
EP0592213A1 (en) | Synchronous/asynchronous partitioning of an asynchronous bus interface | |
Yun et al. | A high-performance asynchronous SCSI controller | |
US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
KR20210075878A (ko) | I2c와의 하위 호환성을 촉진하는 i3c 허브 | |
Chhikara et al. | Implementing communication bridge between I2C and APB | |
CN114185830A (zh) | 基于mailbox的多处理器通信方法、设备、系统和存储介质 | |
CN115373911A (zh) | 串行总线接口电路的逻辑系统、电路、芯片及视觉装置 | |
CN111221769A (zh) | 单线读写通讯方法 | |
JP4560601B2 (ja) | コンピュータ用バスインタフェース | |
CN111723033A (zh) | 一种多功能串行通信接口设备及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |