Intel16位單片機(jī)的特殊串行通訊方式
1 概述
本文引用地址:http://www.ex-cimer.com/article/171884.htm隨著單片機(jī)技術(shù)的發(fā)展和控制技術(shù)的提高,16位單片機(jī)已經(jīng)被廣泛地應(yīng)于工和民用領(lǐng)域。其中,Intel公司的80C196系列16位單片機(jī)目前應(yīng)用非常廣泛的一種。
80C196MC/MD 單片機(jī)集合了Intel16位單片機(jī)的所有特性,是196系列單片機(jī)中功能最強(qiáng)大的單片機(jī)之一。它有一個16位邏輯運算單元,13路10位A/D轉(zhuǎn)換通道,一個EPA、PTS、兩個PWM脈寬調(diào)制單元和三個WFG(波形發(fā)生器)。由于它完善的硬件結(jié)構(gòu)、出色的運算能力,使得196MC/MD單片機(jī)可以應(yīng)用于各個領(lǐng)域。它所獨有的WFG更使196MC/MD在電機(jī)變頻控制中倍受青睞。196MC/MD單片機(jī)的另一特色就是它獨特的通訊方式。與其它單片機(jī)不同,196MC/MD的通訊不是通過獨立的串行通訊接口實現(xiàn)的,而是利用EPA和PTS來實現(xiàn)的。這種方式不但能夠?qū)崿F(xiàn)一般串行口的完成的各種通訊功能。而且還能實現(xiàn)一些特殊的功能(如多串口的通訊)。要實現(xiàn)196MC/MD靈活多樣的串行通訊方式,關(guān)鍵是要掌握EPA和PTS的使用技巧。
2 EPA和PTS的工作原理
Intel公司在KC系列以后的16位單片機(jī)中增加了EPA(Event Process Array)事件處理陣列和PTS(Peripheral Transaction Server)外設(shè)事務(wù)服務(wù)器。其中外設(shè)事務(wù)服務(wù)器是微指令中斷控制器。196MC/MD的串行通訊以是利用它們來實現(xiàn)的。
196MC/MD 單片機(jī)是EPA中有兩種模塊,一種是捕獲/比較模塊,它用于支持一個對應(yīng)引腳的高速輸入/輸出功能。所謂“捕獲”是指它可以記載某個EPA引腳上電平發(fā)生跳變事件的時刻。EPA可以捕獲的事件包括下降沿跳變、上升沿跳變、上升或下降沿跳變。在串行通訊中正是利用此功能來“捕獲”串行輸入時的起始位的。所謂 “比較”是將定時器值與一個預(yù)先設(shè)定值進(jìn)行比較,如相等,則執(zhí)行指定的輸出功能。輸出功能包括輸出低電平、輸出高電平以及引腳電平翻轉(zhuǎn)等。由于“比較”功能可產(chǎn)生一個準(zhǔn)確的定時值,因此在串行輸入時可利用這一特性來確定第一個有效數(shù)據(jù)位的采樣時刻,EPA中的另一種模塊是“比較”模塊。它與“捕獲/比較” 模塊中的比較功能是一致的。串行通訊中利用該模塊的比較輸出功能來發(fā)送數(shù)據(jù),并與PTS相互協(xié)調(diào)工作以使其達(dá)到規(guī)定的波特率。
196MC/MD 的EPA中管理了4個捕獲/比較模塊和4個比較模塊,每個模塊在硬件上都有對應(yīng)的引腳。利用這些EPA管理的引腳可以構(gòu)成串行通訊的硬件接口。而且,對于每一個引腳都可以進(jìn)行串行通訊接口。因此,196MC/MD的串行安排比較靈活,同時,豐富的硬件資源也為實現(xiàn)多串口通訊提供了硬件保證。這是其它單片機(jī)無法與之相比的。
實現(xiàn)196MC/MD串行通訊另一難點是 PTS的使用。PTS是一個微指令的硬件中斷處理器,它可提供一種特殊的中斷服務(wù)。與普通中斷不同的是,它不改變堆棧的中斷服務(wù)。與普通中斷不同的是,它不改變堆棧以及PSW,也不打斷正常指令流。它將待處理的微指令插入在PTS控制塊中可與常指令同步執(zhí)行。這樣,就不需要額外的CPU開銷,當(dāng)產(chǎn)生PTS 中斷時,它可以按照PTS控制塊中規(guī)定的操作繼續(xù)進(jìn)行,直到PTS控制塊中規(guī)定的所有工作進(jìn)行完后才觸發(fā)一次對應(yīng)的變通中斷來申請一次CPU管理。因此 PTS中斷可以大大減輕CPU的負(fù)擔(dān)以使代碼執(zhí)行效率更高;同時它還要與普通中斷配合使用,是一種特殊的中斷方式。196MC/MD的PTS有4種操作方式,分別為單字節(jié)傳送方式、多字節(jié)傳送方式、A/D轉(zhuǎn)換方式和串行通訊方式,它們分別對應(yīng)于5種PTS控制模塊。其中串行通訊方式是196MC/MD所獨有的,它由兩個PTS控制塊組成,圖1為其結(jié)構(gòu)圖。
評論