基于CPLD/FPGA的CMI編碼設計與實現(xiàn)
“1”編碼的實現(xiàn):在原始時鐘信號的二分頻信號的上升沿對m序列進行檢測,如果其值為“1”,用表達式statel=statel X0R m_buff(O)對“1”的奇偶進行記錄;在原始時鐘的下降沿,將statel的值賦給編碼輸出即可實現(xiàn)對“1”的“00”,“11”交替編碼。
其中:m_test:產(chǎn)生的m序列;
MUX_DT:CMI編碼輸出;
MUX_CLK:原始時鐘。
3 仿真結(jié)果
在Max+PlusⅡ平臺下對CMI編碼進行編譯和仿真,最后得到CMI編碼仿真結(jié)果。圖2是CMI碼編碼波形圖。
在時鐘MUX_CLK驅(qū)動下工作,m_test是產(chǎn)生的m序列1011100,MUX_的DT為CMI編碼輸出,可以看到,編碼為11010011000101,有一定延時,但編碼完全正確。
4 結(jié)語
該設計詳細介紹了基于CPLD的CMI編碼的實現(xiàn)方法。提出利用原始信號的二分頻后的信號求非賦值給編碼輸出,得到“0”的編碼,利用緩存對“1”的個數(shù)進行記錄,而對“1”進行編碼的編程思路,利用VHDL進行程序設計實現(xiàn),在Max+PlusⅡ平臺下對設計結(jié)果進行仿真,結(jié)果完全正確。
實踐表明,運用CPLD實現(xiàn)CMI編碼具有軟件開發(fā)周期短、成本低、執(zhí)行速度高、實時性強、升級方便等特點,而且可以把該電路和其他功能電路集成在同一塊CPLD/FPGA中,減少了外接元件的數(shù)目,提高了集成度,而且有很大的編程靈活性,很強的移植性,因此有很好的應用前景。
評論