基于现场可编程门阵列的串并行协议转换装置的制作方法

文档序号:6481583阅读:437来源:国知局
专利名称:基于现场可编程门阵列的串并行协议转换装置的制作方法
技术领域
本发明涉及半导体集成电路,应用于语音通讯及处理领域。能将串行的SPI总线协议与 I2S总线协议转换成并行总线协议,从而降低系统中语音处理芯片的资源开销。
背景技术
在多媒体音频设计中,经常涉及到模数转换芯片(CODEC)芯片与语音处理芯片(MCU) 之间的通信。 一般音频处理的CODEC芯片会使用I2S (Inter-IC Sound片内音频)总线来 传输音频数据,SPI (高速同步串行口)总线作为控制协议来进行与MCU芯片之间的通信。 然而,很多MCU芯片并没有I2S及SPI总线控制器。因此,经常需要用软件方法来实现通讯 的目的。这样做不仅要求MCU要有较高的频率,并且极大耗费MCU的资源,同时稳定性、可 靠性方面都有所欠缺。为此,通过硬件的方法来实现这样的系统,可以避免上述问题,并适 应普遍应用的场合,提高音频处理的速度。

发明内容
技术问題本发明的目的就是提供一个基于现场可编程门阵列的串并行协议转换装置, 来将I2S、 SPI总线转换成MCU常用的SDRAM (同步动态随机存储器)并行总线协议。这样 可以加快MCU访问CODEC芯片数据的速度,同时也提高了电路的可靠性。
技术方案本发明由下列部分组成SDRAM时序解析模块,协议配置模块,I2S协议解 析模块,SPI协议解析模块,时钟模块,中断处理模块,且都是基于现场可编程门阵列(FPGA) 实现。
SDRAM时序解析模块为外部并行数据处理部分,接收从外部MCU来的并行总线数据信号, 转换为串行信号后通过内部串行数据总线向协议配置模块输出。协议配置模块为数据格式配 置部分,分辨经SDRAM时序解析模块所转换后的数据为I2S或者SPI数据,并根据判别结果 分别向I2S协议解析模块和SPI协议解析模块输出。I2S协议解析模块为I2S串行协议数据 处理部分,将串行数据整理成为符合I2S协议的格式后向外部I2S芯片输出;并通过内部中 断线与中断处理模块相连,通过内部时钟数据线与时钟模块相连。SPI协议解析模块为SPI 串行协议数据处理部分,将串行数据整理成为符合SPI协议的格式后向外部I2S芯片输出, 从而起到配置作用。时钟模块为I2S时序时钟产生部分,并将产生的时钟信号向外部I2S 芯片传输。中断处理模块为外部中断信号产生部分,当发生数据协议转换事件时,产生外部 中断并向MCU输出,以提示事件发生。
基于FPGA (现场可编程门阵列)实现了串行协议与并行协议之间的相互转换功能。串行协议转换为并行协议的过程,是串行的12S信号输入到FPGA芯片后依次经过芯片内的I2S
协议解析模块和SDRAM时序解析模块之后再转换成并行的16位数据,存储在系统中, 等待MCU来读取数据。而并行协议转换为串行协议的过程则是待MCU将数据写入FPGA内的 SDRAM时序解析模块后,再通过I2S协议解析模块转换成串行数据,输出到CODEC芯片。 并行协议转换为串行协议的流程
首先MCU设置FPGA的协议配置模块中的寄存器,选择打开SPI模块或I2S模块。接下 来MCU将16位数据写入FPGA的SDRAM时序解析模块中,可以是I2S数据或SPI数据。如果 选择打开SPI模块,时钟产生模块产生SPI的时钟信号,并按照相应的协议在SPI时钟的上 升沿或下降沿送数据。
如果选择了 12S模块,系统采集CODEC产生的12S时钟信号及帧时钟,并按照协议在时 钟的上升沿或者下降沿送数据到数据线上。 串行协议转换为并行协议的流程
串转并只需要使用到I2S模块,因为在这里SPI协议是作为控制协议使用的。首先I2S 模块按照I2S协议采集数据,每转换16位数据就提示中断产生模块产生中断。MCU在读数 据之前需要读中断产生模块的寄存器来清除中断。
本发明的原理是
在MCU与CODEC通信的过程中,经常使用的串行协议有SPI, I2S和I2C等。人所能接受 的音频采样率不能低于8K,这就决定了 I2S的帧时钟不能低于8K,而按16位采样的音频数 据,其数据时钟最小频率为帧时钟的16倍。因此在实际的应用中,CODEC的I2S时钟频率 不会低于4M。这样的频率如果要用软件来实现I2S时钟的采样的话,MCU时钟最小需要8M, 才能采到I2S时钟的跳变沿。而实际情况可能需要更高的频率。同时在做I2S解析的时候耗 费掉这么多的资源,就只剩下很少的资源来完成音频处理,操作系统等必要的工作。因此, 如果MCU不具备响应的协议解析的模块,那只有使用高频率的MCU,并用软件来实现,或者 加一块协处理器专门来做协议的解析工作。但是这样的做法都会增加很多的硬件成本。考虑 到软件实现的复杂性和成本的控制,本发明使用FPGA来实现串并转换的功能,不仅解决了 速度匹配的难题,同时由于使用的FPGA在性能上要求并不高,使得成硬件成本得到很好的 控制。
有益效果本发明使用FPGA来完成串并协议的转换工作,具有速度快,成本低等优点。 使得传统上需要耗费大量MCU资源的协议转换工作得以脱离MCU,而使用集成电路来解决这 一难题。


图l为本发明的总体框图,图中有SDRAM时序解析模块l、协议配置模块2、 12S协 议解析模块3、 SPI协议解析模块4、时钟模块5、中断处理模块6。 图2: FPGA内部模块示意图, 图3: FPGA外部接口定义图, 图4: 12S写时序图。下面结合具体的实施案例对本发明做迸一步详细说明
按图1所示,结合本发明所实现的音频处理系统是将两块CODEC芯片与FPGA芯片连接, 通过FPGA的内部模块,转换成MCU能够识别的SDRAM并行协议,由MCU来读取数据,同时 MCU送来的并行数据由I2S模块转换成I2S串行协议。
FPGA芯片采用Altera公司的MAX II EPM240,内部包括SDRAM时序解析模块,协议配 置模块,12S协议解析模块,SPI协议解析模块,时钟模块,中断处理模块。
两块CODEC芯片采用TI公司的TLV320AIC23B (数模/模数转换)芯片,此芯片使用SPI 或I2C协议作为控制协议,写控制寄存器,本发明采用SPI协议。此芯片音频输出使用I2S 协议,数据时钟为12. 288M,采样率为8K。 MCU使用东南大学SEP3203处理器。
FPGA软件编程说明
FPGA的综合软件使用Syplify pro 8.0,仿真及下载使用Alrera公司的Quartus II。 使用Verilog语言编写。FPGA内部模块如图2所示。下面分模块介绍本发明的设计思想。 协议配置模块包括I2S禁用及使能,SPI模块的禁用及使能。
中断模块I2S模块每转换16位数据,将会启动中断模块产生一个低电平的中断。这 个低电平将会一直持续,直到MCU来读取中断寄存器。中断寄存器将会返回产生此次中断的 帧时钟信号是高电平或低电平。其设计原因是因为FPGA内部仅有240个LE,为了节省寄存 器,本发明中左右声道共享一个寄存器,因此设置一个标志来表明中断发生时是左声道还是 右声道。
12S模块此模块使用TLV320AIC23B提供的12.288M时钟来进行数据采样,8K的帧时 钟来启动此模块。此模块分为两个部分,接收部分在帧时钟的跳变沿启动,采样16位数据 之后将移位寄存器内数据锁存到FIFO中,同时启动中断模块来通知MCU,等待MCU来读取。 发送部分也是在帧时钟的跳变沿启动,将发送寄存器数据分16个时钟周期送出,然后停止, 等待下一个帧时钟跳变沿的到来。时序图如图4所示。
SPI模块此模块与I2S的发送模块相似。每次配置既存器中SPI使能位被置位时启动 此模块,将寄存器中的数据按位输出之后停止。此模块使用时钟模块产生的时钟作为SCK 信号的输出。
SDRAM模块由于SEP3203支持SDRAM协议,因此本发明解析SDRAM并行协议作为高速 的数据输入。
时钟模块此模块将输入的12. 288MHz的时钟信号进行8分频。作为SPI的时钟输出,
此SCK时钟大约为1.5MHz 。
该装置包括SDRAM时序解析模块l、协议配置模块2、 12S协议解析模块3、 SPI协议解
析模块4、时钟模块5、中断处理模块6,且都是基于现场可编程门阵列FPGA实现;
所述SDRAM时序解析模块l,为外部并行数据处理部分,接收从外部语音处理芯片MCU
来的并行总线数据信号,转换为串行信号后通过内部串行数据总线向协议配置模块2输出; 所述协议配置模块2,为数据格式配置部分,分辨经SDRAM时序解析模块l所转换后的
数据为I2S或者SPI数据,并根据判别结果分别向I2S协议解析模块3和SPI协议解析模块4输出;
所述I2S协议解析模块3,为I2S串行协议数据处理部分,将串行数据整理成为符合I2S 协议的格式后向外部12S芯片输出;并通过内部中断线与中断处理模块6相连,通过内部时 钟数据线与时钟模块5相连;
所述SPI协议解析模块4,为SPI串行协议数据处理部分,将串行数据整理成为符合SPI 协议的格式后向外部I2S芯片输出,从而起到配置作用;
所述时钟模块5,为I2S时序时钟产生部分,并将产生的时钟信号向外部I2S芯片传输;
所述中断处理模块6,为外部中断信号产生部分,当发生数据协议转换事件时,产生外 部中断并向MCU输出,以提示事件发生。
以上借助较佳实施例描述了本发明的具体实施方式
,但是应该理解的是,前述具体的描 述不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对 上述实施例作出的各种修改,都属于本发明所保护的范围。
权利要求
1. 一种基于现场可编程门阵列的串并行协议转换装置,其特征在于该装置包括SDRAM时序解析模块(1)、协议配置模块(2)、I2S协议解析模块(3)、SPI协议解析模块(4)、时钟模块(5)、中断处理模块(6),且都是基于现场可编程门阵列FPGA实现;所述SDRAM时序解析模块(1),为外部并行数据处理部分,接收从外部语音处理芯片MCU来的并行总线数据信号,转换为串行信号后通过内部串行数据总线向协议配置模块(2)输出;所述协议配置模块(2),为数据格式配置部分,分辨经SDRAM时序解析模块(1)所转换后的数据为I2S或者SPI数据,并根据判别结果分别向I2S协议解析模块(3)和SPI协议解析模块(4)输出;所述I2S协议解析模块(3),为I2S串行协议数据处理部分,将串行数据整理成为符合I2S协议的格式后向外部I2S芯片输出;并通过内部中断线与中断处理模块(6)相连,通过内部时钟数据线与时钟模块(5)相连;所述SPI协议解析模块(4),为SPI串行协议数据处理部分,将串行数据整理成为符合SPI协议的格式后向外部I2S芯片输出,从而起到配置作用;所述时钟模块(5),为I2S时序时钟产生部分,并将产生的时钟信号向外部I2S芯片传输;所述中断处理模块(6),为外部中断信号产生部分,当发生数据协议转换事件时,产生外部中断并向MCU输出,以提示事件发生。
全文摘要
基于现场可编程门阵列的串并行协议转换装置能将音频数据的数字音频设备总线(I2S)串行协议与同步动态随机存储器(SDRAM)的并行协议经行转换。能将多媒体数字信号编解码器(CODEC)芯片采集到的串行数据输入FPGA芯片,经过芯片中各个模块的处理后,将串行数据转换为并行数据,输出到语音处理芯片(MCU)。同时将MCU芯片的并行数据输入到FPGA芯片,转化为串行信号后输出到CODEC芯片。本发明用硬件实现了串/并数据的相互转换,解决了在音频数据采集过程中数据传输的问题,降低了语音处理芯片(MCU)的负荷,同时还提高了系统整体的可靠性。
文档编号G06F13/42GK101482856SQ20091002801
公开日2009年7月15日 申请日期2009年1月5日 优先权日2009年1月5日
发明者孙华芳, 尤科剑, 锐 钟 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1