學習筆記-ARM+FPGA[數字示波器]


最近學習了一段時間的FPGA,本帖用來記錄一下FPGA聯合ARM制作一個雙通道示波器的過程

一·總體設計

 --------1.硬件部分
------------FPGA采用Altera Cyclone IV EEP4CE10F17C8N ,采用BGA封裝共256引腳;
------------ARM芯片采用STM32F407IGT6,主頻168MHz

------------ADC部分采用AD9280ARS高速8bitADC

------------顯示部分采用7英寸TFTLCD屏幕;

--------2.軟件部分

------------FPGA負責顯示屏的顯示驅動和觸摸驅動,使用外拓展SDRAM作LCD的緩存;ADC芯片采樣后數據的處理;

------------ARM負責控制TFT的顯示,和上位機通訊;

------------FPGA和ARM采用FSMC總線進行通訊;

--------3.原理框圖

二,FPGA功能實現

--------FPGA主要模塊組成為復位信號產生,鎖相環倍頻,頻率測量和對ADC芯片轉換出的信號進行采樣,FSMC總線通信,LCD顯示和觸摸驅動

--------在RTL圖中

------------rst_ctrl為復位信號產生模塊,在系統開始后的十個周期后,向后級module發送高電平復位信號

------------my_pllFPGA內置鎖相環,輸入為25M系統時鍾,輸出為C0 : 100MHz用於示波器采樣基准頻率,C1 : 120MHz用於示波器采樣基准頻率 , C2 : 120MHz用於給外置SDRAM作時鍾,決定了SDRAM的讀寫速度 , C3:30MHz用於做LCD的像素CLK;

------------dso為數字示波器的采樣和頻率計算模塊,將前級ADC轉換電路得出的雙通道8bit數據按照字節采樣進addb寄存器內,由於前級ADC的轉換速率高達125MSPSFPGA可用25MHz,100MHz,120MHz來提取寄存器addb內的任一字節,稱之為FPGA的采樣頻率,dso模塊的參數模式由dso_control寄存器控制,包括觸發沿選擇、采樣率選擇、通道開啟或關閉、直流或交流耦合選擇,xy軸分度等,ARM可通過FSMC總線來更改dso模塊的觸發模式和控制寄存器,FPGA通過FSMCARM發送采樣后的數據和測量出的當前頻率,ab_rrd_clk分別為dso模塊掛載在fsmc總線上的地址和讀時鍾;

------------lcdtft顯示屏的驅動模塊,包括SDRAM緩存操作、觸摸回饋數據傳遞、TFTLCD的控制,由於總線速度和SDRAM的讀寫速度不匹配,所以在數據進入SDRAM前添加FIFO模塊做數據緩沖,數據讀出SDRAM后添加RAM做緩存,其中wr_clkfifo寫時鍾,tft_control是液晶LCD顯示控制寄存器,pwm_temp是液晶pwm調光亮度控制;

------------fsmcrsn,AB,DB,WRn,RDn,CSn,NADV分別為ARMFPGA通信中的地址線,數據線,寫信號,讀信號,片選信號和控制信號,其余信號為lcd或者dso的數據和地址通道;

三·ARM功能實現

--------ARM在此次設計過程中承擔的主要任務是控制中心,包括UI設計,亮度調節,示波器參數控制,任務切換等

------------程序開始后,延遲約1s時間,等待FPGA開始工作,1s過后,進行FSMCUSARTLCD顯示和觸摸驅動相關程序初始化,之后檢測FPGA就緒狀態,若就緒,就進行下一步,若不就緒,則進入while(1)並向串口發送error

------------整個GUI設計采用STemWin,更改靜態儲存區分配內存大小和畫點函數就可以對LCD屏幕進行UI界面設計和波形繪制;

------------初始化結束后的while(1)中,主要包含兩個進程,dso_processdisplay_processdso進程用來通過觸摸反饋獲取當前示波器參數變量,計算電壓峰峰值,平均值,頻率,實時獲取子菜單變量值等,而display負責顯示不同菜單和繪制波形;

四·波形效果

--------使用高頻信號源產生vpp=3.3V,fre=1KHz的方波,用示波器觀察到的現象如下

------------所用平台為ICORE3雙核心實驗板;

------------本次設計的核心內容為FPGA底層驅動的實現,ARMFPGA之間的FSMC總線通信,STemWin用戶圖形界面設計;

------------本次設計的難點在於,系統的實時性。系統總體設計采用FPGA+ARM,使用FPGA是為了實現信號高速采樣和處理,雙核心設計既保證了邏輯控制和媒體顯示,也保證了高速信號傳輸,整個系統的實時性由ARM和FPGA共同完成,保證了從采樣到顯示,從觸摸到反饋的實時資源調用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM