一種基于PCIE總線的改進(jìn)分散集聚DMA的設(shè)計
發(fā)布時間:2019-10-18 10:07
【摘要】:隨著雷達(dá)數(shù)據(jù)記錄回放系統(tǒng)對數(shù)據(jù)傳輸速率的要求越來越高,提出了一種基于外設(shè)部件高速互連標(biāo)準(zhǔn)(PCIE)總線的多通道分散集聚DMA的改進(jìn)方法。針對現(xiàn)有分散集聚DMA獲取、更新描述符需要DMA控制器與驅(qū)動頻繁握手的不足,提出了一種通過集中傳輸DMA描述符鏈表給FPGA的方法,基于該方法設(shè)計了一種改進(jìn)的DMA控制器,實(shí)現(xiàn)了雷達(dá)數(shù)據(jù)的連續(xù)傳輸,并能夠與雷達(dá)信號處理系統(tǒng)配合,實(shí)現(xiàn)雷達(dá)數(shù)據(jù)的流水傳輸與處理。該設(shè)計具有良好的穩(wěn)定性,實(shí)際測試的數(shù)據(jù)傳輸速率最高能達(dá)到1500MB/s,能夠滿足雷達(dá)數(shù)據(jù)的高速傳輸。
【圖文】:
據(jù)通道,可以在實(shí)際應(yīng)用中根據(jù)需要實(shí)現(xiàn)雷達(dá)數(shù)據(jù)的流水傳輸與處理。1現(xiàn)有分散集聚DMA原理因?yàn)榉稚⒓郏模停辽暾埖膬?nèi)存是物理不連續(xù)的,所以上位機(jī)在申請一定大小的內(nèi)存時,會生成描述符鏈表,描述符鏈表中的每一個描述符都指向了一小塊物理連續(xù)的內(nèi)存,描述符中定義了控制狀態(tài)信息和內(nèi)存信息。其中,描述符最后32bit是一個指向下一個描述符的指針,這個指針將各個描述符連接成描述符鏈表,由此就可以映射到整個物理不連續(xù)的內(nèi)存[11]。在傳統(tǒng)分散集聚DMA的傳輸過程中,如圖1所示,首先DMA控制器從驅(qū)動讀取描述符鏈表中的一個描述符并存到描述符引擎中,DMA控制器根據(jù)描述符引擎中的信息完成對應(yīng)內(nèi)存的數(shù)據(jù)傳輸后,描述符更新引擎將此描述符的更新信息傳到描述符鏈表中,然后描述符引擎通過指向下一個描述符的指針向驅(qū)動獲取下一個描述符的信息,由此進(jìn)行下一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)傳輸。此方式在傳輸完成一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)后,需要等待描述符更新引擎更新描述符信息和描述符引擎讀取下一個描述符的信息,降低了數(shù)據(jù)傳輸?shù)某掷m(xù)性。圖1現(xiàn)有分散集聚DMA示意圖2改進(jìn)分散集聚DMA設(shè)計2.1DMA控制器設(shè)計針對驅(qū)動與DMA控制器頻繁握手的不足,本設(shè)計在上位機(jī)驅(qū)動中對描述符鏈表作了提取處理,由于描述符(32B)中的保留位以及狀態(tài)位等在DMA控制器中是無用信息,因此本設(shè)計直接選取了有用的上位機(jī)內(nèi)存地址位(8B)和數(shù)據(jù)長度位(4B)發(fā)送至DMA控制器,描述符其他數(shù)據(jù)不再發(fā)送。當(dāng)DMA控制器初始化以后,驅(qū)動直接將所有描述符的系統(tǒng)地址位和數(shù)據(jù)長度位發(fā)送至描述符引擎,如圖2
示,首先DMA控制器從驅(qū)動讀取描述符鏈表中的一個描述符并存到描述符引擎中,DMA控制器根據(jù)描述符引擎中的信息完成對應(yīng)內(nèi)存的數(shù)據(jù)傳輸后,,描述符更新引擎將此描述符的更新信息傳到描述符鏈表中,然后描述符引擎通過指向下一個描述符的指針向驅(qū)動獲取下一個描述符的信息,由此進(jìn)行下一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)傳輸。此方式在傳輸完成一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)后,需要等待描述符更新引擎更新描述符信息和描述符引擎讀取下一個描述符的信息,降低了數(shù)據(jù)傳輸?shù)某掷m(xù)性。圖1現(xiàn)有分散集聚DMA示意圖2改進(jìn)分散集聚DMA設(shè)計2.1DMA控制器設(shè)計針對驅(qū)動與DMA控制器頻繁握手的不足,本設(shè)計在上位機(jī)驅(qū)動中對描述符鏈表作了提取處理,由于描述符(32B)中的保留位以及狀態(tài)位等在DMA控制器中是無用信息,因此本設(shè)計直接選取了有用的上位機(jī)內(nèi)存地址位(8B)和數(shù)據(jù)長度位(4B)發(fā)送至DMA控制器,描述符其他數(shù)據(jù)不再發(fā)送。當(dāng)DMA控制器初始化以后,驅(qū)動直接將所有描述符的系統(tǒng)地址位和數(shù)據(jù)長度位發(fā)送至描述符引擎,如圖2所示,此后,描述符引擎便不需要與驅(qū)動握手。圖2改進(jìn)后分散集聚DMA示意圖由于改進(jìn)后分散集聚DMA是應(yīng)用在雷達(dá)數(shù)據(jù)記錄回放系統(tǒng)中,雷達(dá)數(shù)據(jù)量非常大,遠(yuǎn)大于一個描述符對應(yīng)的內(nèi)存(通常4KB),不會出現(xiàn)實(shí)際傳輸數(shù)據(jù)小于描述符內(nèi)存的情況,因此不需要更新描述符中實(shí)際傳輸數(shù)據(jù)大,F(xiàn)有描述符更新引擎的一個重要作用是當(dāng)一個描述符對應(yīng)內(nèi)存完成數(shù)據(jù)傳輸以后,通知驅(qū)動此內(nèi)存可進(jìn)行數(shù)據(jù)讀取或?qū)懭,可是在分散集聚DMA?shí)際傳輸過程中都是所有描述符對應(yīng)內(nèi)存完成數(shù)據(jù)傳輸以后,上位機(jī)才會對內(nèi)
【作者單位】: 中國科學(xué)院電子學(xué)研究所;微波成像技術(shù)國家重點(diǎn)實(shí)驗(yàn)室;中國科學(xué)院大學(xué);
【分類號】:TN957
【圖文】:
據(jù)通道,可以在實(shí)際應(yīng)用中根據(jù)需要實(shí)現(xiàn)雷達(dá)數(shù)據(jù)的流水傳輸與處理。1現(xiàn)有分散集聚DMA原理因?yàn)榉稚⒓郏模停辽暾埖膬?nèi)存是物理不連續(xù)的,所以上位機(jī)在申請一定大小的內(nèi)存時,會生成描述符鏈表,描述符鏈表中的每一個描述符都指向了一小塊物理連續(xù)的內(nèi)存,描述符中定義了控制狀態(tài)信息和內(nèi)存信息。其中,描述符最后32bit是一個指向下一個描述符的指針,這個指針將各個描述符連接成描述符鏈表,由此就可以映射到整個物理不連續(xù)的內(nèi)存[11]。在傳統(tǒng)分散集聚DMA的傳輸過程中,如圖1所示,首先DMA控制器從驅(qū)動讀取描述符鏈表中的一個描述符并存到描述符引擎中,DMA控制器根據(jù)描述符引擎中的信息完成對應(yīng)內(nèi)存的數(shù)據(jù)傳輸后,描述符更新引擎將此描述符的更新信息傳到描述符鏈表中,然后描述符引擎通過指向下一個描述符的指針向驅(qū)動獲取下一個描述符的信息,由此進(jìn)行下一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)傳輸。此方式在傳輸完成一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)后,需要等待描述符更新引擎更新描述符信息和描述符引擎讀取下一個描述符的信息,降低了數(shù)據(jù)傳輸?shù)某掷m(xù)性。圖1現(xiàn)有分散集聚DMA示意圖2改進(jìn)分散集聚DMA設(shè)計2.1DMA控制器設(shè)計針對驅(qū)動與DMA控制器頻繁握手的不足,本設(shè)計在上位機(jī)驅(qū)動中對描述符鏈表作了提取處理,由于描述符(32B)中的保留位以及狀態(tài)位等在DMA控制器中是無用信息,因此本設(shè)計直接選取了有用的上位機(jī)內(nèi)存地址位(8B)和數(shù)據(jù)長度位(4B)發(fā)送至DMA控制器,描述符其他數(shù)據(jù)不再發(fā)送。當(dāng)DMA控制器初始化以后,驅(qū)動直接將所有描述符的系統(tǒng)地址位和數(shù)據(jù)長度位發(fā)送至描述符引擎,如圖2
示,首先DMA控制器從驅(qū)動讀取描述符鏈表中的一個描述符并存到描述符引擎中,DMA控制器根據(jù)描述符引擎中的信息完成對應(yīng)內(nèi)存的數(shù)據(jù)傳輸后,,描述符更新引擎將此描述符的更新信息傳到描述符鏈表中,然后描述符引擎通過指向下一個描述符的指針向驅(qū)動獲取下一個描述符的信息,由此進(jìn)行下一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)傳輸。此方式在傳輸完成一個描述符對應(yīng)內(nèi)存的數(shù)據(jù)后,需要等待描述符更新引擎更新描述符信息和描述符引擎讀取下一個描述符的信息,降低了數(shù)據(jù)傳輸?shù)某掷m(xù)性。圖1現(xiàn)有分散集聚DMA示意圖2改進(jìn)分散集聚DMA設(shè)計2.1DMA控制器設(shè)計針對驅(qū)動與DMA控制器頻繁握手的不足,本設(shè)計在上位機(jī)驅(qū)動中對描述符鏈表作了提取處理,由于描述符(32B)中的保留位以及狀態(tài)位等在DMA控制器中是無用信息,因此本設(shè)計直接選取了有用的上位機(jī)內(nèi)存地址位(8B)和數(shù)據(jù)長度位(4B)發(fā)送至DMA控制器,描述符其他數(shù)據(jù)不再發(fā)送。當(dāng)DMA控制器初始化以后,驅(qū)動直接將所有描述符的系統(tǒng)地址位和數(shù)據(jù)長度位發(fā)送至描述符引擎,如圖2所示,此后,描述符引擎便不需要與驅(qū)動握手。圖2改進(jìn)后分散集聚DMA示意圖由于改進(jìn)后分散集聚DMA是應(yīng)用在雷達(dá)數(shù)據(jù)記錄回放系統(tǒng)中,雷達(dá)數(shù)據(jù)量非常大,遠(yuǎn)大于一個描述符對應(yīng)的內(nèi)存(通常4KB),不會出現(xiàn)實(shí)際傳輸數(shù)據(jù)小于描述符內(nèi)存的情況,因此不需要更新描述符中實(shí)際傳輸數(shù)據(jù)大,F(xiàn)有描述符更新引擎的一個重要作用是當(dāng)一個描述符對應(yīng)內(nèi)存完成數(shù)據(jù)傳輸以后,通知驅(qū)動此內(nèi)存可進(jìn)行數(shù)據(jù)讀取或?qū)懭,可是在分散集聚DMA?shí)際傳輸過程中都是所有描述符對應(yīng)內(nèi)存完成數(shù)據(jù)傳輸以后,上位機(jī)才會對內(nèi)
【作者單位】: 中國科學(xué)院電子學(xué)研究所;微波成像技術(shù)國家重點(diǎn)實(shí)驗(yàn)室;中國科學(xué)院大學(xué);
【分類號】:TN957
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 張婕;王丹力;;基于上下文的多通道語義融合[J];計算機(jī)工程與設(shè)計;2007年01期
2 聶守平,劉明,陶純堪,趙琦;并行多通道成像和頻譜分析[J];光電子·激光;1999年05期
3 杭正東;;多通道音頻監(jiān)錄系統(tǒng)的開發(fā)和應(yīng)用[J];視聽界(廣播電視技術(shù));2008年05期
4 賴濤;董臻;梁甸農(nóng);;多通道/多波束星載SAR實(shí)現(xiàn)高分辨寬測繪帶成像綜述[J];遙感信息;2011年01期
5 郭青偉;;多通道廣播監(jiān)測系統(tǒng)[J];遼寧師專學(xué)報(自然科學(xué)版);2011年01期
6 張青;詹磊;;大型電視節(jié)目多通道采編制作系統(tǒng)設(shè)計[J];電視技術(shù);2013年24期
7 謝冬冬;吳俠義;禹衛(wèi)東;;一種多通道星載SAR通道間一致性精確測量方法[J];電子測量與儀器學(xué)報;2012年05期
8 李曉妮;王大中;冀振元;;多通道接收系統(tǒng)的補(bǔ)償研究[J];長春大學(xué)學(xué)報;2007年12期
9 聶波;王緒剛;王宏安;王綱;;手持移動設(shè)備中多通道交互的通用開發(fā)框架[J];計算機(jī)應(yīng)用研究;2007年09期
10 胡兵,陳光
本文編號:2551034
本文鏈接:http://sikaile.net/kejilunwen/xinxigongchenglunwen/2551034.html
最近更新
教材專著