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