基于SOPC的數據采集系統設計
3 FPGA系統硬件設計
Xilinx公司EDK(嵌入式開發(fā)套件)的XPS(平臺工作室)的系統組建面板以展開式的樹和表形式顯示所有硬件平臺IP實例,因此用戶可以方便地查看自己的嵌入式設計。在此面板中可以對IP元素、端口、屬性以及參數進行配置。
3.1 用戶IP核設計
使用XPS進行基于MicroBlaze的用戶IP核的開發(fā),該套件集成了硬件平臺產生器、軟件平臺產生器、仿真模型生成器、軟件編譯器和軟件調試工具等。
為實現系統功能,需自定義一個IP核實現數據的采集與存儲:該IP核包括五部分,分別為PLB總線接口模塊、數據采集模塊、數據緩存模塊、數據存儲模塊FLASH讀寫控制邏輯。
(1)數據采集模塊:利用FPGA邏輯資源實現A/D采集電路的控制邏輯。在功能上,該AD控制邏輯相當于一個主控制器。該控制過程無需處
理器參與。另外AD控制邏輯與AD數據接口的分離,使得高速采集與發(fā)送數據成為可能。它連接兩片12位的8通道MAXIM1308轉換器,可實現多通道的數據采集。
(2)數據緩存模塊:在FPGA內部設計FIFO將AD轉換后的數據暫時存放其中。FIFO是Xilinx以FPGA片上Block ram為資源生成,FIFO模塊的主要功能是數據緩沖,實現速率匹配。該異步FIFO模塊在FIFO讀、寫控制模塊的控制之下進行異步讀寫,FIFO的讀時鐘受數據存儲模塊控制,寫時鐘受數據采集模塊的控制。FPGA內部設計了兩片12位的FIFO與上述兩片AD轉換器相對應。
(3)數據存儲模塊:對本系統使用VHDL語言專門設一個DMA控制器來連接FIFO緩存和外部FLASH存儲陣列。當FIFO緩存容量達到一定的值時可以啟動DMA控制器建立一個高速的通道以提供連續(xù)的數據傳輸,存儲到FPGA外部FLASH存儲器陣列。這個通道使得只要FIFO緩存中的數據達到一定的值時便能迅速地存儲到外部FLASH中,主設備不必為了確定從端口是否能夠發(fā)送或接收數據而不斷地訪問從外設的狀態(tài)寄存器。這使得系統的整體效率有了較大的提高,同時避免了自定義外設FIFO中的數據上溢或下溢。并且該過程只需要Microblaze處理器很少的干預即可完成,極大地節(jié)省了CPU資源。
(4)FLASH讀寫控制邏輯:主要實現K9XXG08UXA系列的NAND Flash存儲器的讀寫時序,完成對FLASH的操作。
在SOPC硬件系統設計過程中用戶IP核的設計是關鍵,它的設計是否成功決定著整個系統設計是否可行。在用戶IP核設計過程中AD控制器、FLASH控制器、DMA控制器的設計都比較成功的,圖3是對用戶IP核設計的部分驗證:示波器捕獲的讀FLASH存儲器ID號時序圖,且實驗證明讀出來的FLASH存儲器的ID號是正確的。其中通道0—4分別代表FLASH的CE(片選)、ALE(地址鎖存)、CLE(命令鎖存)、RE(讀)、WE(寫)信號。本文引用地址:http://m.butianyuan.cn/article/194874.htm
3.2 設計生成FPGA硬件系統
在XPS嵌入式開發(fā)環(huán)境中將用戶IP核和標準總線核添加到系統中并將它們互相按規(guī)則連接起來。XPS提供了一個交互式的開發(fā)環(huán)境,允許用戶對硬件平臺各個方面進行設置。其中,XPS在高層對硬件平臺描述進行維護,此高層形式即為微處理器硬件規(guī)范(MHS)文件。MHS文件作為一個可以編輯的文本文件,是表示用戶嵌入式系統硬件部分的主要源文件。XPS將MHS文件綜合到硬件描述語言網表中,用于FPGA的布局布線形成FPGA系統的硬件結構,該過程即是生成硬件比特流的階段,形成后綴名為.bit的文件。
4 結束語
本文介紹了基于SOPC的多通道數據采集系統設計,可以對多種關心的環(huán)境參數進行采集并研究其特性。利用MicroBlaze微處理器搭建數據此采集與存儲的嵌入式可編程片上系統,可以由單個芯片完成整個系統的主要邏輯功能。便于系統實現小型化,集成化。這種靈活的設計方式可隨意擴展系統功能。在此基礎上嵌入操作系統,可以進一步開發(fā)功能更強大的實時數據采集設備。
評論