顧 涵
常熟理工學(xué)院物理與電子工程學(xué)院;江蘇常熟 215500
類曼徹斯特碼是一種利用自同步法保持位同步的線路碼型,它用上升沿來表示一個碼元的開始,然后連續(xù)兩個時鐘信號的高電平表示“1”,對應(yīng)編碼數(shù)據(jù)“0100”,反之連續(xù)兩個時鐘的低電平表示“0”,對應(yīng)編碼數(shù)據(jù)“0111”。經(jīng)類曼徹斯特編碼后,無論是數(shù)據(jù)“1”還是數(shù)據(jù)“0”,在開始的時候都有一個上升沿,包含了時鐘信息,正是具有這一特點(diǎn),類曼徹斯特編碼發(fā)送功能的設(shè)計實(shí)現(xiàn)解決了串行數(shù)據(jù)傳輸?shù)耐綍r鐘問題。
在硬件設(shè)計時采用LVDS 差分電路,LVDS 是一種低擺幅的差分信號技術(shù),它使得信號能夠在差分平衡電纜上以幾百M(fèi)bps 的速率傳輸,其低壓幅和低電流的驅(qū)動輸出完全達(dá)到了低噪聲和低功耗的要求。本設(shè)計中,F(xiàn)PGA 傳出的串行數(shù)據(jù)通過差分電路的轉(zhuǎn)換,形成差分形式的數(shù)據(jù),向外傳輸,設(shè)計電路如圖1 所示。
圖1 發(fā)送模塊
該電路臨近輸出端串接了10Ω 的電阻,可以防止差分線對短路,缺點(diǎn)在于420mV 的驅(qū)動電壓已接近數(shù)據(jù)手冊中給出的Vod 最大值454mV。同時設(shè)計中還需要考慮信號反射問題,這種現(xiàn)象的產(chǎn)生會導(dǎo)致噪聲類型的轉(zhuǎn)變,使其從原來的共模信號轉(zhuǎn)變?yōu)椴钅P盘?,從而降低?shù)據(jù)傳輸?shù)臏?zhǔn)確性。為了避免這一問題,我們在設(shè)計中應(yīng)做到在信號值不同時輸出阻抗保持不變,同時,輸出阻抗的下限只能稍小于傳輸線特性阻抗,而它的上限必須略大于傳輸線的特性阻抗。
類曼徹斯特編碼可以分為三步進(jìn)行。第一步,檢測編碼周期是否開始并發(fā)送開始信號;第二步,對十五位數(shù)據(jù)進(jìn)行類曼徹斯特編碼;第三步,采用偶校驗(yàn)方式生成校驗(yàn)位,完成編碼周期。具體編程時可以分為數(shù)據(jù)定義、數(shù)據(jù)轉(zhuǎn)換及校驗(yàn)和數(shù)據(jù)編碼及發(fā)送三大模塊。
當(dāng)時鐘的上升沿到來時,若復(fù)位信號有效則將數(shù)據(jù)位、校驗(yàn)位都清零,否則count_state1 加1。若count_state1 為011 則表示一個數(shù)據(jù)位傳輸?shù)拈_始,傳1 位數(shù)據(jù),傳送完該數(shù)據(jù)共經(jīng)歷四個時鐘周期,在這四個時鐘周期內(nèi)count_state1共經(jīng)歷四個時鐘周期的轉(zhuǎn)換,其狀態(tài)轉(zhuǎn)換流程如圖2 所示。
圖2 count_state1 的狀態(tài)轉(zhuǎn)換圖
數(shù)據(jù)定義模塊完成對輸入輸出信號的定義,具體程序?yàn)椋?/p>
該模塊采用狀態(tài)機(jī)完成16 位并行數(shù)據(jù)到串行數(shù)據(jù)的轉(zhuǎn)換,通過逐位異或運(yùn)算來生成奇偶校驗(yàn)位,具體程序?yàn)椋?/p>
該模塊對每一位數(shù)據(jù)進(jìn)行編碼并發(fā)送,具體程序?yàn)椋?/p>
我們采用ISim 進(jìn)行波形仿真來測試編碼模塊功能的準(zhǔn)確性,以下給出了具體的ISim 測試程序,測試波形如圖3 所示。從圖中可以看出,當(dāng)輸入數(shù)據(jù)分別為0 和5 時,對應(yīng)波形輸出與類曼徹斯特編碼規(guī)則相符,符合預(yù)期設(shè)計。
圖3 編碼仿真波形
[1]劉江海.EDA技術(shù)[M].華中科技大學(xué)出版社,2009.
[2]漢譯西.EDA技術(shù)及其應(yīng)用[M].北京航空航天大學(xué)出版社,2011.
[3]王曉聰.基于FPGA的HDB3碼編碼器優(yōu)化設(shè)計與分析[J].現(xiàn)代電子技術(shù),2011.
[4]黃仁欣.EDA技術(shù)實(shí)用教程.清華大學(xué)出版社,2010.
[5]肖娟.基于FPGA的移動通信中卷積碼編碼器設(shè)計[J].現(xiàn)代電子技術(shù),2012.