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