當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]80C152是一種基于MCS-51的高集成度8位微控制器,也是一種通用通信控制器。它既適用于外圍系統(tǒng)或器件的智能管理,也適用于低成本,高速串行通信場合。80C152是80C51的派生產(chǎn)品,保留了80C51的所有功能;增加了新的功能

80C152是一種基于MCS-51的高集成度8位微控制器,也是一種通用通信控制器。它既適用于外圍系統(tǒng)或器件的智能管理,也適用于低成本,高速串行通信場合。80C152是80C51的派生產(chǎn)品,保留了80C51的所有功能;增加了新的功能和外圍電路,包括:一種叫做全局串行通道(GSC)的高速多協(xié)議串行通訊接口,兩個(gè)直接存儲(chǔ)器存?。―MA)通道,HOLD/HLDA總線控制,第5、6、7個(gè)I/O口。較大的片內(nèi)RAM容量。因而特別適用于綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)、局域網(wǎng)和用戶定義的串行多機(jī)系統(tǒng)。

1 80C152的主要特性與結(jié)構(gòu)

80C152的主要特性如下:

(1)MCS-51兼容的UART;

(2)多種省電工作方式;

(3)可尋址64K字節(jié)數(shù)據(jù)存儲(chǔ)器;

(4)可尋址64K字節(jié)程序存儲(chǔ)器;

(5)兩個(gè)通用定時(shí)/計(jì)數(shù)器;

(6)多協(xié)議串行通信I/O口(最大2.048Mbps/2.4Mbps),支持CSMA/CD和SDLC/HDLC,用戶定義協(xié)議;

(7)全雙工/半雙工通信;

(8)256字節(jié)片內(nèi)RAM;

(9)兩個(gè)片內(nèi)DMA通道;

(10)保持/響應(yīng)(HOLD/HLDA)總線控制;

(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é)構(gòu)簡圖如圖1所示。

2 全局串行通道

全局串行通道(GSC)是一個(gè)多協(xié)議、高性能的串行接口,用作通信控制器。GSC接口支持同步數(shù)據(jù)鏈路控制(SDLC)、具有沖突檢測的載波監(jiān)聽多址訪問(CSMA/CD)、用戶客義協(xié)議和高速數(shù)據(jù)鏈路控制(HDLC)協(xié)議的子集。GSC功能包括:地址識(shí)別、沖突解決、CRC產(chǎn)生、標(biāo)志產(chǎn)生、自動(dòng)重發(fā)送和硬件應(yīng)答特性。在使用片內(nèi)時(shí)鐘時(shí)可實(shí)現(xiàn)高至2Mbps數(shù)據(jù)速率,在使用外部時(shí)鐘可實(shí)現(xiàn)高至2.4Mbps數(shù)據(jù)速率。在使用串行通道的應(yīng)用中,GSC可實(shí)現(xiàn)國際標(biāo)準(zhǔn)化組織(ISO)參考模型中所描述的開放系統(tǒng)互連(OSI)的數(shù)據(jù)鏈數(shù)層和物理鏈路層。

2.1 GSC通道的DMA服務(wù)

有兩種方法來控制GSC:一是CPU控制;二是DMA控制。在用戶軟件處理一些任務(wù)時(shí)(如裝入TFIFO、讀RFIFO、檢查狀態(tài)標(biāo)志、發(fā)送過程一般跟蹤),采用CPU控制。當(dāng)任務(wù)數(shù)據(jù)增加及使用較高的數(shù)據(jù)速率。CPU所需開銷成為主要時(shí)間消耗,最后,會(huì)達(dá)到CPU花費(fèi)100%的時(shí)間去響應(yīng)GSC請求。DMA通道可由用戶軟件設(shè)置為由DMA控制器來處理GSC數(shù)據(jù)傳送。80C152有兩個(gè)DMA通道,一個(gè)通道用于接收,一個(gè)通道用于發(fā)送。使用DMA通道時(shí),CPU可省去為GSC緩沖器基本服務(wù)所需的時(shí)間。DMA通道可提供的服務(wù)類型為:裝入TFIFO、從RFIFO中移出數(shù)據(jù)、在收發(fā)結(jié)束時(shí)通千CPU和響應(yīng)一定的出錯(cuò)條件。在使用DMA通道時(shí),準(zhǔn)備串行發(fā)送的數(shù)據(jù)源或目的可以是內(nèi)部存儲(chǔ)器、外部數(shù)據(jù)存儲(chǔ)器或任何SFR。對DMA和GSC寄存器進(jìn)行初始化手的唯一任務(wù)是允許適當(dāng)?shù)刂袛嗖⑼ㄖ狣MA控制器什么時(shí)候啟動(dòng)DMA。在DMA啟動(dòng)后,CPU所需做的事就是響應(yīng)出錯(cuò)條件或等待傳送結(jié)束。80C152專門為GSC數(shù)據(jù)傳送提供了6個(gè)中斷源,它們是:GSCRV(GSC接收正確)、GSCRE(GSC接收出錯(cuò))、GSCTV(GSC發(fā)送正確)、GSCTE(GSC發(fā)送出錯(cuò))、DMA0(DMA通道0完成)、DMA1(DMA通道1完成)。

2.2 80152中的DMA

80C152包含兩個(gè)相同的可16位尋址的通用8位DMA通道;DMA0和DMA1。與每個(gè)通道相關(guān)的有7個(gè)SFR。SARLn和SARHn分別保存源地址的低位和高位字節(jié),合在一起構(gòu)成16位源地址寄存器。DARLn和DARHn分別存儲(chǔ)目的地址的低位和高位字節(jié),合在一起構(gòu)成16位目的地址寄存器。BCRLn和BCRHn分別保存將被傳送字節(jié)數(shù)據(jù)地址的低位和高位字節(jié),合在一起成字節(jié)計(jì)數(shù)寄存器。DCONn包含控制和標(biāo)志位。

對DMA通道的初始化需設(shè)置控制寄存器、源地址和目的地址寄存器。

控制寄存器DCON的裝入值及意義如圖2所示。

DCONn中的DASn(目的地址空間位)和IDAn(目的地址自動(dòng)加1位)用于指出數(shù)據(jù)傳送的物理目的空間。DCONn中的SASn(源地址空間位)和ISAn(源地址自動(dòng)加1位)用于指出數(shù)據(jù)傳送的物理源空間。采用DMA控制器來處理GSC數(shù)據(jù)傳送時(shí),當(dāng)DMA通道用于接收服務(wù)時(shí),首先將接收機(jī)傳送來的數(shù)據(jù)自動(dòng)送入到接收緩沖器RFIFO中,其源地址寄存器應(yīng)置成RFIFO地址(SARHN=x x H,SARLN=0F4H);然后,將接收緩沖器中的數(shù)據(jù)傳送到目的地址指定的物理空間,其可以是外部RAM、內(nèi)部RAM或SFR;最后,對收到的數(shù)據(jù)進(jìn)行CRC校驗(yàn),并通知CPU是否正確接收到該幀數(shù)據(jù)。當(dāng)DMA通道用于發(fā)送服務(wù)時(shí),首先將要發(fā)送的數(shù)據(jù)傳送到先入先出發(fā)送緩沖器TFIFO中,其目的地址寄存器應(yīng)置成TFIFO地址(DARHN=xxH,DARLN=85H);然后,將先入先出發(fā)送緩沖器TFIFO中的數(shù)據(jù)傳送給發(fā)射機(jī);最后,對發(fā)送出去的數(shù)據(jù)進(jìn)行CRC校驗(yàn),并通知CPU是否正確發(fā)送了該幀數(shù)據(jù)。

DCONn中的DM(請求方式位)和TM(傳送方式位)用于選擇DMA的工作方式。當(dāng)DMA服務(wù)于全局串行通道(GSC)時(shí),應(yīng)采用串行口請求方式。當(dāng)DCONn中的GO位置1時(shí),將啟動(dòng)DMA通道工作于全局串行傳輸方式。當(dāng)全局串行口接收或發(fā)送完一幀數(shù)據(jù)后,

DCONn中的DONE位被置1,并將該信號(hào)傳送給CPU來產(chǎn)生中斷。

3 HDLC操作

高級(jí)數(shù)據(jù)鏈路控制(High Data Link Control)規(guī)程,簡稱HDLC規(guī)程,是面向位的鏈路控制規(guī)程。它與基本型規(guī)程不同,鏈路的監(jiān)控功能是通過一定的位組合所表示的命令和響應(yīng)來實(shí)現(xiàn)的,這些命令和響應(yīng)可以與信息報(bào)文一起傳送。HDLC規(guī)程具有透明傳輸、可靠性高、傳輸效率高并具有極大的靈活性等特點(diǎn)。它是由IBM公司開發(fā)的通信協(xié)議,已廣泛應(yīng)用于工業(yè)領(lǐng)域。它基于主/從結(jié)構(gòu),要求每個(gè)從部都有唯一的地址。從部只有在允許通信時(shí)才能且只能和主站通信,這就消除了串行線路上由于幾個(gè)從部同時(shí)發(fā)送引起沖突的可能 性。其幀結(jié)構(gòu)如圖3所示。

BOF是HDLC的幀開始標(biāo)志,為01111110。這是HDLC中僅有的兩個(gè)包含連續(xù)6個(gè)1的可能組合之一,另一個(gè)可能的組合是中止符。這是因?yàn)镠DLC采用了一種叫做位插入的過程,每發(fā)現(xiàn)有連續(xù)5個(gè)1時(shí)在下一位自動(dòng)插入一個(gè)0,接收器在收到連續(xù)5個(gè)1之后自動(dòng)刪去插入的0。所有位插入和位刪除操作均由GSC完成。BOF除了標(biāo)志幀的開始,還用作時(shí)鐘同步和決定地址與控制字位置的參考點(diǎn)。

ADDRESS的地址字段,用于表示報(bào)文發(fā)往何站。每個(gè)從站必須有唯一的地址,主站必須知道每個(gè)從站的指定地址。然而有些報(bào)文需要發(fā)往一個(gè)以上的站,這些報(bào)文成為廣播地址或群地址報(bào)文。全1構(gòu)成的地址總是自動(dòng)地被GSC接收,在HDLC中定義為廣播地址。群地址是指適用于一個(gè)以上站的地址,GSC提供了幾個(gè)地址屏蔽位,以使GSC接收群地址。如果需要的話,用戶軟件可以接收所有的地址位,這種屏蔽方式使GSC不加區(qū)分地接收所有地址。

CONTROL是控制段,它用于系統(tǒng)初始化、標(biāo)志幀的序號(hào),并在報(bào)文發(fā)送完成后通知從站響應(yīng),對以前發(fā)送幀進(jìn)行應(yīng)答。由于GSC硬件沒有提供控制段的管理功能,用戶軟件擔(dān)負(fù)著控制段的插入、解釋和格式化。尾隨控制段的信息通常用于報(bào)文傳輸、出錯(cuò)報(bào)告和其他各種功能。這些功能由控制段的格式完成,有三種格式可供使用:報(bào)文格式、監(jiān)控格式和無序號(hào)格式。

INFO是報(bào)文段,它包含線路中一個(gè)器件希望發(fā)給另一個(gè)器件的報(bào)文(數(shù)據(jù)),其長度可為用戶所定,但必須是8位的倍數(shù)。報(bào)文段由前面的控制段和后面的CRC為接收站所標(biāo)識(shí)。GSC把接收的位通過CRC發(fā)生器來決定報(bào)文段的末尾。當(dāng)最后一位或EOF收到后,剩下的位組成CRC。

CRC是循環(huán)冗余檢測,是一種普通用于串行通信的錯(cuò)誤檢測方法。

4 系統(tǒng)誤碼率的分析

80C152提供兩種CRC算法:16位和32位算法。在大多數(shù)HDLC應(yīng)用中,16位CRC被使用,支持16位CRC的硬件結(jié)構(gòu)如圖4所示。

16位CRC發(fā)生器生成的多項(xiàng)式為:

G(X)=X16+X12+X5+1    (1)

CRC工作時(shí),它把收到的位與現(xiàn)行CRC的位15進(jìn)行異或,放到一個(gè)暫存器中。在CRC右移一位時(shí),位15和接收位的異或值再與位4和位11進(jìn)行異或。暫存器中的位移入位0中。HDLC所需的CRC長度為16位,接收時(shí)自動(dòng)從幀中除去CRC,它不傳到CPU。然后把最后16位傳往CRC發(fā)生器,以保證留下正確的值。檢驗(yàn)剩下值是否為001110100001111B(1D0FH)。如不匹配,則產(chǎn)生錯(cuò)誤。用戶軟件允許該中斷,從而使CPU可對此進(jìn)行處理。

CRC校驗(yàn)可以檢測長度不大于16的所有突發(fā)錯(cuò)誤、所有奇數(shù)個(gè)錯(cuò)誤和兩個(gè)獨(dú)立錯(cuò)誤,以及其他大量錯(cuò)誤圖樣。其計(jì)算公式如下:

Eerror:數(shù)據(jù)位中最大偶數(shù)位錯(cuò)

Pe:信道誤碼率

根據(jù)上述計(jì)算公式可得,采用全局串行通道(GSC)來實(shí)現(xiàn)HDLC規(guī)程的數(shù)據(jù)傳輸,其系統(tǒng)誤碼率及幀漏檢概率如表1所示。

表1 全局串行通道的系統(tǒng)誤碼率及幀漏檢概率

5 編程應(yīng)用實(shí)例

下面介紹采用DMA控制全局串行通道(GSC)來實(shí)現(xiàn)HDLC規(guī)程的編程方法。在該系統(tǒng)中應(yīng)用兩路DMA通道分別控制數(shù)據(jù)的收、發(fā),其數(shù)據(jù)收、發(fā)子程序的流程圖如圖5所示。

在現(xiàn)代通信系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)中,其鏈路層和物理層多數(shù)均采用HDLC規(guī)程。采用80C152單片機(jī)來實(shí)現(xiàn)HDLC規(guī)程,具有成本低、硬件結(jié)構(gòu)簡單、軟件編程容易等特點(diǎn),又能夠保證高速、可靠的數(shù)據(jù)傳輸,具有廣泛的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉