80C152單片機上HDLC通信規程中的應用
80C152是一種基于MCS-51的高集成度8位微控制器,也是一種通用通信控制器。它既適用于外圍系統或器件的智能管理,也適用于低成本,高速串行通信場合。80C152是80C51的派生產品,保留了80C51的所有功能;增加了新的功能和外圍電路,包括:一種叫做全局串行通道(GSC)的高速多協議串行通訊接口,兩個直接存儲器存取(DMA)通道,HOLD/HLDA總線控制,第5、6、7個I/O口。較大的片內RAM容量。因而特別適用于綜合業務數字網(ISDN)、局域網和用戶定義的串行多機系統。
本文引用地址:http://www.104case.com/article/171537.htm1 80C152的主要特性與結構
80C152的主要特性如下:
(1)MCS-51兼容的UART;
(2)多種省電工作方式;
(3)可尋址64K字節數據存儲器;
(4)可尋址64K字節程序存儲器;
(5)兩個通用定時/計數器;
(6)多協議串行通信I/O口(最大2.048Mbps/2.4Mbps),支持CSMA/CD和SDLC/HDLC,用戶定義協議;
(7)全雙工/半雙工通信;
(8)256字節片內RAM;
(9)兩個片內DMA通道;
(10)保持/響應(HOLD/HLDA)總線控制;
(11)7個I/O口;
(12)58個SFR;
(13)11個中斷源,除包含80C51的5個中斷源外,新增的6個中斷源用于全局串行通道。
上述(1)~(5)是與80C51相同的特性,(6)~(13)是80C152所特有或比80C51提高的特性。
其結構簡圖如圖1所示。
2 全局串行通道
全局串行通道(GSC)是一個多協議、高性能的串行接口,用作通信控制器。GSC接口支持同步數據鏈路控制(SDLC)、具有沖突檢測的載波監聽多址訪問(CSMA/CD)、用戶客義協議和高速數據鏈路控制(HDLC)協議的子集。GSC功能包括:地址識別、沖突解決、CRC產生、標志產生、自動重發送和硬件應答特性。在使用片內時鐘時可實現高至2Mbps數據速率,在使用外部時鐘可實現高至2.4Mbps數據速率。在使用串行通道的應用中,GSC可實現國際標準化組織(ISO)參考模型中所描述的開放系統互連(OSI)的數據鏈數層和物理鏈路層。
2.1 GSC通道的DMA服務
有兩種方法來控制GSC:一是CPU控制;二是DMA控制。在用戶軟件處理一些任務時(如裝入TFIFO、讀RFIFO、檢查狀態標志、發送過程一般跟蹤),采用CPU控制。當任務數據增加及使用較高的數據速率。CPU所需開銷成為主要時間消耗,最后,會達到CPU花費100%的時間去響應GSC請求。DMA通道可由用戶軟件設置為由DMA控制器來處理GSC數據傳送。80C152有兩個DMA通道,一個通道用于接收,一個通道用于發送。使用DMA通道時,CPU可省去為GSC緩沖器基本服務所需的時間。DMA通道可提供的服務類型為:裝入TFIFO、從RFIFO中移出數據、在收發結束時通千CPU和響應一定的出錯條件。在使用DMA通道時,準備串行發送的數據源或目的可以是內部存儲器、外部數據存儲器或任何SFR。對DMA和GSC寄存器進行初始化手的唯一任務是允許適當地中斷并通知DMA控制器什么時候啟動DMA。在DMA啟動后,CPU所需做的事就是響應出錯條件或等待傳送結束。80C152專門為GSC數據傳送提供了6個中斷源,它們是:GSCRV(GSC接收正確)、GSCRE(GSC接收出錯)、GSCTV(GSC發送正確)、GSCTE(GSC發送出錯)、DMA0(DMA通道0完成)、DMA1(DMA通道1完成)。
評論