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