基于FPGA的CMI編碼系統(tǒng)設計
圖1給出了FPGA的配置電路圖,主要包括FPGA的主動(Active)方式和JTAG方式加載電路,以及專用串行配置芯片EPCS1與FPGA的連接關系。本文引用地址:http://www.ex-cimer.com/article/191302.htm
2 CMI編碼系統(tǒng)的程序設計
在系統(tǒng)程序設計過程中,將m序列作為基帶輸入碼,然后程序再對m序列進行CMI碼型變換,最后輸出CMI碼型。通過對CMI編碼規(guī)則的分析,1位輸入碼元對應2位輸出編碼,因此CNI碼元輸出速率是輸入m序列碼元速率的2倍。在程序設計中,要保持m序列進程時鐘為CMI編碼進程時鐘的2倍頻,這是完成CMI編碼任務的前提。
m序列是最長線性反饋移存器序列的簡稱,m序列具有平衡性、游程特性、線性疊加性、自相關特性和偽噪聲特性,應用十分廣泛。設計采用m序列產(chǎn)生器產(chǎn)生的m序列作為CMI編碼的數(shù)據(jù)源,用4級移存器構成周期為P=24-1=15的m序列發(fā)生器。m序列發(fā)生器的結構圖如圖2所示,其中A0、A1、A2、A3分別代表一個寄存器。
在對m序列進行CMI編碼的程序設計時,要注意的問題是,1碼對應的輸出是與前一個1碼的狀態(tài)有關,因此要對1碼的狀態(tài)進行記錄,從而實現(xiàn)1碼對應的00和11碼型交替輸出。
CMI編碼系統(tǒng)設計軟件環(huán)境采用的是QuartusⅡ軟件平臺,QuartusⅡ是一種綜合開發(fā)工具,它集成了Altera的FPGA/CPLD開發(fā)流程中所涉及的所有工具和第三方軟件接口。通過使用此綜合開發(fā)工具,設計者可以創(chuàng)建、組織和管理自己的設計,主要包括設計輸入、綜合、布局布線、時序分析、仿真、編程與配置過程。QuartusⅡ支持多時鐘定時分析,內(nèi)嵌SignalTapⅡ邏輯分析器、功率估計器等高級工具,易于管腳分配和時序約束,具有強大的HDL綜合能力。
SignalTapⅡ邏輯分析器是很重要的測試工具,它是對FPGA的硬件信號進行讀取,可以捕獲和顯示FPGA內(nèi)部的實時信號行為,從而能夠讓設計者直觀的判斷出邏輯是否準確。SignalTapⅡ的功能類似于邏輯分析儀,但與傳統(tǒng)的邏輯分析儀相比,具有如下優(yōu)點:使用SignalTapⅡ邏輯分析器不占用額外的I/O管腳,若使用傳統(tǒng)的邏輯分析儀觀察信號波形,則必須將待觀察信號引到空閑管腳;SignalTapⅡ邏輯分析器不占用PCB上的空間,若使用傳統(tǒng)邏輯分析儀,需要從FPGA器件上引出測試管腳到PCB上,這樣增加了PCB走線難度;SignalTapⅡ邏輯分析器還不會破壞信號的完整性;SignalTapⅡ邏輯分析器集成在QuartusⅡ軟件中,無需另外付費,而傳統(tǒng)的邏輯分析儀則價格昂貴。
程序采用Verilog HDL語言進行設計,下面給出了CMI編碼的部分源程序:
評論