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