基于FPGA的PCI數據采集卡設計
2.2.1 總線(xiàn)讀寫(xiě)設計
總線(xiàn)讀寫(xiě)設計是FPGA設計的頂層模塊,主要完成PCI9054與本地的通信,實(shí)現數據的正確傳輸。PCI9054單周期讀、寫(xiě)和DMA讀的VHDL語(yǔ)言時(shí)序控制狀態(tài)機如圖3所示。狀態(tài)0為空閑狀態(tài),狀態(tài)1為總線(xiàn)保持狀態(tài),狀態(tài)2為DMA讀狀態(tài),狀態(tài)3為單周期寫(xiě)狀態(tài),狀態(tài)4為讀寫(xiě)操作完成狀態(tài)。本文引用地址:http://dyxdggzs.com/article/189530.htm
2.2.2 控制信號說(shuō)明
ADS#:地址選通信號,雙向。表示地址有效及新的總線(xiàn)訪(fǎng)問(wèn)周期的開(kāi)始,在總線(xiàn)訪(fǎng)問(wèn)周?chē)牡谝粋€(gè)時(shí)鐘周期有效。BLAST#:突發(fā)傳輸結束信號,雙向。由當前本地總線(xiàn)主動(dòng)方驅動(dòng),用來(lái)表明總線(xiàn)傳輸的最后一個(gè)數據傳輸。LW/R#:寫(xiě)/讀信號,雙向。低位讀,高為寫(xiě)。LHOL D:保持總線(xiàn)請求,輸出。請求使用本地總線(xiàn)。當控制可以實(shí)現時(shí),本地總線(xiàn)仲裁回應LHOLDA。
2.2.3 A/D控制設計
A/D控制是數據采集卡的主要部分,設計主要包括:A/D采樣時(shí)鐘的產(chǎn)生,分組采集控制,觸發(fā)設置及FIFO讀寫(xiě)控制等。
(1)A/D采樣時(shí)鐘的產(chǎn)生。采樣時(shí)鐘的產(chǎn)生主要是根據設定的采樣頻率產(chǎn)生具有一定低脈寬的信號,這是為了在轉換完成時(shí)能正確地讀出轉換數據。值得注意的是,在FIFO溢出的情況下及分組采集的組間間隔時(shí)間段內要停止輸出采集脈沖。
(2)分組采集控制。分組采集是按照內外時(shí)鐘源分別進(jìn)行設計的。首先根據組循環(huán)次數及首末通道設置計算出一組內總共要采集的點(diǎn)數,即:一組內總共要采集的點(diǎn)數=(末通道-首通道+1)*組循環(huán)次數。
在內時(shí)鐘模式下,啟動(dòng)A/D轉換后,在每次轉換完成后采集點(diǎn)數加1,直至加到一組內總共要采集點(diǎn)數為止,此時(shí)停止輸出轉換脈沖,而后進(jìn)入組問(wèn)間隔時(shí)間,開(kāi)始對基準時(shí)鐘進(jìn)行計數,計到設定的組間間隔值后輸出轉換脈沖,再次進(jìn)入轉換計數周期,依此重復下去。
在外時(shí)鐘模式下,當檢測到外時(shí)鐘下降沿時(shí)開(kāi)始輸出轉換脈沖并在轉換完成后進(jìn)行計數,直至加到一組內總共要采集的點(diǎn)數為止,此時(shí)停止輸出轉換脈沖,當再次出現外時(shí)鐘的下降沿時(shí),便開(kāi)始新的一組分組采集。
(3)觸發(fā)設置。觸發(fā)設置是根據板卡控制字中的觸發(fā)源、觸發(fā)方向及觸發(fā)類(lèi)型共同決定的。
(4)FIFO讀寫(xiě)控制。FIFO的讀是由PCI9054發(fā)起的,在PCI9054讀周期,在滿(mǎn)足地址條件的情況下,產(chǎn)生FIFO的讀信號,將A/D數據傳輸到主機。
FIFO的寫(xiě)信號是由A/D芯片的STS信號控制的,當STS信號由高變?yōu)榈蜁r(shí)表示本次轉換完成,且數據線(xiàn)上數據有效,而FIFO是在下降沿啟動(dòng)寫(xiě)周期,上升沿將數據打入FIFO中,因此只需將STS信號取反后賦給FIFO的寫(xiě)信號。
3 硬件設計的測試
在板卡的設計過(guò)程中,硬件設計的測試是按如下步驟進(jìn)行的:首先通過(guò)功能仿真及時(shí)序仿真排除設計上的大部分錯誤;其次通過(guò)PCItr ee軟件進(jìn)行測試,通過(guò)簡(jiǎn)單的功能測試,如開(kāi)關(guān)量輸入輸出;然后通過(guò)簡(jiǎn)易演示程序測試;最后通過(guò)高級程序的全面測試。在不同的測試階段會(huì )發(fā)現各種設計問(wèn)題,再將設計回歸到功能仿真及時(shí)序仿真,反復修改完善程序,直到最終滿(mǎn)足功能設計要求。
4 結束語(yǔ)
本文完成了基于FPGA的PCI數據采集卡的設計,板卡實(shí)現了查詢(xún)、中斷和DMA等多種方式讀取數據,可實(shí)時(shí)采集數據,實(shí)現大容量數據的緩存,有效地解決對數據高速采集和傳輸的需求??芍苯硬逶赑C機或與之兼容的計算機內任一PCI插槽中,構成各領(lǐng)域的數據采集、波形分析和處理系統,也可構成工業(yè)生產(chǎn)過(guò)程監控系統。
fpga相關(guān)文章:fpga是什么
評論