CN115103291B - 一种fifo缓存控制方法、装置及系统 - Google Patents

一种fifo缓存控制方法、装置及系统 Download PDF

Info

Publication number
CN115103291B
CN115103291B CN202211034376.5A CN202211034376A CN115103291B CN 115103291 B CN115103291 B CN 115103291B CN 202211034376 A CN202211034376 A CN 202211034376A CN 115103291 B CN115103291 B CN 115103291B
Authority
CN
China
Prior art keywords
data
fifo buffer
channel type
receiving
signal
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.)
Active
Application number
CN202211034376.5A
Other languages
English (en)
Other versions
CN115103291A (zh
Inventor
林宇轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Semidrive Technology Co Ltd
Original Assignee
Nanjing Semidrive Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Semidrive Technology Co Ltd filed Critical Nanjing Semidrive Technology Co Ltd
Priority to CN202211034376.5A priority Critical patent/CN115103291B/zh
Publication of CN115103291A publication Critical patent/CN115103291A/zh
Application granted granted Critical
Publication of CN115103291B publication Critical patent/CN115103291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S1/00Two-channel systems
    • H04S1/007Two-channel systems in which the audio signals are in digital form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/15Aspects of sound capture and related signal processing for recording or reproduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

一种FIFO缓存控制方法、装置及系统,所述方法包括:接收发送时钟信号和基于发送时钟信号的发送帧选通信号;在发送帧选通信号的上升沿和下降沿前,生成发送加载信号;获取与发送加载信号的高电平信号对应的FIFO缓存器的发送缓存状态;响应于发送缓存状态为读空状态,控制发送串行接口发送替代数据;响应于发送缓存状态为未读空状态,获取待发送的第一数据的第一声道类型和FIFO缓存器上一次发送的数据的第二声道类型;根据第一声道类型和第二声道类型,确定是否向FIFO缓存器发送读使能信号。本申请的缓存控制方法,能够有效避免接收侧或发送侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量。

Description

一种FIFO缓存控制方法、装置及系统
技术领域
本申请涉及数据存储技术领域,特别是涉及一种FIFO缓存控制方法、装置及系统。
背景技术
I2S(Inter-IC Sound,集成电路内置音频)总线,是一种广泛应用于数字音频设备之间传输音频数据的总线标准。其通过将数据和时钟信号分离,并采用帧选通(WordSelect,WS)信号来区分左右声道。
I2S协议中第一帧的左声道和第一帧的右声道为第一个完整数据帧,因此约定主机和从机双方先传输左声道,再传输右声道。若有一方违反这个约定,则会导致右声道与左声道互换,从而使听到的声音发生左右声道的错位,造成通道调换。发生通道调换后,会变成第一帧的右声道和第二帧的左声道合并为一帧,第二帧的右声道和第三帧的左声道合并为第二帧,以此类推,导致每一帧左右声道的数据不匹配,从而听到错误的声音。
相关技术中,在发送侧,需要将FIFO(First In First Out,先进先出)缓存器中的并行数据转换成串行数据,并以I2S协议发送串行数据;在接收侧,将I2S的串行数据转换成并行数据后,存入FIFO缓存器中。因此,容易在发送侧或接收侧发生数据传输异常,导致I2S接口传输发生通道调换,从而使左右声道的数据不匹配,进而听到错误的声音。
发明内容
为了解决现有技术中存在的至少一个问题,本申请的目的在于提供一种FIFO缓存控制方法、装置及系统,能够有效避免接收侧或发送侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量。
为实现上述目的,本申请提供的一种FIFO缓存控制方法,包括:
接收发送时钟信号和基于所述发送时钟信号的发送帧选通信号;
在所述发送帧选通信号的上升沿和下降沿前,生成发送加载信号;
获取与所述发送加载信号的高电平信号对应的FIFO缓存器的发送缓存状态;
响应于所述发送缓存状态为读空状态,控制发送串行接口发送替代数据;
响应于所述发送缓存状态为未读空状态,获取待发送的第一数据的第一声道类型和所述FIFO缓存器上一次发送的数据的第二声道类型;
根据所述第一声道类型和所述第二声道类型,确定是否向所述FIFO缓存器发送读使能信号。
进一步地,所述根据所述第一声道类型和所述第二声道类型,确定是否向所述FIFO缓存器发送读使能信号的步骤,包括:
响应于所述第一声道类型和所述第二声道类型相同,控制所述发送串行接口发送所述替代数据;
响应于所述第一声道类型和所述第二声道类型不同,向所述FIFO缓存器发送所述读使能信号,以令所述FIFO缓存器发送所述第一数据。
更进一步地,在所述发送帧选通信号的上升沿和下降沿后,控制所述FIFO缓存器发送所述第一数据,并控制串并转换模块将所述第一数据转换为串行数据后发出。
进一步地,所述替代数据,为全0数据或所述FIFO缓存器上一次接收的数据。
进一步地,所述FIFO缓存器,为基于集成电路内置音频总线的FIFO缓存器。
为实现上述目的,本申请还提供的一种FIFO缓存控制方法,包括:
接收接收时钟信号和基于所述接收时钟信号的接收帧选通信号;
在所述接收帧选通信号的上升沿和下降沿前,生成接收加载信号;
获取与所述接收加载信号的高电平信号对应的FIFO缓存器的接收缓存状态;
响应于所述接收缓存状态为写满状态,将待接收的第二数据丢弃;
响应于所述接收缓存状态为未写满状态,获取所述第二数据的第三声道类型和所述FIFO缓存器上一次接收的数据的第四声道类型;
根据所述第三声道类型和所述第四声道类型,确定是否向所述FIFO缓存器发送写使能信号。
进一步地,所述根据所述第三声道类型和所述第四声道类型,确定是否向所述FIFO缓存器发送写使能信号的步骤,包括:
响应于所述第三声道类型和所述第四声道类型相同,将所述第二数据丢弃;
响应于所述第三声道类型和所述第四声道类型不同,向所述FIFO缓存器发送所述写使能信号,以令所述FIFO缓存器接收所述第二数据。
进一步地,所述在所述接收帧选通信号的上升沿和下降沿前,生成接收加载信号的步骤,包括:
在所述接收帧选通信号的上升沿和下降沿前,控制串并转换模块接收串行数据,并将所述串行数据转换为并行传输的所述第二数据;
生成所述接收加载信号。
为实现上述目的,本申请还提供的一种发送端的FIFO缓存控制装置,包括:
发送端接收模块,用于接收发送时钟信号和基于所述发送时钟信号的发送帧选通信号;
发送端生成模块,用于在所述发送帧选通信号的上升沿和下降沿前,生成发送加载信号;
发送端获取模块,用于获取与所述发送加载信号的高电平信号对应的FIFO缓存器的发送缓存状态;
发送端控制模块,响应于所述发送缓存状态为读空状态,控制发送串行接口发送替代数据;响应于所述发送缓存状态为未读空状态,获取待发送的第一数据的第一声道类型和所述FIFO缓存器上一次发送的数据的第二声道类型;根据所述第一声道类型和所述第二声道类型,确定是否向所述FIFO缓存器发送读使能信号。
为实现上述目的,本申请还提供的一种接收端的FIFO缓存控制装置,包括:
接收端接收模块,用于接收接收时钟信号和基于所述接收时钟信号的接收帧选通信号;
接收端生成模块,用于在所述接收帧选通信号的上升沿和下降沿前,生成接收加载信号;
接收端获取模块,用于获取与所述接收加载信号的高电平信号对应的FIFO缓存器的接收缓存状态;
接收端控制模块,响应于所述接收缓存状态为写满状态,将待接收的第二数据丢弃;响应于所述接收缓存状态为未写满状态,获取所述第二数据的第三声道类型和所述FIFO缓存器上一次接收的数据的第四声道类型;根据所述第三声道类型和所述第四声道类型,确定是否向所述FIFO缓存器发送写使能信号。
为实现上述目的,本申请还提供的一种FIFO缓存控制装置,包括:如上所述的发送端的FIFO缓存控制装置和如上所述的接收端的FIFO缓存控制装置。
为实现上述目的,本申请提供的FIFO缓存控制系统,包括:
FIFO缓存器,用于缓存数据,所述缓存数据包括发送第一数据和接收第二数据;
串并转换模块,与所述FIFO缓存器电连接;用于在所述接收第二数据前,转换出并行传输的所述第二数据,并将所述第二数据发送至所述FIFO缓存器;还用于在所述发送第一数据后,从所述FIFO缓存器接收并行传输的所述第一数据,将所述第一数据转换为串行数据并发送至发送串行接口;
FIFO缓存控制装置,与所述FIFO缓存器和所述串并转换模块分别电连接,用于进行数据缓存控制。
为实现上述目的,本申请提供的一种计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的FIFO缓存控制方法的步骤。
本申请的一种FIFO缓存控制方法、装置及系统,能够有效避免接收侧或发送侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:
图1为根据本申请一个实施例的FIFO缓存控制方法的流程图;
图2为根据本申请一个实施例的FIFO缓存控制时序图;
图3为根据本申请另一个实施例的FIFO缓存控制方法的流程图;
图4为根据本申请另一个实施例的FIFO缓存控制时序图;
图5为本申请实施例的发送端的FIFO缓存控制装置的结构框图;
图6为本申请实施例的接收端的FIFO缓存控制装置的结构框图;
图7为本申请实施例的FIFO缓存控制装置的结构框图;
图8为本申请一个实施例的FIFO缓存控制系统的结构框图;
图9为本申请另一个实施例的FIFO缓存控制系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“第二数据”、“第一数据”等概念仅用于对不同的装置、模块、单元或数据进行区分,并非用于限定这些装置、模块、单元或数据所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
下面,将参考附图详细地说明本申请的实施例。
实施例1
图1为根据本申请一个实施例的FIFO缓存控制方法流程图,下面将参考图1,对本申请的FIFO缓存控制方法进行详细描述。
在步骤101,接收发送时钟信号和基于发送时钟信号的发送帧选通信号。
具体地,帧选通信号(WS)用于区分左声道和右声道。参考图2所示,对于发送侧来说,可以通过发送时钟信号(TXCLK)采样发送帧选通信号(TXWS)。根据TXWS可以确定是通过哪个声道发送数据,如当TXWS为1时,通过左声道发送数据,当TXWS为0时,通过右声道发送数据。
在步骤102,在发送帧选通信号的上升沿和下降沿前,生成发送加载信号。
继续参考图2所示,在TXWS的上升沿和下降沿前,生成发送加载信号(txload)。txload是周期性的中间信号,即只有在产生txload的情况下,同时满足相应的控制条件,才能够从FIFO缓存器中读取数据。
在步骤103,获取与发送加载信号的高电平信号对应的FIFO缓存器的发送缓存状态。
具体地,参考图2所示,可以根据与txload的高电平信号同步的读空状态信号(txfifo_emp),获取FIFO缓存器的发送缓存状态。该发送缓存状态可以包括读空状态(当txfifo_emp为1时)和未读空状态(当txfifo_emp为0时),在读空状态下,若继续读取数据,则会造成FIFO缓存器欠载。
在步骤104,响应于发送缓存状态为读空状态,控制发送串行接口发送替代数据。
具体来说,当发送缓存状态为读空状态时,参考图2所示,在T2时刻前,txload为1时,对应的txfifo_emp为1,即发送完上一帧的左声道数据后,发送缓存状态为读空状态,若此时继续进行读操作,则会造成FIFO缓存器欠载,因此不向FIFO缓存器发送读使能信号(read),而是控制发送串行接口发送替代数据,从而避免了数据发送异常。
需要说明的是,替代数据是通过发送串行接口发送的串行数据,而不在该帧的声道周期(这一帧的左声道传输时段或右声道传播时段)向FIFO缓存器发送相应的read。其中,发送串行接口是指用于FIFO缓存控制系统与外设连接的、发送串行数据的接口。此外,本次替代数据对应的txload生成于TXWS的上升沿或下降沿前,而替代数据发送于相应的TXWS的上升沿或下降沿后,即二者不在同一声道周期。
进一步地,替代数据可以为全0数据。当将全0数据作为替代数据播放时,用户听到的是静音。此外,替代数据还可以是FIFO缓存器上一次接收的数据,此时用户会重复听到上一段声音。
在步骤105,响应于发送缓存状态为未读空状态,根据发送帧选通信号,获取待发送的第一数据的第一声道类型和FIFO缓存器上一次发送的数据的第二声道类型。
需要说明的是,第一数据为有效数据,指的是,对应TXWS的上升沿或下降沿前的txload,在TXWS的上升沿或下降沿后的声道周期中、待发送的数据。具体来说,参考图2所示,如在T3时刻前,txload为1时所对应的txfifo_emp为0,即发送缓存状态为未读空状态。此时,需要获取待发送的第一数据的第一声道类型,由于txload和相应的read生成于TXWS的上升沿或下降沿前,而数据发送于相应的TXWS的上升沿或下降沿后,因此,第一声道类型为T3至T4时段的TXWS信号的声道类型;并且,还获取FIFO缓存器上一次发送的数据的第二声道类型,即T1至T2时段的TXWS信号的声道类型。
在步骤106,根据第一声道类型和第二声道类型,确定是否向FIFO缓存器发送读使能信号。
也就是说,在FIFO缓存器处于未读空状态的情况下,基于第一数据的声道类型和FIFO缓存器上一次发送的数据的声道类型,判断是否向FIFO缓存器发送读使能信号。
在本申请的实施例中,步骤106可以包括:响应于第一声道类型和第二声道类型相同,控制发送串行接口发送替代数据;响应于第一声道类型和第二声道类型不同,向FIFO缓存器发送读使能信号,以令FIFO缓存器发送第一数据。
具体地,在FIFO缓存器处于未读空状态的情况下,参考图2所示,对于T3时刻来说,第一数据对应的发送时段是T3至T4时段,期间对应的TXWS信号为1,即第一数据的声道类型是左声道,而FIFO缓存器上一次发送数据是在T1至T2时段,期间对应的TXWS信号为1,即FIFO缓存器上一次发送的数据的声道类型也为左声道。由于第一声道类型和第二声道类型相同,无法满足左右声道交错发送,因此不向FIFO缓存器发出txread,并且,控制发送串行接口发送左声道传输的替代数据(即全0数据)。
对于T4时刻来说,T4至T5(图中未示出)时段TXWS信号为0,即第一数据的声道类型是右声道,而FIFO缓存器上一次发送的数据是在T1至T2时段,期间对应的TXWS信号为1,即FIFO缓存器上一次发送的数据的声道类型为左声道。由于第一声道类型和第二声道类型不同,能够满足左右声道交错发送,因此向FIFO缓存器发出txread,以令FIFO缓存器发送第一数据。
进一步地,在发送帧选通信号的上升沿和下降沿后,控制FIFO缓存器发送第一数据,并控制串并转换模块将第一数据转换为串行数据后发出。
也就是说,参考图2所示,于发送侧,在每帧每声道的前一个声道周期中,生成txread,若该信号对应未读空状态,且第一数据的声道类型和FIFO缓存器上一次发送的数据的声道类型不同,则在TXWS的上升沿和下降沿之前,会备好待发送的第一数据,并控制FIFO缓存器将第一数据发送至串并转换模块。而后,由串并转换模块通过内部计数器,得到每个时刻应发送的串行数据的比特位,同时将FIFO缓存器中读出的并行传输的第一数据进行移位,转换为串行数据并发出。
需要说明的是,本申请中的FIFO缓存器,可以为基于I2S总线的FIFO缓存器。
综上所述,通过接收发送时钟信号和基于发送时钟信号的发送帧选通信号,并通过在发送帧选通信号的上升沿和下降沿前,生成发送加载信号,以及通过获取与发送加载信号对应的FIFO缓存器的发送缓存状态,并响应于发送缓存状态为读空状态,控制发送串行接口发送替代数据,以及响应于发送缓存状态为未读空状态,根据发送帧选通信号,获取待发送的第一数据的第一声道类型和FIFO缓存器上一次发送的数据的第二声道类型,并根据第一声道类型和第二声道类型,确定是否向FIFO缓存器发送读使能信号。由此,能够有效避免发送侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量,尤其在FIFO存储器欠载的情况下,效果尤为明显。
实施例2
图3为根据本申请另一个实施例的FIFO缓存控制方法流程图,下面将参考图3,对本申请的FIFO缓存控制方法进行详细描述。
在步骤201,接收接收时钟信号和基于接收时钟信号的接收帧选通信号。
具体地,参考图4所示,对于接收侧来说,可以通过接收时钟信号(RXCLK)采样接收帧选通信号(RXWS),根据RXWS可以确定是通过哪个声道接收数据,如当RXWS为1时,通过左声道接收数据,当RXWS为0时,通过右声道接收数据。
在步骤202,在接收帧选通信号的上升沿和下降沿前,生成接收加载信号。
继续参考图4所示,在RXWS的上升沿和下降沿前,生成接收加载信号(rxload)。rxload是周期性的中间信号,即只有在产生rxload的情况下,同时满足相应的控制条件,才可以实现数据的接收。
在本申请的实施例中,步骤202可以包括:在接收帧选通信号的上升沿和下降沿前,控制串并转换模块接收串行数据,并将串行数据转换为并行传输的第二数据;生成接收加载信号。
具体地,于接收侧,在每帧每声道的时段中,先通过内部计数器与当前输入的串行数据(DATA)一一映射,得到输入的串行数据所对应的比特,而后将串行数据转换为并行数据,并可以在最后一个数据时刻,生成rxload。在rxload为1时,获取FIFO缓存器的接收缓存状态,而后,基于接收缓存状态,或基于接收缓存状态和通道数据类型相关信息,确定是否将上述数据写入FIFO缓存器。
在步骤203,获取与接收加载信号的高电平信号对应的FIFO缓存器的接收缓存状态。
具体地,参考图4所示,可以根据与rxload的高电平信号同步的写满状态信号(rxfifo_full),获取FIFO缓存器的接收缓存状态。该接收缓存状态可以包括写满状态(rxfifo_full为1)和未写满状态(rxfifo_full为0),在写满状态下,若继续写入数据,则会造成FIFO缓存器过载。
在步骤204,响应于接收缓存状态为写满状态,将待接收的第二数据丢弃。
具体地,参考图4所示,在T1时刻接收完了第一帧右声道数据,接收完成后,FIFO缓存器处于写满状态。在T2时刻前rxload为1时,表示需要往FIFO缓存器中写入数据,由于FIFO缓存器此时已满,因此不向FIFO缓存器发送写使能信号(write),而是将待接收的改笔左声道数据丢弃(don’t care),以避免造成FIFO缓存器过载。
在步骤205,响应于接收缓存状态为未写满状态,根据接收帧选通信号,获取第二数据的第三声道类型和FIFO缓存器上一次接收的数据的第四声道类型。
具体地,当接收缓存状态为未写满状态时,继续参考图4所示,如在T3时刻,rxfifo_full为0。此时,需要获取待接收的第二数据的第三声道类型,即通过T2至T3时段RXWS信号,判断第二数据的声道类型;并获取FIFO缓存器上一次接收的数据的第四声道类型,即根据T0(图中未示出)至T1时段所对应的RXWS信号,判断最近一次写入的数据的声道类型。
在步骤206,根据第三声道类型和第四声道类型,确定是否向FIFO缓存器发送写使能信号。
也就是说,在接收缓存状态为未写满状态的情况下,基于第二数据的声道类型和FIFO缓存器上一次接收的数据的声道类型,判断是否向FIFO缓存器发送写使能信号。
在本申请的实施例中,步骤206可以包括:响应于第三声道类型和第四声道类型相同,将第二数据丢弃;响应于第三声道类型和第四声道类型不同,向FIFO缓存器发出写使能信号,以令FIFO缓存器接收第二数据。
具体来说,在FIFO缓存器处于未写满状态的情况下,参考图4所示,对于T3时刻来说,第二数据对应的接收时段是T2至T3时段,因此第二数据的声道类型是右声道,而FIFO缓存器上一次接收数据的声道类型也为右声道。由于第三声道类型和第四声道类型相同,无法满足左右声道交错接收,因此,不向FIFO缓存器发出写使能信号,将第二数据丢弃。
对于T4时刻来说,T3至T4时段RXWS信号为1,即第二数据的声道类型是左声道,而FIFO缓存器上一次接收数据的声道类型为右声道。由于第三声道类型和第四声道类型不同,能够满足左右声道交错接收,因此,向FIFO缓存器发出写使能信号,以令FIFO缓存器接收第二数据。
根据本申请实施例的FIFO缓存控制方法,通过接收接收时钟信号和基于接收时钟信号的接收帧选通信号,并通过在接收帧选通信号的上升沿和下降沿前,生成接收加载信号,以及通过获取与接收加载信号对应的FIFO缓存器的接收缓存状态,并响应于接收缓存状态为写满状态,将待接收的第二数据丢弃,以及响应于接收缓存状态为未写满状态,根据接收帧选通信号,获取第二数据的第三声道类型和FIFO缓存器上一次接收的数据的第四声道类型,并根据第三声道类型和第四声道类型,确定是否向FIFO缓存器发送写使能信号。由此,能够有效避免接收侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量,尤其在FIFO存储器过载的情况下,效果尤为明显。
实施例3
图5为本申请实施例的一种发送端的FIFO缓存控制装置的结构框图。参考图5所示,该发送端的FIFO缓存控制装置10,包括发送端接收模块11、发送端生成模块12、发送端获取模块13和发送端控制模块14。
其中,发送端接收模块11,用于接收发送时钟信号和基于发送时钟信号的发送帧选通信号;发送端生成模块12,用于在发送帧选通信号的上升沿和下降沿前,生成发送加载信号;发送端获取模块13,用于获取与发送加载信号对应的FIFO缓存器的发送缓存状态;发送端控制模块14,响应于发送缓存状态为读空状态,控制发送串行接口发送替代数据;响应于发送缓存状态为未读空状态,根据发送帧选通信号,获取待发送的第一数据的第一声道类型和FIFO缓存器上一次发送的数据的第二声道类型;根据第一声道类型和第二声道类型,确定是否向FIFO缓存器发送读使能信号。
在本申请的实施例中,发送端控制模块14,具体用于:响应于第一声道类型和第二声道类型相同,控制发送串行接口发送替代数据;响应于第一声道类型和第二声道类型不同,向FIFO缓存器发送读使能信号,以令FIFO缓存器发送第一数据。
进一步地,发送端控制模块14,还用于:在发送帧选通信号的上升沿和下降沿后,控制FIFO缓存器发送第一数据,并控制串并转换模块将第一数据转换为串行数据后发出。
根据本申请实施例的发送端的FIFO缓存控制装置,能够有效避免发送侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量,尤其在FIFO存储器欠载的情况下,效果尤为明显。
实施例4
图6为本申请实施例的接收端的FIFO缓存控制装置的结构框图。参考图6所示,该接收端的FIFO缓存控制装置20,包括接收端接收模块21、接收端生成模块22、接收端获取模块23和接收端控制模块24。
其中,接收端接收模块21,用于接收接收时钟信号和基于接收时钟信号的接收帧选通信号;接收端生成模块22,用于在接收帧选通信号的上升沿和下降沿前,生成接收加载信号;接收端获取模块23,用于获取与接收加载信号对应的FIFO缓存器的接收缓存状态;接收端控制模块24,响应于接收缓存状态为写满状态,将待接收的第二数据丢弃;响应于接收缓存状态为未写满状态,根据接收帧选通信号,获取第二数据的第三声道类型和FIFO缓存器上一次接收的数据的第四声道类型;根据第三声道类型和第四声道类型,确定是否向FIFO缓存器发送写使能信号。
在本申请的实施例中,接收端控制模块24,具体用于:响应于第三声道类型和第四声道类型相同,将第二数据丢弃;响应于第三声道类型和第四声道类型不同,向FIFO缓存器发出写使能信号,以令FIFO缓存器接收第二数据。
在本申请的实施例中,接收端控制模块24,具体用于:在接收帧选通信号的上升沿和下降沿前,控制串并转换模块接收串行数据,并将串行数据转换为并行传输的第二数据。
根据本申请实施例的接收端的FIFO缓存控制装置,能够有效避免接收侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量,尤其在FIFO存储器过载的情况下,效果尤为明显。
实施例5
图7为本申请实施例的一种FIFO缓存控制装置的结构框图。参考图7所示,该FIFO缓存控制装置30,包括发送端的FIFO缓存控制装置10和接收端的FIFO缓存控制装置20。其中,发送端的FIFO缓存控制装置10包括发送端接收模块11、发送端生成模块12、发送端获取模块13、发送端控制模块14;接收端的FIFO缓存控制装置20包括接收端接收模块21、接收端生成模块22、接收端获取模块23和接收端控制模块24。
需要说明的是,前述对FIFO缓存控制方法实施例的解释说明也适用于对应的FIFO缓存控制装置实施例,原理相同,此处不再赘述。
根据本申请实施例的FIFO缓存控制装置,能够有效避免在接收侧和发送侧发生数据传输异常,使得接收侧和发送侧的数据传输不会发生通道调换,确保了左右声道的数据匹配。尤其在FIFO存储器过载和欠载的情况下,效果尤为明显。
实施例6
图8为本申请一个实施例的FIFO缓存控制系统的结构框图。参考图8所示,该FIFO缓存控制系统1,包括上述实施例中的FIFO缓存控制装置100、FIFO缓存器200和串并转换模块300。
其中,FIFO缓存器200,用于缓存数据,缓存数据包括发送第一数据和接收第二数据;串并转换模块300,与FIFO缓存器200电连接;用于在FIFO缓存器200接收第二数据前,转换出并行传输的第二数据,并将第二数据发送至FIFO缓存器200;还用于在FIFO缓存器200发送第一数据后,从FIFO缓存器200接收并行传输的第一数据,将第一数据转换为串行数据并发送至发送串行接口;FIFO缓存控制装置100,与FIFO缓存器200和串并转换模块300分别电连接,用于进行数据缓存控制。
根据本申请实施例的FIFO缓存控制系统,能够有效避免接收侧或发送侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量。尤其在FIFO存储器过载或欠载的情况下,效果尤为明显。
实施例7
图9为本申请另一个实施例的FIFO缓存控制系统的结构框图。参考图9所示,该FIFO缓存控制系统1,包括发送部分和接收部分。
其中,发送部分包括发送端的FIFO缓存控制装置10、发送端的FIFO缓存器50和发送端的串并转换模块70。具体地,发送端的FIFO缓存控制装置10,用于接收TXWS和TXCLK,并向发送端的FIFO缓存器50发送read,以及向发送端的串并转换模块70发送控制信号;发送端的FIFO缓存器50,用于读取第一数据;发送端的串并转换模块70,用于接收并行传输的第一数据,将第一数据转换为串行数据并发送至发送串行接口。
接收部分包括接收端的FIFO缓存控制装置20、接收端的FIFO缓存器60和接收端的串并转换模块80。具体地,接收端的FIFO缓存控制装置20,用于接收RXWS和RXCLK,并向接收端的FIFO缓存器60发送write,以及向接收端的串并转换模块80发送控制信号;接收端的FIFO缓存器60,用于写入第二数据;接收端的串并转换模块80,用于在写入第二数据前,转换出并行传输的第二数据,并将第二数据发送至接收端的FIFO缓存器60。
根据本申请实施例的FIFO缓存控制系统,能够有效避免接收侧和发送侧的数据传输发生通道调换,有助于确保左右声道的数据匹配,提高音频质量。尤其在FIFO存储器过载和欠载的情况下,效果尤为明显。
实施例8
本申请一个实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的系统中所包含的;也可以是单独存在,而未装配入该系统中。上述计算机可读存储介质承载有一个或者多个计算机指令,当上述一个或者多个计算机指令被执行时,实现上述实施例的FIFO缓存控制方法的步骤。
本申请的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本领域普通技术人员可以理解:以上仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种FIFO缓存控制方法,包括:
接收发送时钟信号和基于所述发送时钟信号的发送帧选通信号;
在所述发送帧选通信号的上升沿和下降沿前,生成发送加载信号;
获取与所述发送加载信号的高电平信号对应的FIFO缓存器的发送缓存状态;
响应于所述发送缓存状态为读空状态,控制发送串行接口发送替代数据;
响应于所述发送缓存状态为未读空状态,获取待发送的第一数据的第一声道类型和所述FIFO缓存器上一次发送的数据的第二声道类型;
根据所述第一声道类型和所述第二声道类型,确定是否向所述FIFO缓存器发送读使能信号。
2.根据权利要求1所述的FIFO缓存控制方法,其特征在于,所述根据所述第一声道类型和所述第二声道类型,确定是否向所述FIFO缓存器发送读使能信号的步骤,包括:
响应于所述第一声道类型和所述第二声道类型相同,控制所述发送串行接口发送所述替代数据;
响应于所述第一声道类型和所述第二声道类型不同,向所述FIFO缓存器发送所述读使能信号,以令所述FIFO缓存器发送所述第一数据。
3.根据权利要求2所述的FIFO缓存控制方法,其特征在于,在所述发送帧选通信号的上升沿和下降沿后,控制所述FIFO缓存器发送所述第一数据,并控制串并转换模块将所述第一数据转换为串行数据后发出。
4.根据权利要求1所述的FIFO缓存控制方法,其特征在于,所述替代数据,为全0数据或所述FIFO缓存器上一次接收的数据。
5.根据权利要求1-4中任一项所述的FIFO缓存控制方法,其特征在于,所述FIFO缓存器,为基于集成电路内置音频总线的FIFO缓存器。
6.一种FIFO缓存控制方法,包括:
接收接收时钟信号和基于所述接收时钟信号的接收帧选通信号;
在所述接收帧选通信号的上升沿和下降沿前,生成接收加载信号;
获取与所述接收加载信号的高电平信号对应的FIFO缓存器的接收缓存状态;
响应于所述接收缓存状态为写满状态,将待接收的第二数据丢弃;
响应于所述接收缓存状态为未写满状态,获取所述第二数据的第三声道类型和所述FIFO缓存器上一次接收的数据的第四声道类型;
根据所述第三声道类型和所述第四声道类型,确定是否向所述FIFO缓存器发送写使能信号。
7.根据权利要求6所述的FIFO缓存控制方法,其特征在于,所述根据所述第三声道类型和所述第四声道类型,确定是否向所述FIFO缓存器发送写使能信号的步骤,包括:
响应于所述第三声道类型和所述第四声道类型相同,将所述第二数据丢弃;
响应于所述第三声道类型和所述第四声道类型不同,向所述FIFO缓存器发送所述写使能信号,以令所述FIFO缓存器接收所述第二数据。
8.根据权利要求6所述的FIFO缓存控制方法,其特征在于,所述在所述接收帧选通信号的上升沿和下降沿前,生成接收加载信号的步骤,包括:
在所述接收帧选通信号的上升沿和下降沿前,控制串并转换模块接收串行数据,并将所述串行数据转换为并行传输的所述第二数据;
生成所述接收加载信号。
9.一种发送端的FIFO缓存控制装置,其特征在于,包括:
发送端接收模块,用于接收发送时钟信号和基于所述发送时钟信号的发送帧选通信号;
发送端生成模块,用于在所述发送帧选通信号的上升沿和下降沿前,生成发送加载信号;
发送端获取模块,用于获取与所述发送加载信号的高电平信号对应的FIFO缓存器的发送缓存状态;
发送端控制模块,响应于所述发送缓存状态为读空状态,控制发送串行接口发送替代数据;响应于所述发送缓存状态为未读空状态,获取待发送的第一数据的第一声道类型和所述FIFO缓存器上一次发送的数据的第二声道类型;根据所述第一声道类型和所述第二声道类型,确定是否向所述FIFO缓存器发送读使能信号。
10.一种接收端的FIFO缓存控制装置,其特征在于,包括:
接收端接收模块,用于接收接收时钟信号和基于所述接收时钟信号的接收帧选通信号;
接收端生成模块,用于在所述接收帧选通信号的上升沿和下降沿前,生成接收加载信号;
接收端获取模块,用于获取与所述接收加载信号的高电平信号对应的FIFO缓存器的接收缓存状态;
接收端控制模块,响应于所述接收缓存状态为写满状态,将待接收的第二数据丢弃;响应于所述接收缓存状态为未写满状态,获取所述第二数据的第三声道类型和所述FIFO缓存器上一次接收的数据的第四声道类型;根据所述第三声道类型和所述第四声道类型,确定是否向所述FIFO缓存器发送写使能信号。
11.一种FIFO缓存控制装置,其特征在于,包括:权利要求9所述的发送端的FIFO缓存控制装置和权利要求10所述的接收端的FIFO缓存控制装置。
12.一种FIFO缓存控制系统,其特征在于,包括:
FIFO缓存器,用于缓存数据,所述缓存数据包括发送第一数据和接收第二数据;
串并转换模块,与所述FIFO缓存器电连接;用于在所述接收第二数据前,转换出并行传输的所述第二数据,并将所述第二数据发送至所述FIFO缓存器;还用于在所述发送第一数据后,从所述FIFO缓存器接收并行传输的所述第一数据,将所述第一数据转换为串行数据并发送至发送串行接口;
权利要求9-11中任一项所述的FIFO缓存控制装置,与所述FIFO缓存器和所述串并转换模块分别电连接,用于进行数据缓存控制。
13.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,当计算机指令运行时执行权利要求1至8中任一项所述的FIFO缓存控制方法的步骤。
CN202211034376.5A 2022-08-26 2022-08-26 一种fifo缓存控制方法、装置及系统 Active CN115103291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211034376.5A CN115103291B (zh) 2022-08-26 2022-08-26 一种fifo缓存控制方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211034376.5A CN115103291B (zh) 2022-08-26 2022-08-26 一种fifo缓存控制方法、装置及系统

Publications (2)

Publication Number Publication Date
CN115103291A CN115103291A (zh) 2022-09-23
CN115103291B true CN115103291B (zh) 2022-11-04

Family

ID=83300413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211034376.5A Active CN115103291B (zh) 2022-08-26 2022-08-26 一种fifo缓存控制方法、装置及系统

Country Status (1)

Country Link
CN (1) CN115103291B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099064A (ja) * 1998-09-22 2000-04-07 Yamaha Corp デジタルオーディオデータのデータ伝送方法
CN106936847A (zh) * 2017-04-11 2017-07-07 深圳市米尔声学科技发展有限公司 音频数据的处理方法及处理器
CN114095837A (zh) * 2021-11-26 2022-02-25 上海励驰半导体有限公司 一种避免i2s音频接口发生通道调换系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099064A (ja) * 1998-09-22 2000-04-07 Yamaha Corp デジタルオーディオデータのデータ伝送方法
CN106936847A (zh) * 2017-04-11 2017-07-07 深圳市米尔声学科技发展有限公司 音频数据的处理方法及处理器
CN114095837A (zh) * 2021-11-26 2022-02-25 上海励驰半导体有限公司 一种避免i2s音频接口发生通道调换系统

Also Published As

Publication number Publication date
CN115103291A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
TW200532457A (en) Lane to lane deskewing via non-data symbol processing for a serial point to point link
KR20160053940A (ko) 단일 마스터 버스 아키텍처에서 작동하도록 다수의 마스터를 인에이블하기 위한 방법 및 장치
US20150120964A1 (en) Peripheral device complying with sdio standard and method for managing sdio command
JP2018509710A (ja) 共有マルチモードバスを介したレガシーデバイスと次世代デバイスの共存のためのフェアウェルリセットおよび再開方法
JP4883520B2 (ja) メモリ制御装置およびメモリ制御方法
CN114286035B (zh) 图像采集卡、图像采集方法及图像采集系统
CN115103291B (zh) 一种fifo缓存控制方法、装置及系统
CN104113933B (zh) 一种信息传输方法、装置和移动终端
JP3633507B2 (ja) データ転送処理装置、データ転送方法およびデータ転送プログラム
TWI446766B (zh) 管理執行之方法及具有執行管理能力之裝置
JP4212508B2 (ja) パケット生成装置
CN107357547B (zh) 一种音频控制方法、音频控制装置及音频设备
EP2382596A1 (en) A data processing apparatus for segmental processing of input data, systems using the apparatus and methods for data transmittal
CN105718401A (zh) 一种多路smii信号到一路mii信号的复用方法及系统
US20180018296A1 (en) Flow control protocol for an audio bus
US11706273B2 (en) Host communication circuit, client communication circuit, communication system, sound reproducing device and communication method
TWI831474B (zh) 電子裝置以及控制方法用以管理封包緩衝的可用指標
CN110601784B (zh) Tdm接口扩展方法及装置、设备、可读存储介质
CN117032598B (zh) Yuv视频传输系统、基板管理控制器、方法、设备和介质
EP3726393B1 (en) Host communication circuit, client communication circuit, communication system, sound reproducing device and communication method
US20230397119A1 (en) Communication device, communication method, program, and communication system
WO2021111903A1 (ja) 受信端末および方法
JP2007329670A (ja) データ受信装置およびデータ受信方法
JP5994475B2 (ja) 通信装置
CN114564441A (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
GR01 Patent grant
GR01 Patent grant