亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種多核共用單一edma通道的方法

文檔序號:9727268閱讀:648來源:國知局
一種多核共用單一edma通道的方法
【技術領域】
[0001]本發(fā)明涉及一種數(shù)字通信技術領域,特別涉及一種多核共用單一EDMA通道的方法。
【背景技術】
[0002]單核DSP已經不能滿足數(shù)字通信領域的發(fā)展需求,多核DSP芯片應運而生,在通信領域得到迅猛發(fā)展,獲得廣泛應用。本發(fā)明對多核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 影區(qū)),記為 Reg1n^Reg1nL.Reg1nY;與公共接口 Interface?數(shù)據(jù)發(fā)送綁定的EDMA通道記為Channel11。其中N、M、X、Y、H、L、m、h都是自然數(shù),N22,M2 1,X> 1,Y2 1,H2 1,L2l,xH2h> 1。
[0003]EDMA是Enhanced Direct Memory Access的縮寫,即增強型直接存儲訪問,能夠完成數(shù)據(jù)快速搬移,工作過程無需CPU介入。為減輕CPU負荷,同時滿足數(shù)據(jù)的快速收發(fā)存儲,嵌入式系統(tǒng)設計廣泛采用將芯片數(shù)據(jù)收發(fā)端口與EDMA綁定,實現(xiàn)協(xié)同工作。EDMA資源主要包括EDMA Channel及配置參數(shù)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據(jù)發(fā)送綁定的EDMA Channelh只能配置到其中一個Shadow Reg1n中,記為Reg1nk,與Reg1nk映射的核稱為主核,其它核稱為從核。EDMA PaRAM可以根據(jù)需要進行配置,有一種特殊的配置稱為Dummy PaRAM,Dummy PaRAM方法是保證EDMA PaRAM中的ACNT、BCNT和CCNT三個計數(shù)至少有一個計數(shù)是0,一個計數(shù)非0,用來傳輸0個字節(jié)數(shù)據(jù),并能根據(jù)配置信息正常產生中斷或者Chain事件。
[0004]EDMA使用方法在201510024762.X(—種EDMA控制器分離式并行數(shù)據(jù)通道的設計方法)、201510123172.2 (—種多核DSP系統(tǒng)中EDMA控制器并行控制的方法)等中國專利中已經涉及,但是在所有現(xiàn)有方法中并未涉及多核如何共用單一 EDMA通道達到共用接口充分利用的方法,同時做到避免EDMA資源多核訪問沖突和避免發(fā)送需經核間轉發(fā),則是現(xiàn)有技術中亟待解決的問題。

【發(fā)明內容】

[0005]本發(fā)明的目的在于克服現(xiàn)有技術的缺點與不足,提供一種多核共用單一EDMA通道的方法,該方法解決了芯片設計時將共用接口與單一 EDMA通道綁定可能引起多核共用此接口造成的資源訪問沖突問題,并能做到每個核可以直接通過EDMA通道實現(xiàn)數(shù)據(jù)發(fā)送,無需核間轉發(fā),簡化了數(shù)據(jù)發(fā)送流程。
[0006]本發(fā)明的目的通過下述技術方案實現(xiàn):一種多核共用單一EDMA通道的方法,包括以下步驟:
[0007]步驟1、分配EDMA Channelh和硬件信號量HwSemh到主核,分配EDMA Channels到從核,并初始化EDMA Channel11、硬件信號量HwSemh和EDMA Channels;所述EDMA Channelh為與共用接口綁定的用于進行數(shù)據(jù)傳輸?shù)腅DMA通道,所述EDMA Channels為分配給從核的用于進行數(shù)據(jù)傳輸?shù)腅DMA通道;
[0008]步驟2、主核和從核通過硬件信號量申請EDMA Channel;
[0009]步驟3、申請到EDMA Channelh的主核或者從核配置PaRAM;
[0010]步驟4、使能EDMA進行數(shù)據(jù)傳輸,并接收數(shù)據(jù)傳輸完畢所產生的EDMA中斷;
[0011 ]步驟5、數(shù)據(jù)傳輸完畢后,釋放硬件信號量HwSemh和PaRAM資源。
[0012]本發(fā)明使用了Chain方法和Dummy PaRAM方法,并配合HwSem方法,可以在使用Shadow Reg1n的前提下,無需核間轉發(fā),大大簡化了數(shù)據(jù)的發(fā)送流程。
[0013]為了EDMA資源的多核訪問沖突,在步驟2中,所有核包括主核和從核必須先獲取到硬件信號量HwSemh后才能使用Channelh資源,保證了在同一時刻只有一個核能申請到EDMAChannelh0
[0014]為便于使用Link和Chain方法,在步驟1中,所述EDMA Channels與EDMA Channelh位于同一EDMACC中。
[0015]在步驟3中,對申請到EDMA Channelh的主核配置的PaRAM資源為PaRAMh,所述PaRAMh用于使能EDMA在數(shù)據(jù)發(fā)送完畢后產生與EDMA Channelh對應的中斷;對申請到EDMAChannelh的從核配置的PaRAM資源包括PaRAMh和PaRAMs,所述PaRAMh用于使能主核在數(shù)據(jù)發(fā)送完畢后產生Channel3事件,使能Channe 13數(shù)據(jù)傳輸,所述PaRAMs配置成Dummy PaRAM,用于數(shù)據(jù)發(fā)送完畢后產生與EDMA Channels對應的中斷。
[0016]所述步驟4中,主核在數(shù)據(jù)傳輸中,EDMA根據(jù)PaRAMh的配置進行數(shù)據(jù)搬移,主核數(shù)據(jù)傳輸完畢后,進入中斷處理程序,釋放硬件信號量,讓從核利用EDMA Channelh進行數(shù)據(jù)發(fā)送;從核在數(shù)據(jù)傳輸中,EDMA根據(jù)PaRAMh的配置進行數(shù)據(jù)搬移,并在PaRAMh的數(shù)據(jù)搬移完成后,發(fā)出chain Event信號,使能行工作,當Dummy PaRAM處理完畢后,產生與EDMA Channel3對應的中斷,從核接收Channel3產生的中斷,進入中斷處理程序,釋放硬件信號量,讓其它核利用EDMA Channelh進行數(shù)據(jù)發(fā)送。
[0017]本發(fā)明同時采用Shadow Reg1n方法、Chain方法、Dummy PaRAM方法和HwSem方法。采用Shadow Reg1n方法和HwSem方法對EDMA資源做多核保護,避免資源訪問沖突。采用Chain方法和Du_y PaRAM方法可以解決只有主核可以收到EDMA Channelh數(shù)據(jù)發(fā)送完畢產生的EDMA中斷,從核獲取不了中斷信息的問題。
[0018]本發(fā)明相對于現(xiàn)有技術具有如下的優(yōu)點及效果:
[0019]1、本發(fā)明充分利用EDMA配置的靈活性,省去從核通過共用接口 Interface向外發(fā)
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1