基于1553B總線協(xié)議的解碼器設(shè)計和FPGA實現(xiàn)
狀態(tài)機模塊是要正確地協(xié)調(diào)工作同步頭檢出模塊和數(shù)據(jù)處理模塊,如圖8所示狀態(tài)機模塊的狀態(tài)轉(zhuǎn)移圖。當狀態(tài)機被使能時,說明1553B總線數(shù)據(jù)來臨,此時狀態(tài)機產(chǎn)生SyncV end信號告訴同步頭檢出模塊開始工作。當同步頭檢出模塊工作結(jié)束時,產(chǎn)生Sync ready信號,告訴狀態(tài)機要開啟數(shù)據(jù)處理???。當數(shù)據(jù)處理模塊工作到一定時間時會產(chǎn)生一個sync head信號,這個信號的意義是要讓狀態(tài)機告訴同步頭檢出模塊開始檢測下一個字的同步頭。而此時數(shù)據(jù)處理模塊還沒有工作完,只有當數(shù)據(jù)處理模塊產(chǎn)生finish信號時,才表示數(shù)據(jù)處理模塊工作完成,告訴狀態(tài)機關(guān)閉數(shù)據(jù)處理模塊。圖9所示是狀態(tài)機頂層圖。本文引用地址:http://www.ex-cimer.com/article/191237.htm
在QuartuslI中的原理圖輸入界面中,將以上各模塊正確地連接在一起,如圖10所示為1553B總線的manchesterII型碼解碼器的頂層設(shè)計原理圖。
3 時序約束與驗證
時序約束是FPGA設(shè)計中非常重要的環(huán)節(jié),只有建立了合理的時序約束,設(shè)計才能正常地工作。如今的FPGA中一般都有全銅層的全局時鐘驅(qū)動網(wǎng)絡(luò),本設(shè)計中16MHz的時鐘設(shè)置成全局時鐘,可以有效地避免這些時鐘信號到達各寄存器時鐘短的時鐘偏斜。將時鐘的最高頻率設(shè)置成16.8MHz。圖11所示為解碼器的仿真時序圖,解碼器在一個字周期之后,解碼出數(shù)據(jù)為1110111011111011。
文章詳細介紹了一種利用FPGA實現(xiàn)的1553B總線用的ManchesterlI型碼解碼器,文章給出了解碼器各模塊的功能和實現(xiàn)方法,最后給出了頂層設(shè)計原理圖。給出的仿真時序圖證明這是一種可靠的實現(xiàn)方法。
評論