一种多核共用单一edma通道的方法

文档序号:9727268阅读:577来源:国知局
一种多核共用单一edma通道的方法
【技术领域】
[0001]本发明涉及一种数字通信技术领域,特别涉及一种多核共用单一EDMA通道的方法。
【背景技术】
[0002]单核DSP已经不能满足数字通信领域的发展需求,多核DSP芯片应运而生,在通信领域得到迅猛发展,获得广泛应用。本发明对多核DSP芯片约定如下:共有N个核,记为Core'Core2…C0reN;共有L个硬件信号量HwSem,硬件信号量是一种互斥信号量,用于同一资源多核访问保护;共有Μ个共用接口,记为Interface1、Interface2、…、Interfaced共有X个EDMACC(EDMA Channel Control,即为EDMA通道控制器),记为EDMACC1、EDMACC2...EDMACCX ;第 x 个EDMACC共有 xH个EDMA 通道,记为 Channelx-1、Channelx-2 …Channelx-H ;共有 Y 个EDMA Shadow Reg1n (EDMA 影区),记为 Reg1n^Reg1nL.Reg1nY;与公共接口 Interface?数据发送绑定的EDMA通道记为Channel11。其中N、M、X、Y、H、L、m、h都是自然数,N22,M2 1,X> 1,Y2 1,H2 1,L2l,xH2h> 1。
[0003]EDMA是Enhanced Direct Memory Access的缩写,即增强型直接存储访问,能够完成数据快速搬移,工作过程无需CPU介入。为减轻CPU负荷,同时满足数据的快速收发存储,嵌入式系统设计广泛采用将芯片数据收发端口与EDMA绑定,实现协同工作。EDMA资源主要包括EDMA Channel及配置参数PaRAMADMA的使用具有极高的灵活性,同一个EDMACC中的EDMA资源之间可以使用Link和Chain方法,不同EDMACC中的EDMA资源之间可以使用ShadowReg1n方法。Link方法是指在EDMA通道Channel1按照配置信息传输完毕时,会将Link指向的配置信息复制过来,按照Link指向的配置信息进行新的传输。Chain方法是指在EDMA通道Channel1按照配置信息传输完毕时,产生EDMA通道Channel.3的事件,开始Channel.3的传输,其中,Η2 i, j > loShadow Reg1n方法可将位于EDMACCxl的通道Channelxl-U和位于EDMACCx2的通道Channelx2-v可以配置到同一Reg1n5^,但同一EDMA Channel不能同时配置到两个Reg1n中,通道Channelxl-11 和通道Channelx2-v产生的中断记为Interruptxl-1PInterruptx2-y,Interruptxl-\和Interruptx2-\可以合并为一个中断,记为Interrupty,Interrupty只能送给一个核,记为Coren,其中X 之 xUx2 > 1 ,xiH > u > 1 ,X2H > v > 1 ,Y > y > 1 ,N > n > 1。通过将Core和Shadow Reg1n进行一对一映射,并将单个核中所用EDMA资源配置到同一ShadowReg1n中,因不同核访问不同的Shadow Reg1n,不同Shadow Reg1n中的EDMA资源不同,这就避免了EDMA资源的多核访问冲突。这也造成了在使用Shadow Reg1n方法时,与共用接口Interfaceljf据发送绑定的EDMA Channelh只能配置到其中一个Shadow Reg1n中,记为Reg1nk,与Reg1nk映射的核称为主核,其它核称为从核。EDMA PaRAM可以根据需要进行配置,有一种特殊的配置称为Dummy PaRAM,Dummy PaRAM方法是保证EDMA PaRAM中的ACNT、BCNT和CCNT三个计数至少有一个计数是0,一个计数非0,用来传输0个字节数据,并能根据配置信息正常产生中断或者Chain事件。
[0004]EDMA使用方法在201510024762.X(—种EDMA控制器分离式并行数据通道的设计方法)、201510123172.2 (—种多核DSP系统中EDMA控制器并行控制的方法)等中国专利中已经涉及,但是在所有现有方法中并未涉及多核如何共用单一 EDMA通道达到共用接口充分利用的方法,同时做到避免EDMA资源多核访问冲突和避免发送需经核间转发,则是现有技术中亟待解决的问题。

【发明内容】

[0005]本发明的目的在于克服现有技术的缺点与不足,提供一种多核共用单一EDMA通道的方法,该方法解决了芯片设计时将共用接口与单一 EDMA通道绑定可能引起多核共用此接口造成的资源访问冲突问题,并能做到每个核可以直接通过EDMA通道实现数据发送,无需核间转发,简化了数据发送流程。
[0006]本发明的目的通过下述技术方案实现:一种多核共用单一EDMA通道的方法,包括以下步骤:
[0007]步骤1、分配EDMA Channelh和硬件信号量HwSemh到主核,分配EDMA Channels到从核,并初始化EDMA Channel11、硬件信号量HwSemh和EDMA Channels;所述EDMA Channelh为与共用接口绑定的用于进行数据传输的EDMA通道,所述EDMA Channels为分配给从核的用于进行数据传输的EDMA通道;
[0008]步骤2、主核和从核通过硬件信号量申请EDMA Channel;
[0009]步骤3、申请到EDMA Channelh的主核或者从核配置PaRAM;
[0010]步骤4、使能EDMA进行数据传输,并接收数据传输完毕所产生的EDMA中断;
[0011 ]步骤5、数据传输完毕后,释放硬件信号量HwSemh和PaRAM资源。
[0012]本发明使用了Chain方法和Dummy PaRAM方法,并配合HwSem方法,可以在使用Shadow Reg1n的前提下,无需核间转发,大大简化了数据的发送流程。
[0013]为了EDMA资源的多核访问冲突,在步骤2中,所有核包括主核和从核必须先获取到硬件信号量HwSemh后才能使用Channelh资源,保证了在同一时刻只有一个核能申请到EDMAChannelh0
[0014]为便于使用Link和Chain方法,在步骤1中,所述EDMA Channels与EDMA Channelh位于同一EDMACC中。
[0015]在步骤3中,对申请到EDMA Channelh的主核配置的PaRAM资源为PaRAMh,所述PaRAMh用于使能EDMA在数据发送完毕后产生与EDMA Channelh对应的中断;对申请到EDMAChannelh的从核配置的PaRAM资源包括PaRAMh和PaRAMs,所述PaRAMh用于使能主核在数据发送完毕后产生Channel3事件,使能Channe 13数据传输,所述PaRAMs配置成Dummy PaRAM,用于数据发送完毕后产生与EDMA Channels对应的中断。
[0016]所述步骤4中,主核在数据传输中,EDMA根据PaRAMh的配置进行数据搬移,主核数据传输完毕后,进入中断处理程序,释放硬件信号量,让从核利用EDMA Channelh进行数据发送;从核在数据传输中,EDMA根据PaRAMh的配置进行数据搬移,并在PaRAMh的数据搬移完成后,发出chain Event信号,使能行工作,当Dummy PaRAM处理完毕后,产生与EDMA Channel3对应的中断,从核接收Channel3产生的中断,进入中断处理程序,释放硬件信号量,让其它核利用EDMA Channelh进行数据发送。
[0017]本发明同时采用Shadow Reg1n方法、Chain方法、Dummy PaRAM方法和HwSem方法。采用Shadow Reg1n方法和HwSem方法对EDMA资源做多核保护,避免资源访问冲突。采用Chain方法和Du_y PaRAM方法可以解决只有主核可以收到EDMA Channelh数据发送完毕产生的EDMA中断,从核获取不了中断信息的问题。
[0018]本发明相对于现有技术具有如下的优点及效果:
[0019]1、本发明充分利用EDMA配置的灵活性,省去从核通过共用接口 Interface向外发
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1