版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
雙處理器通信方案的研習(xí)與策劃
雙處理器之間通信方式
目前,基于FPGA的雙處理器之間的通信根據(jù)通信方式來劃分,主要有:共享存儲(chǔ)器、郵箱核(mailbox)、串口通訊和DMA等四種方式。共享存儲(chǔ)器通信是一種兩個(gè)處理器之間的堵塞通信方式。在雙處理器系統(tǒng)中,可以通過共享片上RAM的方式來實(shí)現(xiàn)處理器之間的數(shù)據(jù)交互。為了防止死鎖的發(fā)生,需要通過設(shè)置標(biāo)志位或者中斷信號(hào)的方式,實(shí)現(xiàn)雙處理器的異步接收或發(fā)送。同時(shí)發(fā)送進(jìn)程和接收進(jìn)程必需在兩個(gè)處理器上成對(duì)消失,只有當(dāng)兩個(gè)處理器上的發(fā)送進(jìn)程和接收進(jìn)程同時(shí)到來時(shí),兩個(gè)處理器才能共同退出當(dāng)前通信進(jìn)程,進(jìn)入下一條指令。郵箱核主要供應(yīng)了兩組互斥體,一個(gè)用于保證對(duì)共享存儲(chǔ)器的唯一寫訪問,另外一個(gè)用于保證對(duì)共享存儲(chǔ)器唯一的讀訪問。郵箱核結(jié)合片上RAM,可以實(shí)現(xiàn)雙處理器之間的數(shù)據(jù)交換。郵箱核加片上RAM的組合方式,適合于雙處理器之間的單向傳輸數(shù)據(jù),具有實(shí)時(shí)性好,速度快的優(yōu)點(diǎn),但是對(duì)于通信的數(shù)據(jù)構(gòu)造有一些要求。串口通訊在雙處理器之間的數(shù)據(jù)交換主要是通過串口通信設(shè)備完成的。將系統(tǒng)中的處理器分為主設(shè)備和從設(shè)備,當(dāng)主設(shè)備要讀取從設(shè)備數(shù)據(jù)時(shí),就向從設(shè)備發(fā)送一個(gè)讀取的指令,從設(shè)備接收到指令后將數(shù)據(jù)發(fā)送到主設(shè)備中。主設(shè)備向從設(shè)備寫入數(shù)據(jù)過程也是如此。這種通信方式,對(duì)于軟件程序方面依靠性較小,但是傳輸模式單一,存在肯定的延時(shí)。DMA方式主要是用于數(shù)據(jù)量比擬大的狀況下,通過對(duì)數(shù)據(jù)整塊的處理,能夠有效的縮減數(shù)據(jù)通信占用處理器的時(shí)間。
互聯(lián)模塊概要設(shè)計(jì)
通過對(duì)以上雙處理器之間通信方式的優(yōu)缺點(diǎn)分析,結(jié)合本系統(tǒng)通信的特點(diǎn),設(shè)計(jì)出符合本系統(tǒng)的FIFO互聯(lián)模塊。在該系統(tǒng)中,使用的是定制IP核的方式來設(shè)計(jì)該模塊,在IP核中設(shè)計(jì)相關(guān)的存放器,設(shè)計(jì)出相關(guān)的讀寫掌握規(guī)律。該IP核的設(shè)計(jì)主要分為以下幾個(gè)方面。第一是對(duì)于系統(tǒng)的非實(shí)時(shí)局部而言,要在操作系統(tǒng)的層次上,讀取FIFO緩沖區(qū)數(shù)據(jù)和將數(shù)據(jù)寫入FIFO緩沖區(qū),保證數(shù)據(jù)的讀取和寫入正常。在操作系統(tǒng)中編寫該FIFO緩沖區(qū)設(shè)備的驅(qū)動(dòng),在驅(qū)動(dòng)中推斷該設(shè)備的讀寫狀態(tài)。其次是對(duì)系統(tǒng)的實(shí)時(shí)局部而言,要在規(guī)定的時(shí)間內(nèi),將數(shù)據(jù)從該FIFO緩沖區(qū)中讀取,同時(shí)將反應(yīng)數(shù)據(jù)在規(guī)定的時(shí)間內(nèi)寫入到FIFO緩沖區(qū)中。通過對(duì)該IP核中定義的掌握存放器的讀取,實(shí)時(shí)的推斷該FIFO設(shè)備的狀態(tài),保證準(zhǔn)時(shí)的讀取或?qū)懭霐?shù)據(jù)。第三就是要實(shí)現(xiàn)對(duì)該FIFO緩沖區(qū)的互斥訪問,保證每次讀取或者寫入的數(shù)據(jù)都是完整的,確保數(shù)據(jù)的精確。通過對(duì)緩沖區(qū)的大小進(jìn)展設(shè)定,當(dāng)讀或者寫完成時(shí),設(shè)置掌握存放器中相應(yīng)的標(biāo)志位,到達(dá)互斥訪問的目的。
具體設(shè)計(jì)
1IP核的設(shè)計(jì)
該IP核主要的功能一是對(duì)寫入的數(shù)據(jù)進(jìn)展緩沖,二是對(duì)輸入的數(shù)據(jù)進(jìn)展分隔,保證每次讀寫的數(shù)據(jù)都是完整的一幀。該IP核在QuartusII環(huán)境中頂層模塊如圖2所示。該FIFO的緩沖區(qū)大小為128位,寬度為32。使用了一個(gè)讀指針READ_POINTER和一個(gè)寫指針WRITE_POINTER來掌握CPU對(duì)該緩沖區(qū)的讀寫,讀寫指針大小都設(shè)置為2。該FIFO的讀寫數(shù)據(jù)模型如圖3所示。當(dāng)對(duì)該緩沖區(qū)進(jìn)展讀或者寫操作時(shí),相應(yīng)的指針發(fā)生變化。當(dāng)讀或?qū)懼羔樀竭_(dá)肯定的條件時(shí),就設(shè)置相關(guān)存放器的狀態(tài)。當(dāng)從該緩沖區(qū)中讀取數(shù)據(jù)完成時(shí),就將READ_DONE置1,同時(shí)將READ_ENABLE置0,將WRITE_ENABLE置1,從而完成讀操作,保證讀取數(shù)據(jù)的完整性。同理,當(dāng)寫數(shù)據(jù)完成了,將WRITE_DONE置1,同時(shí)將READ_ENABLE置1,將WRITE_ENABLE置0,完成寫操作。這樣就可以掌握CPU對(duì)緩沖區(qū)的讀寫,保證數(shù)據(jù)的唯一性。
可以看出通過對(duì)讀寫標(biāo)志位的推斷,可以到達(dá)對(duì)該FIFO狀態(tài)的推斷,從而掌握讀寫數(shù)據(jù)的時(shí)機(jī)。整個(gè)狀態(tài)的推斷和掌握是通過掌握存放器(CONTROL_REG)來實(shí)現(xiàn)的,在掌握存放器中推斷FIFO可讀或者可寫狀態(tài)是由CONTROL_REG[7:6]來掌握的,而向FIFO中每次寫入或讀取數(shù)據(jù)的大小是由CONTROL_REG[1:0]來掌握的,系統(tǒng)可以隨時(shí)讀取該存放器來確定FIFO的讀寫狀況。該IP核的掌握存放器構(gòu)造如圖4所示。在QuartusII下進(jìn)展功能仿真如圖5所示。從圖5中可以看出,IP核復(fù)位后,F(xiàn)IFO的狀態(tài)是可寫的。此時(shí),讀取存放器的狀態(tài)位0x80,說明該FIFO是可寫的。將0x2寫入到掌握存放器(CONTROL_REG[1:0])中,就確定了FIFO中每幀的大小。讀取存放器,為0x82,說明數(shù)據(jù)已經(jīng)寫入到掌握存放器中。然后向FIFO中寫入數(shù)據(jù)0x12345678和0x87654321后,可以看到WRITE_DONE置1,READ_ENABLE被置1,WRITE_ENABLE被置0,同時(shí)寫指針WRITE_POINTER也是正確的,此時(shí)讀取存放器,為0x42,說明寫操作完成,數(shù)據(jù)可讀。在后面對(duì)FIFO進(jìn)展讀操作可以看出,各個(gè)標(biāo)志位和讀寫指針都是正確的,可以看到讀出的數(shù)據(jù)為0x87654321和0x12345678。此時(shí),讀取存放器中數(shù)據(jù),為0x82,說明數(shù)據(jù)可寫。
2FIFO的驅(qū)動(dòng)的設(shè)計(jì)
在實(shí)時(shí)局部和非實(shí)時(shí)局部之間通過FIFO傳遞數(shù)據(jù),非實(shí)時(shí)局部運(yùn)行的是Clinux操作系統(tǒng),需要對(duì)FIFO編寫驅(qū)動(dòng)。在Clinux下開發(fā)FIFO設(shè)備的驅(qū)動(dòng)和常規(guī)Linux下開發(fā)驅(qū)動(dòng)流程一樣。在Linux系統(tǒng)中,設(shè)備的驅(qū)動(dòng)程序被組織為一組完全不同任務(wù)的函數(shù)的集合,通過這些函數(shù)使得設(shè)備操作如同文件一般。在應(yīng)用程序看來,硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作一般文件一樣對(duì)硬件進(jìn)展操作。如open()、close()、read()、write()等等。Linux主要將設(shè)備分為兩類:字符設(shè)備和塊設(shè)備。字符設(shè)備是指設(shè)備發(fā)送和接收數(shù)據(jù)以字符的形式進(jìn)展;而塊設(shè)備則以整個(gè)數(shù)據(jù)緩沖區(qū)的形式進(jìn)展。本文中FIFO設(shè)備屬于字符設(shè)備,其設(shè)備驅(qū)動(dòng)主要定義一下幾個(gè)函數(shù)初始化完成后,對(duì)設(shè)備的讀寫主要是通過調(diào)用write_data()和read_data()來實(shí)現(xiàn)的。Clinux針對(duì)無MMU的處理器做了移植,與Linux使用虛擬內(nèi)存不同,Clinux采納真實(shí)地址方式,這樣操作硬件設(shè)備特別便利。SOPC系統(tǒng)把存儲(chǔ)設(shè)備,IO映射為統(tǒng)一編制的存儲(chǔ)設(shè)備。
自定義IP核在雙處理器中應(yīng)用
1雙處理器平臺(tái)的搭建
依據(jù)設(shè)計(jì)的需要,構(gòu)建一個(gè)完整的SOPC系統(tǒng)后,才能真正實(shí)現(xiàn)雙處理器的設(shè)計(jì)。在SOPCBuilder中參加CPU1和CPU2,一個(gè)Timer,定制的FIFO組件以及sdram、flash、JTAG等外圍設(shè)備。其中非實(shí)時(shí)局部的CPU1選擇NIOSII/f,復(fù)位向量設(shè)置為flash,特別向量設(shè)置為sdram。另外連接CPU1的Timer要選擇全功能型(Full-featured),并將該Timer的優(yōu)先級(jí)設(shè)置為0。而實(shí)時(shí)局部的CPU2也要選擇NIOSII/f,復(fù)位向量設(shè)置為flash,特別向量設(shè)置為sdram。
2自定義IP核功能驗(yàn)證
將定制的IP組件添參加到系統(tǒng)中,在CPU1上運(yùn)行Clinux操作系統(tǒng),CPU2的程序是在NIOSIIIDE環(huán)境下運(yùn)行。在CPU1上運(yùn)行的程序首先使用函數(shù)open()翻開該FIFO設(shè)備,然后通過讀函數(shù)read()和寫函數(shù)write()區(qū)讀寫數(shù)據(jù),從而實(shí)現(xiàn)CPU1讀取和發(fā)送數(shù)據(jù)。而在NIOSIIIDE環(huán)境下,使用查詢方式,來讀取該定制FIFO數(shù)據(jù),使用函數(shù)IORD()存器CONTROL_REG的狀態(tài),假如為可讀的,則執(zhí)行讀操作,假如為不行讀,則什么都不執(zhí)行。寫數(shù)據(jù)也是如此。經(jīng)過驗(yàn)證,數(shù)據(jù)都能按時(shí)按序到達(dá),該IP核很好的滿意了設(shè)計(jì)的需要。
完畢語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年跨界藝術(shù)品版權(quán)交易合同
- 2025年度智能家居瓷磚定制設(shè)計(jì)與銷售服務(wù)合同3篇
- 2024幼兒園租賃合同-附幼兒園師資培訓(xùn)及認(rèn)證服務(wù)3篇
- 2025年度打包機(jī)節(jié)能技術(shù)應(yīng)用研究與推廣合同2篇
- 2024年詩歌朗誦比賽場(chǎng)地租賃合同
- 2024年聯(lián)營權(quán)責(zé)調(diào)整書
- 2025年度智慧社區(qū)建設(shè)合作協(xié)議書3篇
- 2024年遠(yuǎn)程醫(yī)療服務(wù)合同范本6篇
- 2024鮮花婚禮布置承包合同
- 2024年:版權(quán)與專利共享協(xié)議
- 人教版三年級(jí)上冊(cè)數(shù)學(xué)期末測(cè)試卷a4版可打印
- 2024年紀(jì)檢監(jiān)察綜合業(yè)務(wù)知識(shí)題庫含答案(研優(yōu)卷)
- 科室醫(yī)療質(zhì)量與安全管理小組工作制度
- 歡樂喜劇人小沈陽《四大才子招親大會(huì)》劇本投稿:程祅祆
- 中華民族共同體概論課件第五講大一統(tǒng)與中華民族共同體初步形成(秦漢時(shí)期)
- 初二生地會(huì)考試卷及答案-文檔
- 保險(xiǎn)公估服務(wù)行業(yè)發(fā)展史與現(xiàn)狀分析
- 著作權(quán)案例分析
- 人教版四年級(jí)上冊(cè)豎式計(jì)算400題及答案
- 重慶開縣2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)檢測(cè)卷(含答案)
- 施工單位值班人員安全交底和要求
評(píng)論
0/150
提交評(píng)論