一種使用CPLDB件產(chǎn)生 巴克碼的實現(xiàn)方法
0 引言
通信系統(tǒng)中的同步技術(shù)起著相當(dāng)重要的作用。通信系統(tǒng)能否有效地、可靠地工作,很大程度上依賴于有無良好的同步系統(tǒng)。通信系統(tǒng)中的同步可分為載波同步、位同步、幀同步等幾大類。在數(shù)字通信中,消息是一串連續(xù)的信號碼元序列,解調(diào)時常須知道每個碼元的起止時刻。因此,通常要求接收端必須能產(chǎn)生一個用作定時的脈沖序列,以便與接收的每一個碼元的起止時刻一一對齊。在接收端產(chǎn)生與接收碼元的重復(fù)頻率和相位一致的定時脈沖序列的過程稱為碼元同步或位同步。由于數(shù)字通信中的消息數(shù)字流總是用若干碼元組成一個“字”,又用若干“字”組成一“句”。因此,在接收這些數(shù)字流時,同樣也必須知道這些“字”、“句”的起止時刻,并在接收端產(chǎn)生與“字”、“句”起止時刻相一致的定時脈沖序列,統(tǒng)稱為群同步或幀同步。實現(xiàn)幀同步的方法通常有起止式同步法和集中式插入同步法兩種。起止式同步比較簡單,一般是在數(shù)據(jù)碼元的開始和結(jié)束位置加入特定的起始和停止脈沖來表示數(shù)據(jù)幀的開始和結(jié)束。而集中式插入同步法則要求插入的同步碼在接收端進(jìn)行同步識別時出現(xiàn)偽同步的概率盡可能小,并且要求該碼組具有尖銳的自相關(guān)函數(shù)以便于識別。目前用得比較廣泛的是性能良好的巴克(Barker)碼。
1 巴克碼簡介
巴克碼主要用于通信系統(tǒng)中的幀同步,其特點是具有尖銳的自相關(guān)函數(shù),便于與隨機(jī)的數(shù)字信息相區(qū)別,易于識別,出現(xiàn)偽同步的可能性較小。巴克碼是一種具有特殊規(guī)律的二進(jìn)制碼組,它是一種非周期序列。一個n位的巴克碼組為{xl,x2,x3,…,xn},其中xi的取值是+1或一1。目前已發(fā)現(xiàn)的所有巴克碼組如表1所列。
表1中,“+”表示取值為高電平1,“一”表示取值為低電平0。11位巴克碼組的識別器比較容易實現(xiàn)。圖1所示是ll位巴克碼識別器的原理圖。它由ll級移位寄存器組成。依據(jù)上面的巴克碼組可知,11位的巴克碼發(fā)生器應(yīng)在輸入時鐘信號作用下依次產(chǎn)生“11100010010”的碼元序列。
2 系統(tǒng)電路設(shè)計
一個巴克碼系統(tǒng)通常由巴克碼發(fā)生器和其譯碼器組成。圖2所示是一個巴克碼發(fā)生器及其譯碼器的電路原理圖。其中:EN為使能信號,高電平有效;CN為工作方式選擇信號,高電平時發(fā)送單個的巴克碼,低電平時發(fā)送連續(xù)的巴克碼;CLK為時鐘輸入信號;QOUT為巴克碼發(fā)生器輸出信號;DIN為輸入信號;CLR為清除信號;SEQIJENCE—OUT為巴克碼譯碼器的輸出信號。
3 基于CPLD的電路設(shè)計與實現(xiàn)
3.1 芯片的選擇
設(shè)計可選用Altera公司的MAX7000系列可編程邏輯器件EPM7128SLC84210。該器件是由簡單的PAL、GAL器件發(fā)展而來,只是結(jié)構(gòu)更復(fù)雜,功能更強(qiáng)大而已。從最初的電路設(shè)計思想到MAX+PLUSⅡ的波形仿真,再到CPLD芯片編程結(jié)束,所要經(jīng)過的一般開發(fā)流程如圖3所示。
3.2 硬件描述語言
首先,應(yīng)啟動MAX+plusⅡ主界面。用戶通??捎靡韵聨追N方式描述自己的設(shè)計思想:原理圖輸入、硬件描述語言輸入(AHDL、VHDL)、波形設(shè)計輸入、層次設(shè)計輸入和底層設(shè)計輸入。本例采用VHDL程序設(shè)計。其巴克碼發(fā)生器的VHDL語言如下:
與此類似,也可寫出巴克碼譯碼器的程序。
4 編程與下載
當(dāng)整個設(shè)計完成后,MAX+PLUSⅡ?qū)⑸梢粋€燒考文件(barkll.pof)。用戶可以根據(jù)自己的設(shè)計需要對芯片進(jìn)行編程,并將其構(gòu)造成自己的專用芯片。對于MAX7000系列芯片,通??捎孟螺d電纜從計算機(jī)串口將編程或配置數(shù)據(jù)傳送到CPLD芯片。本例采用JTAG實現(xiàn)單器件的在系統(tǒng)編程,將Bit2Blaster電纜的一端與PC機(jī)的RS232串口相連,另一端10芯插頭與用戶試驗板上左側(cè)的10針插座相連,并給試驗板加上5伏電源。然后點擊快捷鈕,并打開MAX+plusII編程窗口,選擇菜單命令Op—tions/Hard2Ware Setup,在出現(xiàn)設(shè)置編程硬件對話框后,在下拉菜單中選擇BitBlaster,接著指定配置時使用的串口(COMl),再選擇OK,最后,點擊Program即可開始編程下載。
5 結(jié)束語
CPLD與中小規(guī)模的標(biāo)準(zhǔn)器件相比,其工作速度快,集成度高,功耗低,適應(yīng)性強(qiáng)。因此,CPLD技術(shù)已經(jīng)越來越受到電子設(shè)計人員的歡迎,并已成為設(shè)計和實現(xiàn)數(shù)字系統(tǒng)的主要方式,在電子系統(tǒng)設(shè)計中占據(jù)著越來越重要的地位。