一种I2S主从模式控制电路的制作方法

文档序号:32761291发布日期:2022-12-31 09:54阅读:452来源:国知局
一种I2S主从模式控制电路的制作方法
一种i2s主从模式控制电路
技术领域
1.本实用新型涉及i2s设备技术领域,尤其是一种i2s主从模式控制电路。


背景技术:

2.i2s(inter—ic sound)总线,又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。i2s有3个主要信号:1、串行时钟sclk,也叫位时钟bclk,即对应数字音频的每一位数据,sclk都有1个脉冲,sclk的频率=2
×
采样频率
×
采样位数;2、帧时钟lrck,也称ws,用于切换左右声道的数据,lrck为“1”则表示正在传输的是右声道数据,为“0”则表示正在传输的是左声道数据,lrck的频率等于采样频率;3、串行数据sdata,就是用二进制补码表示的音频数据。
3.在i2s总线中,任何设备都可以通过提供必需的时钟信号成为系统的主导设备(即主机),而从属设备(即从机)通过外部时钟信号来得到它的内部时钟信号,也就是说任何设备既可以作为主机,也可以作为从机。然而,现有的音频处理芯片普遍仅支持一种芯片外设。在芯片设计时,将芯片外设设计成主机后,将不能再应用于从机模式;将芯片外设设计成从机后,也将不能再应用于主机模式。


技术实现要素:

4.针对现有芯片仅支持一种芯片外设的问题,本实用新型提供一种i2s主从模式控制电路,将i2s主机和i2s从机封装到一起,并通过同步时序逻辑电路实现主从模式的切换。
5.一种i2s主从模式控制电路,主要由i2s主机模块、i2s从机模块、时钟产生单元构成;所述时钟产生单元用于产生串行时钟sclk,并通过ahb总线连接soc处理器;所述i2s主机模块和所述i2s从机模块经过选择开关接入apb总线,通过apb总线连接soc处理器;选择开关由主从选择位控制,当主从选择位=1时选通i2s主机模块,当主从选择位=0时选通i2s从机模块,主从选择位位于系统配置寄存器中,由soc处理器通过ahb总线传输至所述时钟产生单元;所述i2s主机模块和所述i2s从机模块的数据端口均连接输入输出配置单元,输入输出配置单元对外形成io引脚;所述输入输出配置单元由主从选择位控制,当主从选择位=1时,io引脚输出串行时钟sclk和帧同步信号ws,并发送至芯片外设;当主从选择位=0时,芯片外设的串行时钟sclk和帧同步信号ws从io引脚输入。
6.进一步的,所述时钟产生单元由主从选择位控制启用和禁用,当主从选择位=1时,时钟产生单元启用,当主从选择位=0时,时钟产生单元禁用。
7.进一步的,所述时钟产生单元还用于产生主时钟,主时钟为主从选择位=1时,外部音频解码芯片的工作时钟mclk。
8.进一步的,所述时钟产生单元主要由分频器和选择器构成,晶振时钟分两路连接第一选择器,一路直接接入第一选择器,另一路通过第一分频器接入第一选择器,第一选择器根据场景需要选择后输出主时钟;主时钟一路直接输出,另一路通过第二分频器输出串行时钟并输入第二选择器,第二选择器另一路输入为芯片外设从io引脚输入的串行时钟,
第二选择器根据主从选择位选择后向芯片i2s输出正反相的串行时钟;当主从选择位=1时,第二选择器输出主时钟经过第二分频器产生的串行时钟;当主从选择位=0时,第二选择器输出芯片外设从io引脚输入的串行时钟。
9.进一步的,第一选择器的两条输入支路和主时钟通过第二分频器输出串行时钟的支路均设置有由soc处理器控制的门控开关。
10.进一步的,i2s主从模式控制电路还包括时钟复位单元,所述时钟复位单元用于选择时钟输入源,产生各路时钟对应的满足异步复位同步释放逻辑的复位信号。
11.进一步的,i2s主从模式控制电路还包括分频系数实时配置单元,用于实时更新系统配置寄存器中的分频系数。
12.本实用新型的有益效果:1、可灵活配置芯片i2s外设工作于主机模式或从机模式;2、可根据i2s工作状态产生/关断时钟信号,降低芯片功耗;3、芯片i2s外设工作于主机模式时,可通过系统配置寄存器实现对音频设备典型采样频率的实时配置。
附图说明
13.图1是实施例1中i2s主从模式控制电路的结构框图;
14.图2是实施例1中时钟产生单元的结构框图;
15.图3是实施例1中分频系数实时配置单元的结构框图;
16.图4是实施例1中分频系数实时配置时序图。
具体实施方式
17.下面结合附图和具体实施方式对本实用新型作进一步详细的说明。本实用新型的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本实用新型限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本实用新型的原理和实际应用,并且使本领域的普通技术人员能够理解本实用新型从而设计适于特定用途的带有各种修改的各种实施例。
18.实施例1
19.一种i2s主从模式控制电路,如图1所示,主要由i2s主机模块、i2s从机模块、时钟产生单元构成。参照图1所示,所述时钟产生单元输入晶振时钟i2sclk,输出串行时钟sclk和主时钟mclk,其中主时钟mclk为主从选择位=1时,外部音频解码芯片的工作时钟,主时钟并不是i2s协议中的信号,而是本实施例为了使得芯片适用于更多应用场景而特别设计的时钟。主时钟mclk的频率通常是串行时钟sclk频率的4倍。
20.图1中的主从选择位,位于系统配置寄存器中,由soc处理器配置,并通过ahb总线传输至时钟产生单元。主从选择位=1,表示芯片作为i2s主机;主从选择位=0,表示芯片作为i2s从机。
21.时钟产生单元的具体电路结构可以基于现有硬件电路实现,本实施例采用的时钟产生单元的结构框图如图2所示,主要由分频器和选择器构成。
22.晶振时钟i2s_osc_clk分两路连接第一选择器mux1,一路直接接入第一选择器mux1,另一路通过第一分频器div1接入第一选择器mux1,第一选择器mux1根据场景需要选择后输出主时钟i2s_mclk。
23.主时钟i2s_mclk一路直接输出i2s_mclk_out,另一路通过第二分频器div2输出串行时钟i2s_sclk_out,并将串行时钟i2s_sclk_out输入第二选择器mux2;第二选择器mux2另一路输入为芯片外设从io引脚输入的串行时钟i2s_sclk_in,第二选择器mux2根据主从选择位选择后,向芯片i2s输出正反相的串行时钟i2s_sclk、i2s_n_sclk。
24.当主从选择位=1时,第二选择器mux2输出主时钟经过第二分频器div2产生的串行时钟i2s_sclk_out;当主从选择位=0时,第二选择器mux2输出芯片外设从io引脚输入的串行时钟i2s_sclk_in。
25.图2中,第一选择器的两条输入支路和主时钟通过第二分频器输出串行时钟的支路均设置有门控开关cg,soc处理器通过配置门控开关cg,实现启用/禁用时钟,进而适时关闭时钟,达到降低功耗的效果。
26.由于芯片作为i2s从机时,接收作为i2s主机的芯片外设串行时钟即可,此时的时钟产生单元无需工作。因此,为了进一步降低功耗,所述时钟产生单元由主从选择位控制启用和禁用,当主从选择位=1时,时钟产生单元启用,当主从选择位=0时,时钟产生单元禁用。
27.主从选择位除了用于启用/禁用时钟产生单元,起到降低能耗的作用之外,还用于控制i2s主、从模块的切换。此处的主机模块、从机模块即为主机、从机之意,以模块称之,仅为区分芯片内外的i2s设备。
28.在本实施例中,主从选择位控制i2s主、从模块的切换的方式为:所述i2s主机模块和所述i2s从机模块经过选择开关接入apb总线(i2s主机模块、i2s从机模块内置apb接口),通过apb总线连接soc处理器,选择开关由主从选择位控制,当主从选择位=1时选通i2s主机模块,当主从选择位=0时选通i2s从机模块。
29.当芯片i2s工作于主机模式时,向作为i2s从机的芯片外设输出串行时钟sclk和帧同步信号ws。当soc处理器发送数据时,从i2s主机模块的发送fifo中发出数据;当soc处理器接收数据时,从i2s主机模块的接收fifo中读取数据。
30.当芯片i2s工作于从机模式时,作为i2s主机的芯片外设向作为从机的芯片i2s输入串行时钟sclk和帧同步信号ws。当soc处理器发送数据时,从i2s从机模块的发送fifo中发出数据;当soc处理器接收数据时,从i2s从机模块的接收fifo中读取数据。
31.由此可见,芯片与芯片外设连接的数据引脚需要根据芯片i2s的工作模式,在输入、输出之间切换,为此,本实施例将i2s主机模块和i2s从机模块的数据端口均连接输入输出配置单元,输入输出配置单元对外形成io引脚。
32.输入输出配置单元由主从选择位控制,当主从选择位=1时,io引脚配置为输出引脚,输出串行时钟sclk和帧同步信号ws,并发送至芯片外设;当主从选择位=0时,io引脚配置为输入引脚,芯片外设的串行时钟sclk和帧同步信号ws从io引脚输入。
33.i2s主从模式控制电路还包括时钟复位单元,所述时钟复位单元根据soc处理器通过apb总线传输来的复位信号产生i2s_osc_clk、i2s_mclk、i2s_clk等时钟对应的复位信号。
34.在数字电路中,直接在一个时钟域采样另一个时钟域中的多位数据,可能出现亚稳态的危险,数据存在出现错误的概率。为此,i2s主从模式控制电路还包括分频系数实时配置单元,用于实时更新配置寄存器中的分频系数。分频系数实时配置单元的原理图如图3
所示,分频系数实时配置时序图如图4所示。系统配置寄存器中的分频系数在ahb时钟域,soc处理器通过ahb总线实时配置寄存器。
35.参照图3,在每个hclk时钟周期对比当前周期与前一周期中的分频系数reg,若分频系数reg发生改变,则产生高脉冲div_updt信号;利用时钟i2s_clk对div_updt信号进行打拍,得到同步后的div_updt信号div_updt_synced,并作为更新标志信号,使得分频系数在更新标志信号出现之后(此时ahb时钟域的数据已经达到稳定状态)再进行配置,保证了ahb时钟域配置寄存器的多位数据稳定,从而对时钟进行安全分频。
36.显然,所描述的实施例仅仅是本实用新型的一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本实用新型保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1