FIFO電路采用IDT公司的IDT72V17190器件,該器件采用3.3 V電壓供電,16位64 KB容量的FIFO,工作時鐘高達100 MHz。如圖4所示,FIFO的數據輸入D0~D15及PAF、WCLK、WEN均與FPGA相連。數據輸出Q0~Q15及REN、RCLK、OE、 EF、MRS、HF、FF均與USB2.0單片機相連。讀FIFO狀態(tài)時,USB2.0單片機給出FIFO復位信號MRS和使能信號OE,然后判斷 FIFO的狀態(tài)信號EF(空)和HF(半滿)。當FIFO半滿且非空,即EF為高,HF為低時,給出FIFO讀使能信號REN和讀時鐘RCLK,從 FIFO中讀出數據;寫FIFO時,FPGA判斷FIFO的PAF(幾乎滿)信號,如果該信號無效,則給出寫使能WEN和寫時鐘WCLK,將數據寫入 FIFO。
FPGA內部邏輯設計
FPGA內部邏輯主要分為數字信號采集、數據緩存和數據讀取、FIFO控制。根據要求,信號采集又分為頻率信號采集、20路數字信號采集和 15路脈沖信號采集。系統(tǒng)同時采集三組信號,再送入外部FIFO中緩存。由于脈沖信號的數據量較大,時序不匹配,因此在信號采集完后數據還應緩存,然后再經數據編幀送至外部FIFO。內部緩存利用VHDL編寫模塊,但是更簡易的方法是利用FPGA內部的雙口RAM。因此,FPGA選用Xilinx公司的 XCF2S-100E,其內部集成5 KB容量的RAM,足夠內部緩存使用。數據經信號采集后送人緩存,然后由讀取模塊讀出再送入外部FIFO,整個模塊采用120 MHz的時鐘,可以滿足要求大于100 MHz的時鐘頻率。采集20路數字信號的方法是當信號變化時,就將當前所有數字信號的電平狀態(tài)都送入緩存,而對于頻率信號和脈沖信號的采集則采用如下方法。
數據的編幀和解幀
在數據采集部分中,當同步信號的上升沿到來時,將3個幀標志分別寫入3個緩存,頻率信號數據的幀標志為EB90;20路數字信號的幀標志為 2個EB91;15路脈沖信號數據的幀標志為3個EB92。讀取數據模塊中,當同步信號的下降沿到來時,開始讀取緩存的數據送至外部FIFO,并判斷當讀取一個EB90后,開始讀取緩存的數據,并送入外部FIFO;當讀到兩個EB91后,讀取緩存的數據,并送入外部FIFO;當讀到3個EB92后表明一幀數據讀取完畢,等待下一個同步信號的下降沿后再開始讀取下一幀數據。由于外部FIFO是16位,所以數據中不滿16位的都用0將數據補充完整,完整的數據幀結構如圖5所示。
上位機收到一幀數據后進行解幀處理,對于頻率信號數據,將這些T值相加并求平均得出T’,再乘以2,由于系統(tǒng)時鐘是120 MHz,所以2T’/120為頻率信號周期(μs級),然后求倒數即可得出該信號的頻率值。20路數字量信號數據直接顯示其電平狀態(tài)。脈沖信號數據則先判斷哪一路(多路)脈沖信號發(fā)生變化,再判斷該信號(幾路信號)的電平狀態(tài)。若為高電平,則對應的時間應為TBa;若為低電平,則對應的時間應為TBb。TBa即為該脈沖信號相對于同步信號的延遲,而TBb-TBa的值即為該脈沖信號的正脈沖脈寬。
【本文標簽】: 多層 pcb 多層PCB面板 沉金板 公司設備
【責任編輯】:鼎紀電子PCB??? 版權所有:http://ai-hots.com/轉載請注明出處
1《探索創(chuàng)新:12 層樹脂塞孔 HDI 四階 PCB 線路板打
8揭秘創(chuàng)新科技背后:多層板PCB的先進制造技術