一种DBI的数据传输方法及系统与流程

文档序号:15385316发布日期:2018-09-08 00:29阅读:403来源:国知局

本发明涉及通信领域,尤其是涉及一种dbi的数据传输方法及系统。



背景技术:

液晶数据总线接口(displaybusinterface,以下简称dbi)广泛用于液晶显示器与外部芯片之间的数据通信。

dbi传输数据时,其传输时钟由主设备提供,有效数据在数据线上传输,传输期间主设备提供片选信号激活从设备。但是,dbi是一个半双工的通信总线,主-从设备之间收/发数据不可同时进行。此外,dbi的传输协议相较而言更加丰富,主设备和从设备之间交互的信息有两种--命令和数据,且主设备在发数据或收数据前都需向从设备发出相关的命令。

为了区分命令和数据,dbi传输数据时,主设备发出的每个单位信息中,均包括8bit信息和1bit的标志位,标志位为0则表示该8bit信息为命令,为1则表示该8bit信息为数据。为了突出标志位同时也为了提升传输效率,现有dbi的传输包括3线模式和4线模式。3线模式时,标志位于每8bit信息之前,经数据线送往从设备,因而主设备发给从设备的信息时以9bit为一个单位;4线模式时,标志位与8bit信息独立,标志位经标志线送往从设备,8bit信息经数据线送往从设备,因而此时数据线上传输的信息以8bit为一个单位。而从设备反馈给主设备的信息只有数据,无命令,因而主设备收到的数据无需标志位。dbi在收数据时还定义了一种dummy模式。非dummy模式的收数据时为上述提到的模式;而dummy模式收数据时,主设备在发完相关的命令后,从设备并不会立即反馈数据,而是等待若干个scl周期再发数据给主设备。

但是无论哪种模式,现有的dbi接口在发数据时,外围cpu需等待当前的数据传输完成后才可以继续对dbi写入下一个新数据,这种传输方式很不方便,而且不能很好的区分发命令、发数据和收数据的操作。随着电子产品的智能化发展,液晶显示器显示图片的信息量越来越大,作为液晶显示器显示设备与外部芯片的通信接口,dbi传输的数据量也日益增多,传统的基于单命令或单数据的传输方式已难以满足繁重的传输需求。



技术实现要素:

基于此,本发明的目的在于,提供一种dbi的数据传输方法,其具有可使cpu可以连续地向dbi写入数据,并可更加准确地区分发命令、发数据和收数据的操作,操作方便的优点。

一种dbi的数据传输方法,包括如下步骤:

获取外围cpu发送的需传输的信息,并将所述需传输的信息暂存至第一先进先出存储器;所述需传输的信息包括数据和令牌;

从第一先进先出存储器中获取当前需传输的信息,并识别当前需传输的信息中令牌对应的传输指令,且根据所述传输指令传输所述当前需传输中的数据。

相比于现有技术,本发明通过设置第一先进先出存储器,可使cpu可以连续地向dbi写入数据,通过设置令牌,可更加准确地区分发命令、发数据和收数据的操作,操作方便,简单灵活。

进一步地,所述从第一先进先出存储器中获取当前需传输的信息,并识别当前需传输的信息中令牌对应的传输指令,且根据所述传输指令传输所述当前需传输中的数据,包括:

分别提取当前需传输的信息中的数据和令牌;

将所述令牌与存储设定的传输指令库进行比较,若所述令牌对应的传输指令为发命令指令或发数据指令,则产生与所述当前需传输的信息中的数据相对应的时钟周期,并将所述当前需传输的信息中的数据转换为串行数据,且在所述时钟周期下将所述串行数据发送到外界从设备;

若所述令牌对应地传输指令为收数据指令,则产生与所述当前需传输的信息中的数据相对应的时钟周期,并将所述时钟周期提供给外界从设备,以采集外界从设备传送的数据。

进一步地,所述传输指令库包括令牌与传输指令唯一对应存储的信息,包括:所述令牌“00”对应存储的传输指令为发命令指令、所述令牌“01”对应存储的传输指令为为发数据指令以及所述令牌“10”对应存储的传输指令为收数据指令。以2bit信息表示令牌,以准确区分指令操作。

进一步地,所述将令牌与存储设定的传输指令进行比较时,还判断该令牌是否有误,若有误,则发出令牌错误中断通知外围总线,并清空所述第一先进先出存储器。

进一步地,所述令牌有误的判定方式为:若当前需传输的信息中的令牌对应存储的传输指令为发数据指令,下一个需传输的信息中的令牌对应存储的传输指令为收数据指令,则判定下一个需传输的信息中的令牌有误;或者若当前需传输的信息中的令牌对应存储的传输指令为收数据指令,下一个需传输的信息中的令牌对应存储的传输指令为发数据指令,则判定下一个需传输的信息中的令牌有误。通过在令牌有误时,发出令牌错误中断通知外围cpu,并清空第一先进先出存储器,以实现数据的有效实时传输。

进一步地,所述采集的外界从设备传送的数据还传送到第二移位寄存器,并通过该第二移位寄存器实现串并转换,且将该转换后的并行数据传送到第二先进先出存储器,以供外界cpu读取该并行数据。进一步地,通过第二先进先出存储器,使cup可连续地向dbi读取数据。

本发明还提供一种dbi的数据传输系统,包括寄存器单元、主设备状态机和第一先进先出存储器;

所述寄存器单元用于获取外围cpu发送的需传输的信息,并将所述需传输的信息暂存至第一先进先出存储器;所述需传输的信息包括数据和令牌;

所述主设备状态机用于从第一先进先出存储器中获取当前需传输的信息,并识别当前需传输的信息中令牌对应的传输指令,且根据所述传输指令传输所述当前需传输中的数据。

相比于现有技术,本发明通过设置第一先进先出存储器,可使cpu可以连续地向dbi写入数据,通过设置令牌,可更加准确地区分发命令、发数据和收数据的操作,操作方便,简单灵活。

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1为本发明实施例中dbi的数据传输方法的流程图;

图2为本发明实施例识别令牌并传输数据的流程图;

图3为本发明实施例中dbi的数据传输的原理图。

具体实施方式

请参阅图1,其为本发明实施例中dbi的数据传输方法的流程图;该dbi的数据传输方法,包括如下步骤:

步骤s1:获取外围cpu发送的需传输的信息,并将所述需传输的信息暂存至第一先进先出存储器(tx_fifo);所述需传输的信息包括数据和令牌。

本发明通过总线接口(businterfaceunit)接收cpu通过外围总线发送的信息,并对该信息进行解码,再从解码后的信息中获取有效信息,并将该有效信息存储至寄存器单元(registerunit);寄存器单元接收有效信息后,获取相关的控制信息以及需传输的信息。所述控制信息包括如包括传输时钟(scl)的频率控制、传输模式控制(三线/四线模式、dummy/非dummy模式等)、scl的极性控制、中断使能控制、fifo的阈值大小等;所述需传输的信息包括数据和令牌,同时将该需传输的信息暂存至第一先进先出存储器(tx_fifo)。

另外,寄存器单元还收集传输过程中接收到的有效数据以及产生的状态信息,如dbi工作状态、第一先进先出存储器(tx_fifo)的空满状态、令牌错误标志等,cpu通过读取的寄存器便可知道dbi目前的状态。

步骤s2:从第一先进先出存储器(tx_fifo)中获取当前需传输的信息,并识别当前需传输的信息中令牌对应的传输指令,且根据所述传输指令传输所述当前需传输中的数据。

请参阅图2,其为本发明实施例识别令牌并传输数据的流程图。

在步骤s2中,具体包括如下步骤:

步骤s21:分别提取当前需传输的信息中的数据和令牌。

在3线模式下,所述需传输的信息中的数据包括8bit的信息与位于该信息之前的1bit的标识位,在4线模式下,所述需传输的信息中的数据包括8bit的信息与该信息相互独立的1bit的标识位。

步骤s22:将所述令牌与存储设定的传输指令库进行比较,若所述令牌对应的传输指令为发命令指令或发数据指令,则产生与所述当前需传输的信息中的数据相对应的时钟周期,并将所述当前需传输的信息中的数据转换为串行数据,且在所述时钟周期下将所述串行数据发送到外界从设备。若所述令牌对应地传输指令为收数据指令,则产生与所述当前需传输的信息中的数据相对应的时钟周期,并将所述时钟周期提供给外界从设备,以采集外界从设备传送的数据。

在一个实施例中,所述传输指令库包括令牌与传输指令唯一对应存储的信息,包括:所述令牌“00”对应存储的传输指令为发命令指令、所述令牌“01”对应存储的传输指令为为发数据指令以及所述令牌“10”对应存储的传输指令为收数据指令。以2bit信息表示令牌,以准确区分指令操作。

在一个实施例中,本发明通过主设备状态机(masterfsm)来实现所述令牌与存储设定的传输指令库的比较,且将令牌与存储设定的传输指令进行比较时,还判断该令牌是否有误,若有误,则发出令牌错误中断通知外围cpu,并清空第一先进先出存储器(tx_fifo)。所述令牌有误的判定方式为:若当前需传输的信息中的令牌对应存储的传输指令为发数据指令,下一个需传输的信息中的令牌对应存储的传输指令为收数据指令,则判定下一个需传输的信息中的令牌有误;或者若当前需传输的信息中的令牌对应存储的传输指令为收数据指令,下一个需传输的信息中的令牌对应存储的传输指令为发数据指令,则判定下一个需传输的信息中的令牌有误。

本发明中,时钟周期是由系统时钟分频而来,并通过时钟产生单元(sclgenerateunit)产生,由于它的频率由系统时钟和分频值决定,其中,分频值从寄存器中获得。初始时的时钟为复位状态,如设为高电平,计数器以系统时钟进行加一计数,当计数器的值达到分频值的二分之一时,令时钟翻转,如变为低电平,当计数值递增至于分频值相等时,时钟进入复位状态,且计数器清零。本发明的主设备状态机(masterfsm)获取第一先进先出存储器(tx_fifo)的状态,在第一先进先出存储器(tx_fifo)为空时,判断该段信息传输结束,并产生sclmask信号,且将该sclmask信号发送到时钟产生单元(sclgenerateunit)。时钟产生单元(sclgenerateunit)收到该sclmask信号后,停止产生scl时钟,并回到复位状态。另外,时钟产生单元还会根据发数据指令和收数据指令而改变时钟的沿变信息,依据dbi协议,数据线(sda)zaiscl的上升沿处被采样,在scl的下降处变化,因此,本发明在下降沿将用于发数据,上升沿用于收数据。

本发明中,在第一先进先出存储器(tx_fifo)为非空状态,即第一先进先出存储器(tx_fifo)中有令牌时,dbi开始进行数据传输;在第一先进先出存储器(tx_fifo)为空时表示传输结束,并等待下一个令牌的到来。本发明还通过第一移位寄存器(tx_shiftunit)实现数据的并串转换,且数据在scl的下降沿处转换,产生的串行数据将作为输出。具体的,本发明通过主设备状态机产生tx_load_enable信号,并将该tx_load_enable信号传送到第一移位寄存器(tx_shiftunit),该第一移位寄存器(tx_shiftunit)收到该tx_load_enable信号后,将从第一先进先出存储器(tx_fifo)中获取新的数据。其中,tx_load_enable信号的产生条件如下:(1)第一先进先出存储器(tx_fifo)非空,即第一先进先出存储器(tx_fifo)中尚有数据;(2)已完成当前数据的并串转换。另外,主设备状态机还在每一个scl的下降沿处产生一个tx_shift_en信号,第一移位寄存器(tx_shiftunit)通过该tx_shift_en信号后驱动数据的并串转换。

本发明中,将采集的外界从设备传送的数据传送到第二移位寄存器(rx_shiftunit),所述第二移位寄存器(rx_shiftunit)获取该数据,并进行串并转换,且将该转换后的并行数据传送到第二先进先出存储器(rx_fifo),以使外界cpu可通过寄存器单元读取该并行数据。具体的,完成一个数据包的采样后(一个数据包8bit,采样8次表示一个数据包采样完成),主设备状态机产生rx_load_enable信号来通知第二移位寄存器(rx_shiftunit)将数据送往第二先进先出存储器(rx_fifo),同时,第二移位寄存器(rx_shiftunit)准备进行下一个数据包的采样。另外,主设备状态机还在每一个scl的上升沿处产生一个tx_shift_en信号,第二移位寄存器(rx_shiftunit)通过该tx_shift_en信号后驱动数据的串并转换。

请参阅图3,其为本发明实施例中dbi的数据传输的原理图。

本发明还提供一种dbi的数据传输系统,包括总线接口(businterfaceunit)、寄存器单元(registerunit)、时钟产生单元(sclgenerateunit)、主设备状态机(masterfsm)、第一先进先出存储器(tx_fifo)、第二先进先出存储器(rx_fifo)、第一第二移位寄存器、第一移位寄存器(tx_shiftunit)和第二移位寄存器(rx_shiftunit)。

总线接口(businterfaceunit)接收cpu通过外围总线发送的信息,并对该信息进行解码,再从解码后的信息中获取有效信息,并将该有效信息存储至寄存器单元。

所述寄存器单元(registerunit)接收有效信息后,获取相关的控制信息以及需传输的信息,并将所述需传输的信息暂存至第一先进先出存储器(tx_fifo);所述需传输的信息包括数据和令牌。

所述主设备状态机(masterfsm)用于从第一先进先出存储器(tx_fifo)中获取当前需传输的信息,并识别当前需传输的信息中令牌对应的传输指令,且根据所述传输指令传输所述当前需传输中的数据。

所述主设备状态机(masterfsm)还用于:

分别提取当前需传输的信息中的数据和令牌;

将所述令牌与存储设定的传输指令库进行比较,若所述令牌对应的传输指令为发命令指令或发数据指令,则产生与所述当前需传输的信息中的数据相对应的时钟周期,且所述第一先进先出存储器(tx_fifo)将信息传输到所述第一移位寄存器;所述第一移位寄存器用于将所述当前需传输的信息中的数据转换为串行数据,且在所述时钟周期下将所述串行数据发送到外界从设备;

若所述令牌对应地传输指令为收数据指令,则产生与所述当前需传输的信息中的数据相对应的时钟周期,并将所述时钟周期提供给外界从设备,以采集外界从设备传送的数据。

在一个实施例中,寄存器单元中将定义多个寄存器。cpu发给dbi的控制信息、所需传输的数据信息,以及dbi的状态信息都将缓存在对应的寄存器中。其中,控制信息包括传输时钟(scl)的频率控制、传输模式控制(三线/四线模式、dummy/非dummy模式等)、scl的极性控制、中断使能控制、fifo的阈值大小等。主设备状态机会根据这些控制信息进行不同的操作。所述需传输的信息包括数据和令牌,同时将该需传输的信息暂存至第一先进先出存储器(tx_fifo)。所述状态信息主要包括fifo的空满状态、中断状态。实际上,寄存器模块不仅将cpu发送的需传输的数据信息暂存至第一先进先出存储器tx_fifo中,还将作为第二先进先出存储器rx_fifo与cpu之间的桥梁,实现cpu对第二先进先出存储器rx_fifo的读取。

在一个实施例中,所述传输指令库包括令牌与传输指令唯一对应存储的信息,包括:所述令牌“00”对应存储的传输指令为发命令指令、所述令牌“01”对应存储的传输指令为为发数据指令以及所述令牌“10”对应存储的传输指令为收数据指令。以2bit信息表示令牌,以准确区分指令操作。

在一个实施例中,所述主设备状态机(masterfsm)还用于判读还判断该令牌是否有误,若有误,则发出令牌错误中断通知外围总线,并清空所述第一先进先出存储器(tx_fifo);所述令牌有误的判定方式为:若当前需传输的信息中的令牌对应存储的传输指令为发数据指令,下一个需传输的信息中的令牌对应存储的传输指令为收数据指令,则判定下一个需传输的信息中的令牌有误;或者若当前需传输的信息中的令牌对应存储的传输指令为收数据指令,下一个需传输的信息中的令牌对应存储的传输指令为发数据指令,则判定下一个需传输的信息中的令牌有误。

本发明中,时钟周期是由系统时钟分频而来,并通过时钟产生单元(sclgenerateunit)产生,因而它的频率由系统时钟和分频值决定,其中,分频值从寄存器中获得。初始时的时钟为复位状态,如设为高电平,计数器以系统时钟进行加一计数,当计数器的值达到分频值的二分之一时,令时钟翻转,如变为低电平,当计数值递增至于分频值相等时,时钟进入复位状态,且计数器清零。本发明的主设备状态机(masterfsm)获取第一先进先出存储器(tx_fifo)的状态,在第一先进先出存储器(tx_fifo)为空时,判断该段信息传输结束,并产生sclmask信号,且将该sclmask信号发送到时钟产生单元(sclgenerateunit)。时钟产生单元(sclgenerateunit)收到该sclmask信号后,停止产生scl时钟,并回到复位状态。另外,时钟产生单元还会根据发数据指令和收数据指令而改变时钟的沿变信息,依据dbi协议,数据线(sda)zaiscl的上升沿处被采样,在scl的下降处变化,因此,本发明在下降沿将用于发数据,上升沿用于收数据。

本发明中,在第一先进先出存储器(tx_fifo)为非空状态,即第一先进先出存储器(tx_fifo)中有令牌时,dbi开始进行数据传输;在第一先进先出存储器(tx_fifo)为空时表示传输结束,并等待下一个令牌的到来。

本发明还通过第一移位寄存器(tx_shiftunit)实现数据的并串转换,且数据在scl的下降沿处转换,产生的串行数据将作为输出。具体的,本发明通过主设备状态机产生tx_load_enable信号,并将该tx_load_enable信号传送到第一移位寄存器(tx_shiftunit),该第一移位寄存器(tx_shiftunit)收到该tx_load_enable信号后,将从第一先进先出存储器(tx_fifo)中获取新的数据。其中,tx_load_enable信号的产生条件如下:(1)第一先进先出存储器(tx_fifo)非空,即第一先进先出存储器(tx_fifo)中尚有数据;(2)已完成当前数据的并串转换。另外,主设备状态机还在每一个scl的下降沿处产生一个tx_shift_en信号,第一移位寄存器(tx_shiftunit)通过该tx_shift_en信号后驱动数据的并串转换。

本发明中,将采集的外界从设备传送的数据传送到第二移位寄存器(rx_shiftunit),所述第二移位寄存器(rx_shiftunit)获取该数据,并进行串并转换,且将该转换后的并行数据传送到第二先进先出存储器(rx_fifo),以使外界cpu可通过寄存器单元读取该并行数据。具体的,完成一个数据包的采样后(一个数据包8bit,采样8次表示一个数据包采样完成),主设备状态机产生rx_load_enable信号来通知第二移位寄存器(rx_shiftunit)将数据送往第二先进先出存储器(rx_fifo),同时,第二移位寄存器(rx_shiftunit)准备进行下一个数据包的采样。另外,主设备状态机还在每一个scl的上升沿处产生一个tx_shift_en信号,第二移位寄存器(rx_shiftunit)通过该tx_shift_en信号后驱动数据的串并转换。

相比于现有技术,本发明通过设置第一先进先出存储器,可使cpu可以连续地向dbi写入数据,通过设置令牌,可更加准确地区分发命令、发数据和收数据的操作,操作方便,简单灵活。进一步地,通过第二先进先出存储器,使cup可连续地向dbi读取数据;通过将第一先进先出存储器和第二先进先出存储器的空满状态以中断和寄存器状态的方式反馈给cpu,以便cpu做后续处理;通过在令牌有误时,发出令牌错误中断通知外围cpu,并清空第一先进先出存储器,以实现数据的有效实时传输。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1