新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應用 > NRZ-HDB3碼轉(zhuǎn)換器的高速長距離通信

NRZ-HDB3碼轉(zhuǎn)換器的高速長距離通信

作者: 時間:2004-12-07 來源:網(wǎng)絡 收藏
摘要:HDB3碼無直流分量,具有時鐘恢復和較好的抗干擾能力。本文提出使用HDB3碼用于的數(shù)據(jù)傳輸,并給出使用單片機AT89C51控制E1收發(fā)芯片DS2153Q實現(xiàn)的碼制轉(zhuǎn)換,包括碼的電路設(shè)計和控制軟件設(shè)計。

關(guān)鍵詞:NRZ HDB3 單片機 E1收發(fā)芯片 DS2153Q

常用的NRZ碼不適合在數(shù)據(jù)的信道中傳輸,因而選用了另外一種編碼―HDB3碼。HDB3碼是串行數(shù)據(jù)傳輸?shù)囊环N重要編碼方式。和最常用的NRZ碼相比,HDB3具有很多優(yōu)點,例如:消除了NRZ碼的直流成分,具有時鐘恢復更好的抗干擾性能,這使它更適合于信道傳輸。

E1信號選用HDB3編碼方式,速率2.048Mbps,可以在特性阻抗120Ω的RJ45平衡雙絞線上傳輸1.5km,能夠滿足大多數(shù)情況下數(shù)據(jù)的長距離傳輸。在數(shù)據(jù)速率小于2.048Mbps的高速速率時,可以通過插入額外數(shù)據(jù)比特提高數(shù)據(jù)數(shù)率。E1收發(fā)芯片DS2153Q完全符合E1信號標準,而且具備外圍微控制器接口,大大提高了該芯片的可用性。

E1有成幀、成復幀與不成幀三種方式。在成幀的E1中,第0時隙用于傳輸幀同步數(shù)據(jù),其余31個時隙可以用于傳輸有效數(shù)據(jù);在成復幀的E1中,除了第0時時隙外,第16時隙是用于傳輸信令的,只有第1~15,第17~31共30個時隙可用于傳輸有效數(shù)據(jù);而在不成幀的E1中,所有32個時隙都可用于傳輸有效數(shù)據(jù)。本文提出的NRZHDB3碼制的E1工作在不成幀方式,也就是說E1的32個時隙均用于傳輸有效數(shù)據(jù)。

1 E1收發(fā)芯片DS2153Q簡述

DS2153Q是Dallas公司的T1/E1收發(fā)芯片,符合最新的E1線路標準,包括ITU G.703、G.704、G.706、G.823、I.431、ETSI300 011、300 233、TBR12和TBR13等,該芯片能完成NRZ和HDB3碼間的相互轉(zhuǎn)換,碼率可達2.048Mb/s,而且在片內(nèi)集成了接收NRZ碼的數(shù)據(jù)時將恢復電路,更有利于后級接收電路。片內(nèi)D/A能夠?qū)崿F(xiàn)G.703標準的輸出波形,適用于75Ω和120Ω特性阻抗的雙絞線,并且具有完善的數(shù)據(jù)流狀態(tài)監(jiān)測功能,可以實時指示數(shù)據(jù)流的傳輸狀況。

DS2153Q的外圍微控制器接口使其可以很容易與單片機等MCU接口連接。其內(nèi)部的71個8位寄存器使用戶可以通過MCU對DS2135Q進行功能配置和狀態(tài)監(jiān)測這些寄存器主要有接收控制寄存器、發(fā)送控制寄存器通用控制寄存器、中斷屏蔽寄存器和工作狀態(tài)寄存器圖1為DS2135Q的內(nèi)部結(jié)構(gòu)圖。

2 碼制電路設(shè)計

NRZ-DB3碼制轉(zhuǎn)換器為NRZ碼到HDB3碼和HDB3碼到NRZ碼的轉(zhuǎn)換,設(shè)計選用專用E1收到芯片DS2153Q和單片機AT89C51實現(xiàn)該碼制的轉(zhuǎn)換功能。該碼制轉(zhuǎn)換器把輸入的NRZ轉(zhuǎn)換為HDB3碼輸出,同時接收E1線路上的數(shù)據(jù)轉(zhuǎn)換成HRZ碼,并恢復出數(shù)據(jù)時鐘,供后級數(shù)據(jù)接收單元使用。

AT89C51為Atmel公司的8位單片機,負責控制芯片DS2153Q的工作模式和狀態(tài)監(jiān),使其完成NRZ碼到HDB3碼和HDB3碼到HRZ碼的轉(zhuǎn)換。同時,該單片機的外圍電路還包括μP監(jiān)控電路IMP813L,用于提高碼制轉(zhuǎn)換器工作的抗干擾能力和可靠性。

圖2是該碼制轉(zhuǎn)換器的結(jié)構(gòu)框圖。

DS2153Q的并行數(shù)據(jù)/地址線與單片機的P0口相連;片選信號選用單片機的P2.0;單片機的讀寫信號與DS2153Q的讀寫信號相連;同時,DS2153的兩個中斷申請線與單片機的INT0和INT1相連。這樣DS2153Q可以通過中斷的方式及時通知單片機自身的工作狀態(tài)。AT89C51與DS2153Q的電路連接圖如圖3所示,通過以上的硬連接,實現(xiàn)單片機對DS2153Q的控制和狀態(tài)監(jiān)控。

圖3 AT89C51與DS2153Q電路連接圖

該碼制轉(zhuǎn)換器選用IMP813L作為μP監(jiān)控電路,實現(xiàn)可靠上電復位和看門狗控制。DS2153Q的時鐘信號是通過對單片機時鐘信號的二分頻來實現(xiàn)的。單片機選用16.384MHz的時鐘信號,使用74HC74二分頻后,得到8.192MHz的頻率信號作為DS2153Q輸入時鐘。

在DS2153Q的電路設(shè)計中,為了使其工作在不成幀方式,發(fā)送的數(shù)據(jù)全部從TSER引腳輸入,需要將引腳TLINK和TSER短接。發(fā)光二極管用于轉(zhuǎn)換器的工作指示,可以直觀判斷當前數(shù)據(jù)轉(zhuǎn)換是否正常。

該碼制轉(zhuǎn)換器使用特性阻抗120Ω的RJ45平衡雙絞線進行數(shù)據(jù)傳輸,DS2153Q收發(fā)電路如圖4所示,傳輸變壓器輸入輸出匝數(shù)比為1:1.36。

3 單片機控制程序設(shè)計

轉(zhuǎn)換器單片機控制程序包括兩部分:DS2153Q的功能配置和DS2153Q工作狀態(tài)監(jiān)控。DS2153Q的功能配置實現(xiàn)HDB3碼的正常動作;DS2153Q工作狀態(tài)監(jiān)控用來實時獲得當前轉(zhuǎn)換器是否工作正常,并及時上報和指示。

3.1 DS2153Q功能配置

轉(zhuǎn)換器上電后,首先由μP監(jiān)控電路進行有效復位,保證單片機的正常初始化,一單片機即進入芯片DS2153Q的配置過程。

①初始化測試寄存器,向相應測試寄存器寫0即寫。

②進行接收控制存器(RCR)的配置,包括接收幀模式、自動重同步使能、重同步準則和接收動態(tài)存儲功能等,使DS2153Q接收單片工作在Auto Resync、Disable Elastic Store。

③進行發(fā)送控制存器(TCR)的配置,包括發(fā)送幀模式、自動設(shè)置故障位和16位引腳的功能選擇等,使DS2153Q發(fā)送單元工作在E-bits not automatically set in the transmit direction,并根據(jù)當前轉(zhuǎn)換模式的不同設(shè)置16引腳的功能,0=Receive Loss of Sync(RLOS)、1=Loss of Transmit Clock(LOTC)。

④進行通用控制存器(CCR)的配置,使能DS2153Q、HDB3碼的接收和發(fā)送、配置錯誤計數(shù)器更新時間、禁止動態(tài)存儲發(fā)送數(shù)據(jù)等。

⑤初始化中斷屏蔽寄存器,使能接收載波丟失、接收失步中斷、接收數(shù)據(jù)全0和全1中斷,使能發(fā)送時鐘丟失中斷,通過這些中斷使單片機可以及時得知DS2153Q的工作狀態(tài),實現(xiàn)單片機對其的實施監(jiān)測。

⑥初始化傳輸線接口單元,向LIRST數(shù)據(jù)位寫0,然后寫1,使傳輸線接口進入正常工作模式。

⑦初始化傳輸線接口控制寄存器,包括傳輸波形選擇、接收均衡器增益選擇、抗抖動抑器選擇等。

單片機控制流程如圖5所示。

下面是DS2153Q的功能配置程序(部分)。

;*****************************************************;

MOV A,02H

MOV DPTR,#RCR1

MOVX @DPTR,A ;寫寄存器RCR1,使能自動重新同步

NOP

MOV A,#04H

MOV DPTR,#RCR2

MOVX @DPTR,A ;寫寄存器RCR2,禁止彈性存儲功能

NOP

MOV A,#41H

MOV DPTR,#TCR1

MOVX @DPTR,A ;寫寄存器TCR1,TSYNC為輸出方式

NOP

MOV A,#0F9H

MOV DPTR,#TCR2

MOVX @DPTR,A ;寫寄存器TCR2,E數(shù)據(jù)位禁止自動置位

NOP

MOV A,#44H

MOV DPTR,#CCR1

MOVX @DPTR,A ;寫寄存器CCR1,允許接收和發(fā)

NOP ;HDB3碼

NOV A,#00H

MOV DPTR,#CCR2

MOVX @DPTR,A ;寫寄存器CCR2,配置錯誤計數(shù)寄存器

NOP

;********************************************************

3.2 DS2153Q狀態(tài)監(jiān)控設(shè)計

在完成DS2153Q的寄存器配置后,單片機即進入傳輸狀態(tài)監(jiān)測程序,實時監(jiān)控DS2153Q的工作正常與否,包括狀態(tài)寄存器的讀取和DS2153Q中斷的響應,并從中判斷故障、及時通報。

(1)發(fā)送狀態(tài)監(jiān)控

DS2153Q的發(fā)送狀態(tài)監(jiān)控是通過單片機的INT1來實現(xiàn)的。當狀態(tài)寄存器的發(fā)送狀態(tài)位置1,則DS2153Q產(chǎn)生中斷,片機響應該中斷來讀取當前狀態(tài)寄存器的故障位。當讀取完畢后,需要向該狀態(tài)寄存器特定狀態(tài)位寫1,保證以后的故障可以正確置位。

下面給出了NRZ發(fā)送時鐘丟失故障的狀態(tài)監(jiān)控程序(中斷1處理程序)。

MOV DPTR,#SR2 ;讀DS2153Q狀態(tài)寄存器2

NOP

MOVX A,@DPTR

ANL A,#04H

JNZ ERROR

SJMP FAVER

ERROR:SETB ERR_SR

SJMP LOCKE

FAVER:CLR ERR_SR

LOCKE:JNB ERR_SR,WORK ;判斷發(fā)送數(shù)據(jù)時鐘丟失與否

SETB P1.0 ;故障,工作指示二極管滅

SJMP EVER

WORK:CLR P1.0 ;正常,工作指示二極管亮

EVER:MOV DPTR,#SR2

MOV A,#04H

MOVX @DPTR,A

RETI

(2)接收狀態(tài)監(jiān)控

DS2153Q的接收狀態(tài)監(jiān)控是通過單片機的INT0來實現(xiàn)的。當狀態(tài)寄存器的發(fā)送狀態(tài)位置1,則DS2153Q產(chǎn)生中斷,單片機響應該中斷來讀取當前狀態(tài)寄存器的故障位。當讀取完畢后,需要向該狀態(tài)寄存器的特定狀態(tài)位寫1,保證以后的故障可以正確置位。

下面給出了HDB3碼接收載波丟失故障的狀態(tài)監(jiān)控程序(中斷0處理程序)。

MOV DPTR,#SR1 ;讀DS2153Q狀態(tài)寄存器21

NOP

MOVX A,@DPTR

ANL A,#02H

JNZ ERROR

SJMP FAVER

EPPOR:SETB ERR_SR

SJMP LOCKE

FAVER:CLR ERR_SR

LOCKE:JNB ERR_SR,WORK ;判斷接收載波丟失與否

SETB P1.0 ;故障,工作指示二極管滅

SJMP EVER

WORK:CLR P1.0 ;正常,工作指示二極管亮

EVER:MOV DPTR,#SR1

MOV A,#02H

MOVX @DPTR,A

RETI

4 總結(jié)

NRZ-DB3碼制轉(zhuǎn)換器采用E1收發(fā)芯片DS2153Q,完成NRZ碼到HDB3碼和HDB3碼到NRZ碼的轉(zhuǎn)換,實現(xiàn)高速長距離的數(shù)據(jù)傳輸,使2.048Mb/s數(shù)據(jù)流在RJ45接口的雙絞線上實現(xiàn)1.5km的傳輸距離,滿足大多數(shù)的高速數(shù)據(jù)傳輸情況。



評論


相關(guān)推薦

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

關(guān)閉