<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 用CPLD控制曼徹斯特編解碼器

          用CPLD控制曼徹斯特編解碼器

          作者: 時間:2004-12-08 來源:網(wǎng)絡(luò) 收藏
          摘要:討論如何使用實現(xiàn)單片機與的接口。設(shè)計時采用自頂向下的流程,具體電路可靈活地添加到各種碼接口系統(tǒng)中。

          關(guān)鍵詞: T2模式 T5模式

          引 言

            在油田測井中,井下儀在井下采集大量信息,并傳送給地面測井系統(tǒng);但井下儀到地面這段信道的傳輸性能并不好,常用的NRZ碼不適合在這樣的信道里傳輸,而且NRZ碼含有豐富的直流分量,容易引起滾筒的磁化,因而選用了另外一種編碼 ――曼徹斯特碼。曼徹斯特編碼是串行數(shù)據(jù)傳輸?shù)囊环N重要的編碼方式。和最常用的NRZ碼相比,曼徹斯特碼具有很多優(yōu)點。例如,消除了NRZ碼的直流成分,具有時鐘恢復(fù)和更好的抗干擾性能,這使它更適合于信道傳輸。

            但曼徹斯特碼的時序比較復(fù)雜,實現(xiàn)和單片機的接口需要添加大量的邏輯電路,給電路設(shè)計和調(diào)試帶來很多困難。使用可大大簡化這一過程。(Complex Programmable Logic Devices)具有用戶可編程、時序可預(yù)測、速度高和容易使用等優(yōu)點,這幾年得到了飛速發(fā)展和廣泛應(yīng)用。上至高性能CPU,下至簡單的74電路,都可以用CPLD來實現(xiàn)。而且CPLD的可編程性,使修改和產(chǎn)品升級變得十分方便。用戶可以根據(jù)原理圖或硬件描述語言自由地設(shè)計一個數(shù)字系統(tǒng),然后通過軟件仿真,事先驗證設(shè)計的正確性。PCB完成以后,還可以利用PLD的在線修改能力,隨時修改設(shè)計而不必改動硬件電路,從而大大縮短了設(shè)計和調(diào)試時間,減少了PCB面積,提高了系統(tǒng)的可靠性。

          1 選用器件和開發(fā)軟件

          1.1 選用器件

            (1)XC95144

            Xilinx公司的XC9500系列產(chǎn)品具有業(yè)界領(lǐng)先的速度,同時,具有增強引腳鎖定結(jié)構(gòu)和支持全面的IEEE Std. 1149.1 JTAG邊界掃描,向用戶提供了更高的靈活性。XC9500體系由多個同一功能塊組成,每個功能塊內(nèi)含18個宏單元,引腳到引腳速度最快支持到5 ns;支持125 MHz時鐘速率,I/O口接口電平5 V、3.3 V或兩者皆可。其中XC95144內(nèi)部有144個宏單元。

           ?。?)HD-6408和HD-6409

            HD-6408和HD-6409是Intersil公司的產(chǎn)品,兩者均是曼徹斯特編解碼器。

            HD-6408編碼器轉(zhuǎn)換串行NRZ數(shù)據(jù)(通常來自移位寄存器)為曼徹斯特編碼,增加一個同步頭和一個奇偶位。解碼器識別這個同步頭,并判斷出這是數(shù)據(jù)同步,還是命令同步,數(shù)據(jù)解碼后移出NRZ碼(通常送到移位寄存器中)。最后檢查奇偶校驗位。如果沒有編碼或奇偶校驗方面的錯誤,解碼器將輸出一個有效信號,表明接收到一個有效的字。解碼器能夠向輸入的曼徹斯特碼字以很高的速率提供時鐘恢復(fù)和優(yōu)異的抗干擾能力。HD-6408使用在很多商業(yè)應(yīng)用場合,例如安全系統(tǒng)、環(huán)境控制系統(tǒng)及串行數(shù)據(jù)鏈等。它的數(shù)據(jù)傳輸速率高達1 Mb/s,開銷很小,20位中有16位可用來傳輸數(shù)據(jù)。

            HD-6409曼徹斯特編解碼器使用原理與HD-6408略有差別,但基本相似。

          1.2 使用軟件

            CPLD編程軟件選擇Xilinx Foundation 3.1i。該軟件界面友好,功能強大,提供了開發(fā)CPLD所需的整個流程,包括:編輯、綜合、實現(xiàn)、仿真及 下載等。該軟件可人工指定引腳,編譯各個子模塊文件,并提供了兩種仿真:功能仿真和時序仿真。其中時序仿真對時序提出了要求,是更嚴格的仿真。

          2 曼碼控制系統(tǒng)設(shè)計

          2.1 系統(tǒng)說明

            系統(tǒng)中,HD-6408以T2模式(20.8 Kb/s)從地面接收數(shù)據(jù),HD-6409以T5模式 ( 93.75 Kb/s)向地面發(fā)送數(shù)據(jù)。

            接收時,HD-6408接收外部傳來的曼碼數(shù)據(jù),轉(zhuǎn)換成NRZ碼在CPLD里進行串并轉(zhuǎn)換,轉(zhuǎn)換完成后產(chǎn)生接收中斷,通知單片機取數(shù)據(jù);發(fā)送時,單片機送給CPLD數(shù)據(jù),進行并串轉(zhuǎn)換,移位輸出到HD-6409的輸入端,由HD-6409編碼發(fā)送出去。接收地址和發(fā)送地址均由CPLD解碼產(chǎn)生。HD-6408和HD-6409所需的外部時鐘源,通過CPLD對外部晶振分頻得到。

          2.2 CPLD內(nèi)部功能設(shè)計

          2.2.1 系統(tǒng)總體框圖

            設(shè)計CPLD內(nèi)部電路時,采用了模塊化設(shè)計方法,內(nèi)含5個模塊:16位串并轉(zhuǎn)換器、16位并串轉(zhuǎn)換器、分頻器、解碼器及控制器。系統(tǒng)頂層邏輯框圖如圖1所示。

            以上模塊均采用VHDL語言描述??刂破魇呛诵牟糠?,實現(xiàn)對HD-6408接收和HD-6409發(fā)送的時序控制。

          2.2.2 HD-6408解碼時序

            HD-6408的接收時序如圖2所示。

           ?。?)引腳定義

          VW:輸出字有效信號。

          DSC:解碼移位時鐘。

          TD:接收數(shù)據(jù)信號。

          SDO:串行數(shù)據(jù)輸出。

          BZI、BOI:雙極性數(shù)據(jù)輸入。

           ?。?)解碼時序過程

            解碼器一直監(jiān)視數(shù)據(jù)輸入線,當接收到有效的同步頭和兩個有效的曼徹斯特碼數(shù)據(jù)位后,便開始輸出。當同步頭被識別后,CDS引腳輸出同步的類型:如果接收的是命令,便輸出高并保持16個DSC周期;如果接收的是數(shù)據(jù),就繼續(xù)保持低電平。TD變高,并在SDO輸出NRZ數(shù)據(jù)期間一直為高。SDO輸出一個字后,開始檢驗奇偶位。如果曼徹斯特碼和奇偶位都正確,VW信號輸出高,此時解碼器開始尋找新的同步頭,開始下一個接收周期。接收到新的有效的同步頭和兩個曼徹斯特碼位后,VW信號被復(fù)位;否則,在持續(xù)大約20個DSC周期后,VW信號變低。

          2.2.3 HD-6409發(fā)送時序

          HD-6409發(fā)送時序如圖3所示。  

          (1)引腳定義

          SD/CDS:串行NRZ碼數(shù)據(jù)輸入。

          CTS:清除準備發(fā)送信號。

          ECLK:編碼時鐘。

          BZO、BOO:曼徹斯特編碼數(shù)據(jù)輸出。

          (2)編碼時序過程

            CTS信號高無效,低有效。在CTS信號的下降沿,引腳BZO和BOO開始發(fā)送同步序列(8個曼碼“0”組成)。同步序列后就是命令同步脈沖(由1.5位高電平和1.5位低電平組成)。在輸出命令同步脈沖時,NRZ數(shù)據(jù)在ECLK的下降沿通過SD/CDS引腳輸入,這些數(shù)據(jù)編碼后在命令同步序列后持續(xù)輸出。這些碼字沒有奇偶校驗和字結(jié)構(gòu)。編碼數(shù)據(jù)塊的長度由CTS決定。

          2.2.4 VHDL源程序

            控制器的VHDL源文件如下(程序較長,附核心部分):

          process (controlcs)

          begin

          if(controlcs 'vent and controlcs= '1') then

          control_data = databus;

          end if;

          end process;

          ee08 = reset and control_data(0);

          lclk595 = not td08;

          sclk595 =td08 and dsc08;

          lclk597 =control_data(3) and qq_out;

          sclk597 = (not(esc08 and sd08)) and (not eclk09);

          tdd08 = not(td08);

          cdss08 =not(cds08);

          cts09 = control_data(1);

          load =(ee_bit or (not(control_data(1))))and qq_out;

          dr08 = control_data(2);

          ss08 =control_data(4);

          mr08 = control_data(5);

          信號說明如下:

          control_data――8位控制寄存器;

          controlcs――控制寄存器片選信號,低有效;

          mr08――hd-6408的主復(fù)位信號,高有效;

          dr08――hd-6408的編碼器復(fù)位信號,高有效;

          ee08――hd-6408的使能信號,高有效;

          ss08――編碼同步頭選擇;

          cts09――hd-6409的使能信號,低有效;

          lclk595――串并轉(zhuǎn)換器的載入數(shù)據(jù)信號;

          sclk595――串并轉(zhuǎn)換器的時鐘信號;

          lclk597――并串轉(zhuǎn)換器的載入數(shù)據(jù)信號;

          sclk597――并串轉(zhuǎn)換器的時鐘信號;

          load――16位計數(shù)器載入初值信號;

          qq_out――16位邊界指示器;

          tdd08――觸發(fā)中斷信號。

          3 仿真與實現(xiàn)

            本系統(tǒng)采用Xilinx公司生產(chǎn)的XC95144芯片,使用Xilinx Foudation 3.1i軟件進行開發(fā)。所用VHDL程序通過時序仿真和下載后,觀察波形并進行實際驗證,可以正確地接收和發(fā)送曼徹斯特碼,符合設(shè)計要求。

          4 結(jié) 論

          本系統(tǒng)時序配合嚴格,運行可靠,易于修改;可以根據(jù)需要,靈活地加入各種各樣的使用曼徹斯特碼通信的系統(tǒng)中。



          關(guān)鍵詞: CPLD 曼徹斯特 編解碼器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();