摘要:80C196MC/MD單片機是196系列單片機中功能最強大的單片機之一,它所獨有的WFG(波形發(fā)生器)功能使在電機變頻控制中心倍受青睞。文中介紹了80C196MC/MD中事件處理陣列(EPA)和外設(shè)事務(wù)服務(wù)器(PTS)的結(jié)構(gòu)、功能和使用方法,以及如何利用EPA和PTS實現(xiàn)串行通訊的技術(shù)和設(shè)計思路。
關(guān)鍵詞:EPA PTS 80C196MC 單片機 串行通訊
1 概述
隨著單片機技術(shù)的發(fā)展和控制技術(shù)的提高,16位單片機已經(jīng)被廣泛地應(yīng)于工和民用領(lǐng)域。其中,Intel公司的80C196系列16位單片機目前應(yīng)用非常廣泛的一種。
80C196MC/MD單片機集合了Intel16位單片機的所有特性,是196系列單片機中功能最強大的單片機之一。它有一個16位邏輯運算單元,13路10位A/D轉(zhuǎn)換通道,一個EPA、PTS、兩個PWM脈寬調(diào)制單元和三個WFG(波形發(fā)生器)。由于它完善的硬件結(jié)構(gòu)、出色的運算能力,使得196MC/MD單片機可以應(yīng)用于各個領(lǐng)域。它所獨有的WFG更使196MC/MD在電機變頻控制中倍受青睞。196MC/MD單片機的另一特色就是它獨特的通訊方式。與其它單片機不同,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位單片機中增加了EPA(Event Process Array)事件處理陣列和PTS(Peripheral Transaction Server)外設(shè)事務(wù)服務(wù)器。其中外設(shè)事務(wù)服務(wù)器是微指令中斷控制器。196MC/MD的串行通訊以是利用它們來實現(xiàn)的。
196MC/MD單片機是EPA中有兩種模塊,一種是捕獲/比較模塊,它用于支持一個對應(yīng)引腳的高速輸入/輸出功能。所謂“捕獲”是指它可以記載某個EPA引腳上電平發(fā)生跳變事件的時刻。EPA可以捕獲的事件包括下降沿跳變、上升沿跳變、上升或下降沿跳變。在串行通訊中正是利用此功能來“捕獲”串行輸入時的起始位的。所謂“比較”是將定時器值與一個預(yù)先設(shè)定值進行比較,如相等,則執(zhí)行指定的輸出功能。輸出功能包括輸出低電平、輸出高電平以及引腳電平翻轉(zhuǎn)等。由于“比較”功能可產(chǎn)生一個準(zhǔn)確的定時值,因此在串行輸入時可利用這一特性來確定第一個有效數(shù)據(jù)位的采樣時刻,EPA中的另一種模塊是“比較”模塊。它與“捕獲/比較”模塊中的比較功能是一致的。串行通訊中利用該模塊的比較輸出功能來發(fā)送數(shù)據(jù),并與PTS相互協(xié)調(diào)工作以使其達到規(guī)定的波特率。
196MC/MD的EPA中管理了4個捕獲/比較模塊和4個比較模塊,每個模塊在硬件上都有對應(yīng)的引腳。利用這些EPA管理的引腳可以構(gòu)成串行通訊的硬件接口。而且,對于每一個引腳都可以進行串行通訊接口。因此,196MC/MD的串行安排比較靈活,同時,豐富的硬件資源也為實現(xiàn)多串口通訊提供了硬件保證。這是其它單片機無法與之相比的。
實現(xiàn)196MC/MD串行通訊另一難點是PTS的使用。PTS是一個微指令的硬件中斷處理器,它可提供一種特殊的中斷服務(wù)。與普通中斷不同的是,它不改變堆棧的中斷服務(wù)。與普通中斷不同的是,它不改變堆棧以及PSW,也不打斷正常指令流。它將待處理的微指令插入在PTS控制塊中可與常指令同步執(zhí)行。這樣,就不需要額外的CPU開銷,當(dāng)產(chǎn)生PTS中斷時,它可以按照PTS控制塊中規(guī)定的操作繼續(xù)進行,直到PTS控制塊中規(guī)定的所有工作進行完后才觸發(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)圖。
有關(guān)接收和發(fā)送的數(shù)據(jù)存放在由DATA(L)和DATA(H)構(gòu)成的數(shù)據(jù)單元中。其數(shù)據(jù)單元的寬度可達16位。波特率的設(shè)定參數(shù)放在BAUD(L)和BAUD(H)中。196MC/MD串行通訊的控制參數(shù)主要放在PTSCON和PTSCON1寄存器中。對這兩個寄存器進行操作可以設(shè)定各種串行通訊方式。下面主要介紹這兩個寄存器。
PTSCON的操作格式如下:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| M2 | M1 | M0 | SA | 0 | 0 | SA | MAJ |
其中:M2M1M0=011為發(fā)送方式;M2M1M0=001為接收方式;SA=1為同步SIO;SA=0為異步SIO。
MAJ=1為允許多數(shù)表決采樣;MAJ=0為禁止多數(shù)表決采樣。
PTSCON1具有異步和同步操作兩種模式。異步方式的PTSCON1操作格式為:





