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