NRZ-HDB3碼轉(zhuǎn)換器的高速長(zhǎng)距離通信
關(guān)鍵詞:NRZ HDB3 單片機(jī) E1收發(fā)芯片 DS2153Q
常用的NRZ碼不適合在高速長(zhǎng)距離數(shù)據(jù)通信的信道中傳輸,因而選用了另外一種編碼―HDB3碼。HDB3碼是串行數(shù)據(jù)傳輸?shù)囊环N重要編碼方式。和最常用的NRZ碼相比,HDB3具有很多優(yōu)點(diǎn),例如:消除了NRZ碼的直流成分,具有時(shí)鐘恢復(fù)更好的抗干擾性能,這使它更適合于長(zhǎng)距離信道傳輸。
E1信號(hào)選用HDB3編碼方式,速率2.048Mbps,可以在特性阻抗120Ω的RJ45平衡雙絞線上傳輸1.5km,能夠滿足大多數(shù)情況下數(shù)據(jù)的高速長(zhǎng)距離傳輸。在數(shù)據(jù)速率小于2.048Mbps的高速速率時(shí),可以通過插入額外數(shù)據(jù)比特提高數(shù)據(jù)數(shù)率。E1收發(fā)芯片DS2153Q完全符合E1信號(hào)標(biāo)準(zhǔn),而且具備外圍微控制器接口,大大提高了該芯片的可用性。
E1有成幀、成復(fù)幀與不成幀三種方式。在成幀的E1中,第0時(shí)隙用于傳輸幀同步數(shù)據(jù),其余31個(gè)時(shí)隙可以用于傳輸有效數(shù)據(jù);在成復(fù)幀的E1中,除了第0時(shí)時(shí)隙外,第16時(shí)隙是用于傳輸信令的,只有第1~15,第17~31共30個(gè)時(shí)隙可用于傳輸有效數(shù)據(jù);而在不成幀的E1中,所有32個(gè)時(shí)隙都可用于傳輸有效數(shù)據(jù)。本文提出的NRZHDB3碼制轉(zhuǎn)換器的E1工作在不成幀方式,也就是說E1的32個(gè)時(shí)隙均用于傳輸有效數(shù)據(jù)。
1 E1收發(fā)芯片DS2153Q簡(jiǎn)述
DS2153Q是Dallas公司的T1/E1收發(fā)芯片,符合最新的E1線路標(biāo)準(zhǔn),包括ITU G.703、G.704、G.706、G.823、I.431、ETSI300 011、300 233、TBR12和TBR13等,該芯片能完成NRZ和HDB3碼間的相互轉(zhuǎn)換,碼率可達(dá)2.048Mb/s,而且在片內(nèi)集成了接收NRZ碼的數(shù)據(jù)時(shí)將恢復(fù)電路,更有利于后級(jí)接收電路。片內(nèi)D/A能夠?qū)崿F(xiàn)G.703標(biāo)準(zhǔn)的輸出波形,適用于75Ω和120Ω特性阻抗的雙絞線,并且具有完善的數(shù)據(jù)流狀態(tài)監(jiān)測(cè)功能,可以實(shí)時(shí)指示數(shù)據(jù)流的傳輸狀況。
DS2153Q的外圍微控制器接口使其可以很容易與單片機(jī)等MCU接口連接。其內(nèi)部的71個(gè)8位寄存器使用戶可以通過MCU對(duì)DS2135Q進(jìn)行功能配置和狀態(tài)監(jiān)測(cè)這些寄存器主要有接收控制寄存器、發(fā)送控制寄存器通用控制寄存器、中斷屏蔽寄存器和工作狀態(tài)寄存器圖1為DS2135Q的內(nèi)部結(jié)構(gòu)圖。
2 碼制轉(zhuǎn)換器電路設(shè)計(jì)
NRZ-DB3碼制轉(zhuǎn)換器為NRZ碼到HDB3碼和HDB3碼到NRZ碼的轉(zhuǎn)換,設(shè)計(jì)選用專用E1收到芯片DS2153Q和單片機(jī)AT89C51實(shí)現(xiàn)該碼制的轉(zhuǎn)換功能。該碼制轉(zhuǎn)換器把輸入的NRZ轉(zhuǎn)換為HDB3碼輸出,同時(shí)接收E1線路上的數(shù)據(jù)轉(zhuǎn)換成HRZ碼,并恢復(fù)出數(shù)據(jù)時(shí)鐘,供后級(jí)數(shù)據(jù)接收單元使用。
AT89C51為Atmel公司的8位單片機(jī),負(fù)責(zé)控制通信芯片DS2153Q的工作模式和狀態(tài)監(jiān),使其完成NRZ碼到HDB3碼和HDB3碼到HRZ碼的轉(zhuǎn)換。同時(shí),該單片機(jī)的外圍電路還包括μP監(jiān)控電路IMP813L,用于提高碼制轉(zhuǎn)換器工作的抗干擾能力和可靠性。
圖2是該碼制轉(zhuǎn)換器的結(jié)構(gòu)框圖。
DS2153Q的并行數(shù)據(jù)/地址線與單片機(jī)的P0口相連;片選信號(hào)選用單片機(jī)的P2.0;單片機(jī)的讀寫信號(hào)與DS2153Q的讀寫信號(hào)相連;同時(shí),DS2153的兩個(gè)中斷申請(qǐng)線與單片機(jī)的INT0和INT1相連。這樣DS2153Q可以通過中斷的方式及時(shí)通知單片機(jī)自身的工作狀態(tài)。AT89C51與DS2153Q的電路連接圖如圖3所示,通過以上的硬連接,實(shí)現(xiàn)單片機(jī)對(duì)DS2153Q的控制和狀態(tài)監(jiān)控。
圖3 AT89C51與DS2153Q電路連接圖
該碼制轉(zhuǎn)換器選用IMP813L作為μP監(jiān)控電路,實(shí)現(xiàn)可靠上電復(fù)位和看門狗控制。DS2153Q的時(shí)鐘信號(hào)是通過對(duì)單片機(jī)時(shí)鐘信號(hào)的二分頻來實(shí)現(xiàn)的。單片機(jī)選用16.384MHz的時(shí)鐘信號(hào),使用74HC74二分頻后,得到8.192MHz的頻率信號(hào)作為DS2153Q輸入時(shí)鐘。
在DS2153Q的電路設(shè)計(jì)中,為了使其工作在不成幀方式,發(fā)送的數(shù)據(jù)全部從TSER引腳輸入,需要將引腳TLINK和TSER短接。發(fā)光二極管用于轉(zhuǎn)換器的工作指示,可以直觀判斷當(dāng)前數(shù)據(jù)轉(zhuǎn)換是否正常。
該碼制轉(zhuǎn)換器使用特性阻抗120Ω的RJ45平衡雙絞線進(jìn)行數(shù)據(jù)傳輸,DS2153Q收發(fā)電路如圖4所示,傳輸變壓器輸入輸出匝數(shù)比為1:1.36。
3 單片機(jī)控制程序設(shè)計(jì)
轉(zhuǎn)換器單片機(jī)控制程序包括兩部分:DS2153Q的功能配置和DS2153Q工作狀態(tài)監(jiān)控。DS2153Q的功能配置實(shí)現(xiàn)HDB3碼的正常動(dòng)作;DS2153Q工作狀態(tài)監(jiān)控用來實(shí)時(shí)獲得當(dāng)前轉(zhuǎn)換器是否工作正常,并及時(shí)上報(bào)和指示。
3.1 DS2153Q功能配置
轉(zhuǎn)換器上電后,首先由μP監(jiān)控電路進(jìn)行有效復(fù)位,保證單片機(jī)的正常初始化,一單片機(jī)即進(jìn)入通信芯片DS2153Q的配置過程。
①初始化測(cè)試寄存器,向相應(yīng)測(cè)試寄存器寫0即寫。
②進(jìn)行接收控制存器(RCR)的配置,包括接收幀模式、自動(dòng)重同步使能、重同步準(zhǔn)則和接收動(dòng)態(tài)存儲(chǔ)功能等,使DS2153Q接收單片工作在Auto Resync、Disable Elastic Store。
③進(jìn)行發(fā)送控制存器(TCR)的配置,包括發(fā)送幀模式、自動(dòng)設(shè)置故障位和16位引腳的功能選擇等,使DS2153Q發(fā)送單元工作在E-bits not automatically set in the transmit direction,并根據(jù)當(dāng)前轉(zhuǎn)換模式的不同設(shè)置16引腳的功能,0=Receive Loss of Sync(RLOS)、1=Loss of Transmit Clock(LOTC)。
④進(jìn)行通用控制存器(CCR)的配置,使能DS2153Q、HDB3碼的接收和發(fā)送、配置錯(cuò)誤計(jì)數(shù)器更新時(shí)間、禁止動(dòng)態(tài)存儲(chǔ)發(fā)送數(shù)據(jù)等。
⑤初始化中斷屏蔽寄存器,使能接收載波丟失、接收失步中斷、接收數(shù)據(jù)全0和全1中斷,使能發(fā)送時(shí)鐘丟失中斷,通過這些中斷使單片機(jī)可以及時(shí)得知DS2153Q的工作狀態(tài),實(shí)現(xiàn)單片機(jī)對(duì)其的實(shí)施監(jiān)測(cè)。
⑦初始化傳輸線接口控制寄存器,包括傳輸波形選擇、接收均衡器增益選擇、抗抖動(dòng)抑器選擇等。
單片機(jī)控制流程如圖5所示。
下面是DS2153Q的功能配置程序(部分)。
;*****************************************************;
MOV A,02H
MOV DPTR,#RCR1
MOVX @DPTR,A ;寫寄存器RCR1,使能自動(dòng)重新同步
NOP
MOV A,#04H
MOV DPTR,#RCR2
MOVX @DPTR,A ;寫寄存器RCR2,禁止彈性存儲(chǔ)功能
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ù)位禁止自動(dòng)置位
NOP
MOV A,#44H
MOV DPTR,#CCR1
MOVX @DPTR,A ;寫寄存器CCR1,允許接收和發(fā)
NOP ;HDB3碼
NOV A,#00H
MOV DPTR,#CCR2
MOVX @DPTR,A ;寫寄存器CCR2,配置錯(cuò)誤計(jì)數(shù)寄存器
NOP
;********************************************************
3.2 DS2153Q狀態(tài)監(jiān)控設(shè)計(jì)
在完成DS2153Q的寄存器配置后,單片機(jī)即進(jìn)入傳輸狀態(tài)監(jiān)測(cè)程序,實(shí)時(shí)監(jiān)控DS2153Q的工作正常與否,包括狀態(tài)寄存器的讀取和DS2153Q中斷的響應(yīng),并從中判斷故障、及時(shí)通報(bào)。
(1)發(fā)送狀態(tài)監(jiān)控
DS2153Q的發(fā)送狀態(tài)監(jiān)控是通過單片機(jī)的INT1來實(shí)現(xiàn)的。當(dāng)狀態(tài)寄存器的發(fā)送狀態(tài)位置1,則DS2153Q產(chǎn)生中斷,片機(jī)響應(yīng)該中斷來讀取當(dāng)前狀態(tài)寄存器的故障位。當(dāng)讀取完畢后,需要向該狀態(tài)寄存器特定狀態(tài)位寫1,保證以后的故障可以正確置位。
下面給出了NRZ發(fā)送時(shí)鐘丟失故障的狀態(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ù)時(shí)鐘丟失與否
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)控是通過單片機(jī)的INT0來實(shí)現(xiàn)的。當(dāng)狀態(tài)寄存器的發(fā)送狀態(tài)位置1,則DS2153Q產(chǎn)生中斷,單片機(jī)響應(yīng)該中斷來讀取當(dāng)前狀態(tài)寄存器的故障位。當(dāng)讀取完畢后,需要向該狀態(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)換,實(shí)現(xiàn)高速長(zhǎng)距離的數(shù)據(jù)傳輸,使2.048Mb/s數(shù)據(jù)流在RJ45接口的雙絞線上實(shí)現(xiàn)1.5km的傳輸距離,滿足大多數(shù)的高速數(shù)據(jù)傳輸情況。
評(píng)論