1 概述 HDLC 協議不依賴于任何一種字符編碼集;數據報文可透明傳輸,用于實現透明傳輸的“O比特插入法”易于硬件實現;全雙工通信,不必等待確認便可連續發送數據,有較高的數據鏈路傳輸效率;所有幀均采用CRC校驗,對信息幀進行順序編號,可防止漏收或重發,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大的靈活性。 筆者曾撰文介紹過MT8952B,并收到不少讀者對相關問題的咨詢。隨著電子技術的不斷發展,交換機的交換容量要求也越來越高,通信量也越來越大,具有19字節FIFO的MT8952B已遠遠不能滿足用戶的需求。HDILC芯片有64字節FIFO,傳輸信息可以不受限制。 PT7A6525 HDLC協議控制器有以下特點:支持2個完全獨立的全雙工HDLC信道,符合X.25第二層標準數據格式,前向序列的產生和檢測,單字節地址識別,具有微處理器端口,靈活操作和控制寄存器,發送和接收有64個字節的FIFO緩沖區,多路數據鏈路握手信號,高速串行時鐘輸出(8 Mbps),符合ST-BUS的可編程的通道選擇和時隙控制,靈活的協議控制功能,低功耗ISO-CMOS技術。其適用的主要應用領域包括:數據鏈路控制和協議產生,數字設備、PBXs和專用數據網,ISDN基本數據的D通道控制器,數據網絡接口電路的C通道控制器,內部通信處理等。 PT7A6525內部結構如圖1所示。 2 PT7A6525寄存器 PT7A6525 HDLC協議控制器,處理符合CCITT建議的X.25(第2層)由包交換協議定義的協議結構和幀數據。通過零位插入和刪除技術獲得數據傳輸的透明性。在發送數據的過程中,自動產生HDLC幀標志(0111110)和FCS(Frame(;heck Sequence)幀校驗序列字段以及幀異常中止、信道空閑和其他接收狀態,因而PT7A6525將準備發送的數據自動構成HDLC幀。在接收端,把來自遠方的HDLC幀進行FCS校驗,并恢復原始數據。 PT7.A6525有2個端口:一個是串行端口,用來發送和接收數據包;另一個是并口,允許在單片機系統總線和協議處理器之間并行傳輸數據。這個接口包括數據總線(D0~D7)、地址總線(A0~A6)、時鐘、片選(CS)和讀/寫控制等,微處理器可以讀/寫協議處理器的各個寄存器。表1給出這些寄存器的地址,寄存器的詳細描述可參考PT7A6525的數據手冊[1]。 3 PT7A6525時鐘模式 PT7A6525 每個通道支持的時鐘模式有內部時鐘晶振(OSC)模式、獨立的波特率發生器(BRG)和數字脈沖鎖相環(DPLL) 模式。可通過設置寄存器產生接收和發送時鐘:內部時鐘產生可以通過OSC、BRG和DPLL獲得,外部時鐘可以通過TxCLK/RxCLK獲得。總之可通過信道配置寄存器1(CCRl)軟件設置產生8種不同的時鐘模式,如表2所列。 本文以外部時鐘模式O為例加以詳細介紹,主要適用于點對點或點對多點連接,分別同步于收發引腳。 4 PT7A6525在交換機中的應用連接圖 本文給出的示例為單板一主網間通信,采用點對多點、主從方式的串行HDLC通信。連接框圖如圖2所示。其中主網控制板的HDLC控制器作為主,其他單板的HDLC作為從。主網控制板的HDLC按地址輪詢其他單板,只有輪詢到的單板可以應答。 單板的接收線經驅動連到HDLC控制器。單板的發送線經驅動后再送到背板。此驅動的輸出受單板的邏輯控制,具體控制分幾種情況:a.上電復位時,邏輯控制為高阻輸出。b.MCU死機時,引起復位,也控制為高阻輸出,以防止單板長期占用總線。c.當輪詢此單板時,單板發送數據前先使能輸出,發送結束后再置為高阻,讓出總線。 單板的HDLC控制器采用的是本文介紹的雙路HDLC.芯片PT7A6525直接與HDLC芯片(如主網控制層用 PT7A6632)相連。A6~A0為協議控制器的寄存器地址選擇,單片機可以讀/寫這些寄存器,串口可以傳送/接收數據包,也可以連接到數字傳輸媒介或數字接口電路,如 MT8972、MT8980等。例如TxD和RxD可以與MT8980的母線相連。 5 PT7A6525數據讀/寫應用實例 根據前面的介紹,參考圖2的應用連接圖(具體接口圖可參考芯片手冊等)可以控制寄存器,達到所需的目的。在實際應用中,文中給出點到點模式的讀取和發送數據子程序實例,以供參考。 5.1 讀取數據 PT7A6525數據的讀取在外部中斷里實現。當有數據到達時,INT拉低,微處理器產生中斷,可以在外部中斷服務程序中操作。 在實際應用中,接收的數據可能不正確,這時可以讀取外部中斷寄存器接收溢出標志,若為1,則讀取數據并放棄。若發送的數據不確定字節數,則可以判斷 FIFO狀態寄存器中接收FIFO結束標志,這樣就能確保數據的正確性。 5.2 發送數據 PT7A6525 既可以在中斷里發送數據,也可以在程序執行中發送。假設要發送的數據放人緩沖區t_pt7a6525[MSG_LEN]。在下面的實例中,消息長度 MSG_LEN很靈活,可為任意值,可發送超過32字節。注意每次最多發送32字節,在最后發送數據小于32字節時,將命令寄存器的XTF和XME位寫 1,表明數據包發送結束。 6 PT7A6525在程控數字交換機中的應用 在程控數字交換機中,最廣泛應用的就是交換信令的傳輸和接收。微處理器根據收到的信令或消息,進行相應的操作。如收到SETUP消息,需發送SETUP AC-KNOWLEDGE。再根據消息的不同,進行不同的話路接續、語音接續、電路控制等。而在程控數字交換機應用中,尤其是標準的信令如NO.7、 DSSl信令,局間的通信量較大,1條協議鑒別語(protocol discriminator)多數需要32字節甚至更多,文中給出Q.931協議鑒別語中的消息建立(SETUP)實例供參考。 Q.931 協議規定了每個消息要包含協議鑒別語(pro-tocol discriminator)、呼叫參考(call reference)、消息類型(message type)、其他信息單元(other information ele-ments,as required)幾部分,如下所示: 參考文獻 2. 周學義.盧煒 HDLC 協議處理芯片MT8952B在數字程控交換機中的應用 [期刊論文] -電子設計應用2003(4) 3. GB 17154.1-1997.控制協議技術規范 4. 周學義 時隙數字交換電路MT8980D在程控機中的應用 [期刊論文] -單片機與嵌入式系統應用2002(7) 作者:北京交通大學 周學義 來源:單片機與嵌入式系統應用 2009 (4) |