基于PC104(Plus)總線的數(shù)據(jù)接收存儲(chǔ)顯示系統(tǒng)設(shè)計(jì)
為了滿足PLX9054上電啟動(dòng)速度的要求,其時(shí)鐘應(yīng)由晶振直接提供。
系統(tǒng)上電后,PLX9054NFPGA發(fā)出復(fù)位命令,同時(shí)由FPGA對(duì)FIFO進(jìn)行復(fù)位,并完成對(duì)FIFO的初始化,以使其處于工作狀態(tài)。在FP-GA接收數(shù)據(jù)時(shí),存儲(chǔ)數(shù)據(jù)通道和顯示數(shù)據(jù)通道的數(shù)據(jù)同時(shí)進(jìn)入FPGA,為了使工控機(jī)軟件能夠區(qū)分兩路數(shù)據(jù),可在FPGA內(nèi)部根據(jù)數(shù)據(jù)同步信號(hào)分別對(duì)兩路數(shù)據(jù)加上幀頭,然后同時(shí)寫入FIFO1的D1[0…31]和FIFO2的D2[0…31]。數(shù)據(jù)半滿后,F(xiàn)PGA要根據(jù)兩片F(xiàn)IFO的半滿信號(hào)和對(duì)其進(jìn)行讀取控制。FIFO的讀取控制主要由實(shí)現(xiàn)。在實(shí)際應(yīng)用中,存儲(chǔ)數(shù)據(jù)一般要求能夠優(yōu)先上傳,且數(shù)據(jù)連續(xù),而對(duì)同步顯示的要求相對(duì)較低,顯示數(shù)據(jù)的速率也較低,只要能夠滿足顯示刷新率的要求即可,因此,本設(shè)計(jì)中存儲(chǔ)數(shù)據(jù)緩沖區(qū)FIFO1的半滿信號(hào)的優(yōu)先級(jí)高于。具體實(shí)現(xiàn)方法是對(duì)進(jìn)行邏輯運(yùn)算,圖3所示是其運(yùn)算邏輯圖。本文引用地址:http://butianyuan.cn/article/202466.htm
運(yùn)算后可得到化簡結(jié)果,然后令;之后再在FPGA內(nèi)部將、做與運(yùn)算,可得到,然后判斷,若為低,則FPGA向PLX9054發(fā)出中斷。這樣就能保證兩片F(xiàn)IFO的數(shù)據(jù)根據(jù)優(yōu)先級(jí)不斷向上發(fā)送。
PLX9054響應(yīng)中斷后,即可通過LHOLD申請(qǐng)對(duì)本地總線進(jìn)行控制,F(xiàn)PGA則通過LHOLDA作出應(yīng)答,進(jìn)而由PLX9054獲得本地總線控制權(quán)并啟動(dòng)DMA傳輸周期。FPGA收到讀信號(hào)和地址選通信號(hào)后,產(chǎn)生信號(hào),并在最后一個(gè)數(shù)據(jù)傳送信號(hào)有效之前一直保持有效。在此期間,F(xiàn)PGA將根據(jù)圖3所示的運(yùn)算邏輯結(jié)果,并按照優(yōu)先級(jí)讀取相應(yīng)FIFO的數(shù)據(jù)進(jìn)行上傳。具體的控制及數(shù)據(jù)傳輸時(shí)序如圖4所示。
由圖4可見,當(dāng)同時(shí)有效時(shí),其FIFO1的優(yōu)先級(jí)高于FIFO2,故可滿足設(shè)計(jì)要求。
評(píng)論