音频soc芯片的高效低功耗dma的ip结构的制作方法

文档序号:6590581阅读:297来源:国知局
专利名称:音频soc芯片的高效低功耗dma的ip结构的制作方法
技术领域
音频S0C芯片的高效低功耗DMA的IP结构
技术领域
本实用新型涉及一种多媒体芯片,特别涉及一种音频S0C芯片的高效低功耗DMA 的IP结构。
背景技术
随着微电子技术的飞速发展,集成电路规模按照摩尔定律飞速提高,片上系统 (System On Chip,简称S0C)技术成为国际超大规模集成电路的发展趋势。在S0C系统设 计中,为了能够快速、稳定的形成产品,IPdnternetProtocol网络之间互连的协议)核积 累和复用技术逐渐成为各个芯片厂商的首选。在这样的背景下,IP复用技术成为了集成电 路设计的一个重要分支,很多设计厂商在购买其它公司的IP核的同时,也越来越重视本公 司的IP核设计和积累。DMA (Direct Memory Access存储器直接访问)控制器的功能与结构是由本单位特 定的系统结构决定的。但是作为IP而言,DMA控制器又要有其一般性。DMA是指外部设备 直接对计算机存储器进行读写操作的1/0方式。这种方式下数据的读写无需CPU执行指令, 也不经过CPU内部寄存器,而是利用系统的数据总线,由外设直接对存储器写入或读出,从 而达到极高的传输速率。现在DMA也可以在内存之间或是外设之间直接进行数据操作。DMA技术的重要性在于,利用它进行数据存取时不需要CPU进行干预,可提高系统 执行应用程序的效率。利用DMA传送数据的另一个好处是数据直接在源地址和目的地址之 间传送,不需要是中间媒介。通用的DMA控制器应具有以下功能1.编程设定DMA的传输模式及其所访问内存的地址区域;2.屏蔽或接受外设或软件的DMA请求,当有多个设备同时请求时,还要进行优先 级排队,首先响应最高级的请求;3.向CPU或总线仲裁设备提出总线请求;4.接收总线响应信号,接管总线控制;5.在DMA控制器的管理下实现外设和存储器、外设和外设之间、或存储器和存储 器之间的数据直接传输。总而言之,DMA控制器一方面可以接管总线,直接在1/0接口和存储器之间进行读 写操作,即可以像CPU —样视为总线的主设备,这是DMA与其它外设最根本的区别;另一方 面,作为一个1/0器件,其DMA控制功能正式通过初始化编程来设置的,当CPU对其写入或 读出时,它又和其它的外设一样成为总线的从属器件。由于市场的细分,慢慢出现视频或者音频专用的S0C多媒体芯片,视频处理芯片 更侧重于数据搬移效率,而音频专用芯片更注重于成本和功耗,而现在的DMA多是通用型 DMA,可以用于多种场合,但是没有针对硅片面积和功耗要求十分严格的音频多媒体芯片的 DMA设计。如果将现有的通用DMA直接用于音频专用芯片,将会使功耗过大,面积成本过高; 而且没有针对音频的快速配置也会造成配置繁琐,效率低下,如图1所示在使用dma前, 通常需要对其进行初始化配置,至少要进行初始化的寄存器有起始地址,目标地址,传输数量,传输模式等多个寄存器,而且每个寄存器的配置通过总线配置通常需要4个或者更多 的时钟周期。一次标准的DMA传输任务配置至少包含传输源地址、传输目标地址、传输数据 的总长度、传输数据的位宽,传输时使用的burst类型(突发传输类型),在配置这些值的时 候,用户只能通过slave (从盘)端口一个接一个的配置,按照正常情况下对一个值的寄存 器进行一次slave的配置从申请总线到配置完毕需要4个节拍,那么配置五个寄存器则需 要20个节拍,从而造成传输效率低下。

实用新型内容本实用新型要解决的技术问题,在于提供一种音频S0C芯片的高效低功耗DMA的 IP结构,针对音频S0C进行设计,在减少面积和功耗的同时保持了高效率的传输,以适应将 来芯片发展的潮流。本实用新型是这样实现的一种音频S0C芯片的高效低功耗DMA的IP结构,包括 复数个通道,每个通道包括一通道读写控制器,其特征在于该复数个通道均连接至同一个 FIFO (First Input First Output,先进先出的数据缓存器)。本实用新型的上述技术方案还包括一个寄存器、一 AHBy slave (系统总线从盘) 端口和一 SLAVE端口 ;所述AHBy slave端口通过SLAVE端口分别与所述复数个通道的读写 控制器连接,所述寄存器再连接至所述SLAVE端口。本实用新型的上述技术方案还包括一个DMA通路选通器、至少两个AHB (Advanced High performance Bus,系统总线)master (主盘)端口、以及一总时序控制器;所述DMA通 路选通器分别与复数个通道及至少两个AHB master端口连接。其中,所述AHBy slave端口为单独设置或是采用所述AHB master端口中的一个。本实用新型的优点在于1.单FIFO多通道结构改变每个通道均使用一个FIFO的传统设计,大大减少了 芯片面积和功耗;2.同时连接多条AHB总线除了传输音频数据之外,可以同时传输lcdc,USb,i2S, i2c, sd/mmc等外设的数据;3.可以使用高效率的fly传输模式现有的DMA同一时刻只能读或者只能写,而 在fly模式下,可以在两条总线之间实现同时读写,从而大大提高了传输效率;4.寄存器的快速配置针对mp3播放小数据量多次相同配置的传输的这种特点, 设计了针对mp3数据传输的快速配置,只需要配置对应的一个寄存器,其对应的其他寄存 器可以在一个时钟周期内配置完毕,大大提高了传输效率;5.支持半传输中断,传输完成中断和错误中断,其中,半传输中断的中断产生位置 可设置;三个中断都有直接对应3bit输出位,也可以通过查询相关状态寄存器得到;6.可设置各个通道的优先级,支持传输中的高优先级通道切换,并在高优先级通 道传输完毕后返回原通道的传输;7.支持软件和硬件触发DMA传输;8.支持递增和固定地址传输方式;9.支持暂停传输和取消传输的配置。
下面参照附图结合实施例对本实用新型作进一步的说明。图1是现有的音频S0C芯片的DMA的IP结构寄存器的配置流程框图。图2是本实用新型的结构框图。图3是本实用新型单FIFO多通道结构的工作流程原理框图。图4A至图4D是FIFO空满状态示意图。图5是本实用新型寄存器的快速配置的流程框图。
具体实施方式请参阅图2所示,本实用新型的音频S0C芯片的高效低功耗DMA的IP结构10,包 括一 AHBy slave端口 1和一 SLAVE端口 2,一个寄存器3、复数个通道4,一个FIF05、一个 DMA通路选通器6、至少两个AHB master端口 7、以及一总时序控制器8,每个通道4还包括 一通道读写控制器42;所述复数个通道均连接至所述FIF05;所述AHBy slave端口 1通过 SLAVE端口 2分别与所述复数个通道4连接,所述寄存器3再连接至所述SLAVE端口 2 ;所 述DMA通路选通器6分别与复数个通道4及至少两个AHBmaster端口 7连接。其中,所述 AHBy slave端口 1为单独设置或是采用所述AHB master端口 7中的一个。各个部分的作用如下所述AHBy slave端口 1 用于对DMA进行配置和查询;所述SLAVE端口 2 用于连接集成驱动器电子设备;所述寄存器3 用户通过slave端口配置其内容,内容包含所有DMA传输的参数, 如传输的数据位宽,突发传输(burst)的长度,传输数据的总个数,每个通道的优先级等传 输信息;所述通道4 不同的通道可以传输不同的DMA任务,多个通道可以同时工作,其实 也就是多个DMA任务同时工作,工作时每个通道都有优先级;所述FIF05 用于暂存数据;所述通道读写控制器42 用于根据该通道所执行的DMA任务和该通道的优先级对 通道的读写动作进行控制;所述DMA通路选通器6 用于根据优先级和工作状态选择master和各个所述通道 读写控制器42连接;所述AHB master端口 7 用于对总线主动进行读写动作;所述总时序控制器8 用于控制整个dma的动作时序;由于memory在芯片中的面积通常占据了很大部分,所以为了达到面积和效率的 平衡,本实用新型的音频S0C芯片的高效低功耗DMA的IP结构使用了多通道共同使用一个 FIF05的结构,大大节省了 IP的面积,使用时的时序控制如下(1)由于master从总线读取的数据直接放到FIF05中,而且写到目标端的数据 也来自FIF05,所以为了在确保在通道切换的时候不会发生错误,master读写FIF05都以 burst为单位,以保证在使用权切换时,FIF05里面的数可以被及时清空而不会让切换时间 太长;(2)FIF05传输的机制在DMA被触发启动后,DMA开始申请总线进行总线读动作,
5首先必须将当前读动作的burst完成,如果在当前读burst完成时FIF05中的数据仍然不 够一次写burst,则需要继续进行读burst动作直到FIF05中的数据足够一次写burst,然 后进行写burst动作,直到FIF05中的数据都被写到目标端,此时FIF05为空;然后判断 是否有本通道暂停申请或者其他高优先级通道的使用申请,如果没有则继续进行本通道的 DMA传输;如果有的话则因为FIF05此时已空,所以可以立即进入暂停状态或者将使用权切 换到高优先级通道;(3)如果发生通道需要暂停的情况或者发生高优先级通道提出申请如图3所示, 不管在任何时候DMA被配置正在工作的通道暂停或者更高优先级的通道被触发,都将在本 通道的当前burst结束后,即FIF05中的数据已经全部传输到目的地址而且FIF05已经空 了之后进行判断;如果有其他高优先级通道需要工作则FIF05使用权被切换到高优先级通 道而此时本通道进入挂起状态,如果此时没有任何通道需要工作而本通道被配置为暂停则 整个DMA进入暂停状态;直到当前通道的恢复信号(resume)有效,当前通道在的恢复信号 (resume)有效的下一个时钟判断此时是否已经有高优先级通道正在使用FIF05,如果没有 则本通道恢复工作,向总线提出总线申请,如果有高优先级通道正在使用则进入挂起状态; 在挂起状态中,每个时钟都查询是否正在工作的高优先级通道已经传输完毕或者被暂停, 如果有的话则本通道恢复传输,如果没有则继续保持挂起状态。FIFO的空满判断因为transfer size最小为byte,所以DATA FIFO的读写指针以byte为单位。其 读写指针和读写控制信号由DMA控制逻辑控制,数据输入输出总线则与master接口模块的 数据总线相连。对于内部的读指针总是指向已读出的地址空间,进行读操作时,要先把读指针加 一,然后再从对应的位置中读取数据;对于内部的写指针,总是指向将要写入的地址空间, 写操作时,把数据写往写指针指向的地址空间。FIFO设计的关键是判断何时FIFO空或者满,如图4A至图4D,是FIFO空满状态示 意图。当rp_fifo = wp_fifo-l时,FIFO可能为满也可能为空,可根据前一个状态来判断 是空还是满;如当size_fifo_rd == "BYTE时,且满足条件rp_fifo = = wp_fifo_2,则下 一个读状态就为空,如图4A和图4B所示,同理,满状态也是类似的判断。整个系统的操作过程1.首先,在使用DMA之前需要对寄存器进行配置,而配置通过Slave模块(包括所 述AHBy slave端口和所述SLAVE端口 )实现(1)、在DMA开始前CPU通过Slave子模块对DMA内部的寄存器进行配置,主要是 对传输源地址、传输目标地址、传输数量、burst传输方式,通道优先级、硬件触发信号选择 等寄存器进行配置;(2)、在传输过程中,可以通过slave子模块查询寄存器的状态;(3)、在DMA因为传送结束或者传送出错而发出中断后,CPU通过Slave子模块对 DMA内部的中断状态寄存器进行查询,判断DMA是传送结束,还是传送出错;(4)、如果是音频硬件加速器之间的音频数据传输,可以只需要配置一个快速音频 配置寄存器来使所有寄存器快速被配置,在下一拍就可以进行传输。结合图5所示,本实用 新型对寄存器初始化时,用户可以通过slave端口对mp3快速配置位进行配置,一旦快速配 置位被配置,控制电路即根据快速配置位被配置的值对相关的寄存器在下一个节拍全部赋
6值,在下一个节拍即可以开始DMA传输任务。快速配置寄存器一共有2bit,配置值00,01, 10,11分别代表了四个常用的音频解码时的DMA任务。当该寄存器被配置后的下一拍,控制 器会自动根据配置的值将该值对应的DMA的任务的传输源地址、传输目标地址、传输数据 的总长度、传输数据的位宽、传输时使用的burst类型直接配置,而不需要用户自己再一一 配置,这样就大大减少了音频解码时的配置时间。2.然后,当寄存器配置完毕后,所述DMA通路选通器根据通道优先级和传输要使 用的总线,将总线和通道进行连接。在一个通道传输过程中如果另一个通道发起DMA传 输请求并且优先级高,则当前通道在传输完正在进行的burst传输后进入PAUSE状态,在 PAUSE状态下,保留所有寄存器的值不改变并等待继续恢复传输。当前通道进入PAUSE状态 后高优先级通道开始传输,直到当高优先级通道传输完毕后,取消原通道的PAUSE状态,恢 复原先通道传输。3.连接完成后,所述通道读写控制器开始从源地址开始读取数据,每次burst读 入的数据放入FIF05,然后再将FIF05中的数据写到目标地址,如果配置的一次读burst的 数据量大于一次写burst的数据量,DMA将会在读一次burst后,进行多次写burst直到 FIF05空;如果配置的一次写burst的数据量大于一次读burst的数据量,DMA将会进行多 次读burst操作直到FIF05中的数据够一次写burst,再进行写burst操作;例如源端的 burst xsize为burstl6 x word,目标端为burst4 x byte,则在读一次burst之后要进行 16次写burst才能将FIF05写空;反之,如果源端的burst x size为burst4 xbyte,目标 端为burstl6 x word,则需要读16次burst之后才使FIF05中的数据够一次写burst,此 时才会进行1次写操作。4.如果在传输过程中用户对DMA配置了暂停传输,DMA将会进入暂停状态,在暂 停状态下,其它通道可以继续使用。外部请求信号一共有8个,通过配置外部请求寄存器 3将请求信号对应到通道4 ;如果两个通道4对应的外部请求同时有效,则仲裁器根据优 先级选择优先级高的通道4;在传输过程中,外部请求信号上升沿有效,每个上升沿触发一 次burst,在这次burst结束后ack信号拉高三拍,然后通道4在本次burst结束后会进入 pause状态;在配置恢复传输后,如果有更高优先级的通道4正在使用,则等待高优先级通 道4传输完毕后,原通道4恢复传输;如果低优先级通道4正在传输,则会打断低优先级通 道4传输去恢复原通道4传输;如果没有其它通道4正在使用,则直接恢复原通道传输4。5.如果传输过程中,配置了取消传输,则在传输完当前的burst后DMA进入完成传 输状态。6.如果配置了传输完毕中断,在DMA将传输任务完成后会输出传输完毕中断,然 后等待新的传输任务。中断分为半传输中断、传输完毕中断,其中半传输中断的值可在ICNT 中设置。中断接口共有4个输出传输错误中断、半传输中断、传输完毕中断分别对应一个 输出;还有一个dma_int是总的中断输出,也就是三种中断的任何一个中断一出现,这个信 号就会拉高。查询中断的方法有两种直接观察三种中断对应的输出信号位;CPU获取dma_ int中断后对ISR进行查询;配置中断设置中断设置在ICON中进行,可以disable,mask; 如果disable某种中断,在中断条件满足时,对应状态寄存器不变,中断输出信号也无效; 如果enable+mask,在中断条件满足时,对应状态寄存器3变为有效,中断输出信号无效;如 果enable+immask,在中断条件满足时,对应状态寄存器3变为有效,中断输出信号有效;清
7中断在中断寄存器3或中断信号有效后,只能通过清中断使其恢复无效,清中断需要通过 配置ICR进行。需要注意的是,总中断dma_int是由半传输中断和传输完毕中断的“或”关 系决定,所以在清总中断dma_int前,必须先清引起dma_int的半传输中断或传输完毕中 断,否则清dma_int后,又会被trans_int或者halftrans_int拉高。 综上所述,本实用新型的音频S0C芯片的高效低功耗DMA的IP结构,是采用单 FIFO多通道结构,很大程度上减少了芯片面积和功耗;同时连接多条AHB总线,可以同时传 输音频数据以及lcdc,usb, i2s, i2c, sd/mmc等外设的数据;只需要配置对应的一个寄存 器,其对应的其他寄存器可以在一个时钟周期内配置完毕,大大提高了传输效率;使用高效 率的fly传输模式,可以在两条总线之间实现同时读写,从而大大提高了传输效率;支持半 传输中断,传输完成中断和错误中断;可设置各个通道的优先级,支持传输中的高优先级通 道切换,并在高优先级通道传输完毕后返回原通道的传输;支持软件和硬件触发DMA传输; 支持递增和固定地址传输方式;支持暂停传输和取消传输的配置。
权利要求一种音频SOC芯片的高效低功耗DMA的IP结构,包括复数个通道,每个通道包括一通道读写控制器,其特征在于该复数个通道均连接至同一个FIFO。
2.根据权利要求1所述的音频S0C芯片的高效低功耗DMA的IP结构,其特征在于还 包括一个寄存器、一 AHBy slave端口和一 SLAVE端口 ;所述AHBy slave端口通过SLAVE端 口分别与所述复数个通道连接,所述寄存器再连接至所述SLAVE端口。
3.根据权利要求2所述的音频S0C芯片的高效低功耗DMA的IP结构,其特征在于还 包括一个DMA通路选通器、至少两个AHB master端口、以及一总时序控制器;所述DMA通路 选通器分别与复数个通道及至少两个AHB master端口连接。
4.根据权利要求3所述的音频S0C芯片的高效低功耗DMA的IP结构,其特征在于所 述AHBy slave端口为单独设置或是采用所述AHB master端口中的一个。
专利摘要本实用新型提供了一种音频SOC芯片的高效低功耗DMA的IP结构,包括复数个通道,每个通道包括一通道读写控制器,该复数个通道均连接至同一个FIFO。其针对音频SOC进行设计,在减少面积和功耗的同时保持了高效率的传输,以适应将来芯片发展的潮流。
文档编号G06F13/28GK201583943SQ20092018342
公开日2010年9月15日 申请日期2009年10月26日 优先权日2009年10月26日
发明者廖裕民 申请人:福州瑞芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1