引言 常用的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)監控。 ![]() 該碼制轉換器選用 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)接口單元,向LIRST數據位寫(xiě)0,然后寫(xiě)1,使傳輸線(xiàn)接口進(jìn)入正常工作模式。 ⑦初始化傳輸線(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í)通報。 NRZ-HDB3碼轉換器的高速長(cháng)距離通信 (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)足大多數的高速數據傳輸情況。 參考文獻 1. 李廣第 單片機基礎 1994 2. Dallas DS2153Q E1 Single-Chip Transceiver DataSheet 1999 作 者:西北工業(yè)大學(xué) 苗睿鋒 來(lái) 源:?jiǎn)纹瑱C與嵌入式系統應用2004(1) |