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