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