新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 80C196MC的外設(shè)事務(wù)服務(wù)器及其應(yīng)用

80C196MC的外設(shè)事務(wù)服務(wù)器及其應(yīng)用

——
作者:福州大學(xué) 唐愛民 胡金高 時間:2007-08-21 來源:單片機與嵌入式系統(tǒng)應(yīng)用 收藏

  摘要:介紹利用專用于電機控制的16位單片機PTS在變頻器中實現(xiàn)異步串行通信的方法。重點介紹PTS和普通中斷的差別及程序設(shè)計中應(yīng)注意的問題,同時給出通用變頻器通信協(xié)議及程序框圖。

    關(guān)鍵詞:單片機 變頻器 通信

引言

  變頻器在工業(yè)現(xiàn)場中越來越廣泛。為了能實現(xiàn)整個自動化系統(tǒng)的協(xié)調(diào)控制,同時能監(jiān)視多臺變頻器的運行狀況,方便地對單一變頻器或多臺變頻器實行啟停、正反轉(zhuǎn)、升降速、參數(shù)設(shè)置等操作是非常必要的。本文介紹利用變頻器的主控芯片內(nèi)的PTS在變頻器中實現(xiàn)異步串行通信的方法。

1 關(guān)于PTS

1.1 PTS和普通中斷

  90C196MC高性能16位單片機內(nèi)部“嵌入”了各種以往被認為是“外圍設(shè)備”的電路。外設(shè)事務(wù)服務(wù)器PTS(Peripheral Transaction Server)就是一種被嵌入的“外設(shè)”。它是一種微代碼硬件中斷處理器,對中斷可提供一種類似于DMA(直接存儲器訪問)的響應(yīng),其CPU 的開銷比普通中斷系統(tǒng)(基于上是一種軟件中斷服務(wù)系統(tǒng))要少得多。為便于理解PTS的工作過程,圖1示出了PTS和普通中斷流程的主要差別。從圖1可以看出:

  ①PTS的執(zhí)行是靠CPU硬件微代碼來完成的;而普通中斷是靠中斷正常的程序,由PC入棧、現(xiàn)場保護、用戶服務(wù)程序、恢復(fù)現(xiàn)場與PC出棧來完成。顯然后者對CPU的開支要比前者多得多。

 ?、谕ǔV袛嗨龅氖窍嗤墓ぷ鳎绮粩嗟倪B續(xù)A/D轉(zhuǎn)換、數(shù)據(jù)組的傳遞、通信的多字節(jié)傳遞等。PTS正利用這點,由一個程序啟動PTS,讓之在PTS計數(shù)器單元控制下不中斷正常程序靠硬件微代碼(即類似DMA的插入)來分時完成,在PTS計數(shù)單元完成后轉(zhuǎn)化為一次普通中斷,通過普通中斷進行一系列PTS完成后的結(jié)果處理。

 ?、墼?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/80C196MC">80C196MC中,PTS優(yōu)先級總是比普通中斷優(yōu)先級要高,并且有近16個中斷源,對16位的允許位和響應(yīng)位的字寄存器進行各自控制;同時,PTS和普通中斷是各位相對應(yīng)的,這樣使得PTS完成后轉(zhuǎn)化為一次普通中斷就變得很簡單。

 ?、茉?0C196MC中,與PTS有關(guān)的控制有:總允許位PSW.10以及各中斷源的選擇位PTSSEL寄存器。其中PSW.10通過EPTS指令置位,允許PTS服務(wù)。與普通中斷有關(guān)的控制有:總允許位PSW.9以及中斷屏蔽寄存器INT-MASK。

1.2 PTS實現(xiàn)串行輸入/輸出模式

  80C196MC沒有硬件通用異步收發(fā)器UART,但是利用專門的PTS模式可以方便且低軟件開銷地實現(xiàn)串行輸入和輸出功能。既可實現(xiàn)異步SIO(ASIO)功能,也可實現(xiàn)同步SIO(SSIO)功能。采用16MHz晶振,用PTS完成波特率為9600的半雙工串行輸入輸出時,CPU的的開銷只有4%左右。

  PTS SIO模式占用2個控制塊,每個控制塊包含8個8位寄存器,如圖2所示。

  這2個控制塊的地址不一定是連續(xù)的,但它們都應(yīng)在寄存器RAM區(qū)內(nèi),控制塊首地址都應(yīng)能被8整除。

2 程序設(shè)計

  采用80C196MC異步串行輸入/輸出模式實現(xiàn)變頻器與計算機之間的通信,其初始化程序主要包括P2端口和定時器的初始化以及PTS SIO模式初始化等。

  首先將接收端的CAPCOMP1設(shè)置為下降沿捕獲方式。當CAPCOMP1捕捉到起始位的前沿后,進入接收中斷服務(wù)子程序,其程序流程如圖3所示。

下面介紹程序中應(yīng)注意的要點:

  ①接收程序中,采用EPA CAPCOMP1捕獲/比較模塊。它首先利用其捕獲功能造成1次普通中斷,而不是1個PTS周期。在這次啟動中斷中,把CAPCOMP1模塊切換成比較方式,啟動PTS周期。

 ?、?0個PTS周期后,將產(chǎn)生1次END of PTS中斷。該中斷與啟動斷共享1個中斷向量,因此,在該中斷服務(wù)程序中必須判斷本次中斷是啟動中斷還是END-of-PTS中斷。區(qū)分的依據(jù)可以是CAPCOMP1 CON.6(CE位):若CE=0,模塊為捕獲方式,表明是啟動中斷;反之,模塊已切換為比較方式,表明是END-of-PTS中斷。

  ③END-of-PTS中斷服務(wù)中,必須禁止捕獲/比較模塊,并清除相應(yīng)中斷是掛位。為繼續(xù)接收或發(fā)送后續(xù)的數(shù)據(jù)幀,在退出中斷前必須重新設(shè)置捕獲/比較模塊的方式以及PTSCB中的PTSCOUNT-PTSCON1、DATA等寄存器;必須重置PTSSEL的相應(yīng)位,允許相應(yīng)的PTS服務(wù)。

 ?、茉诎l(fā)送任何數(shù)據(jù)前,用于TXD的端口(P2.0)引腳必須初始化為“1”;向TXD腳寫“0”,即上當于發(fā)起始位,整個數(shù)據(jù)的傳輸過程就開始了。

3 通信協(xié)議

  上位機(計算機)與下位機(變頻器)之間每次通信均是7個字節(jié),每個字節(jié)8位。其通信協(xié)議格式如下所示:

STX ADDR CM1 CM2 DATA1 DATA2 BCC
報頭 地址 命令1 命令2 數(shù)據(jù)1 數(shù)據(jù)2 異或校驗

  其中,報頭STX=02H,地址ADDR為下位機(變頻器)的編號,BCC為各幀數(shù)據(jù)異或后的結(jié)果。下面結(jié)合不同的操作分別介紹其它各幀的含義。

3.1 讀數(shù)據(jù)

  根據(jù)變頻器參數(shù)的不同使用級別,將其參數(shù)分為F、P、E三級數(shù)據(jù):F組數(shù)據(jù)主要為用戶常用的一級參數(shù),如給定頻率等;P組數(shù)據(jù)為專業(yè)用戶或廠內(nèi)的整定數(shù)據(jù),如閉環(huán)PID參數(shù)等;E組數(shù)據(jù)為顯示及當前狀態(tài)的臨時參數(shù)與數(shù)據(jù),如輸出頻率、輸出速度等。

  CM1:0FXH(X表示變頻器參數(shù)組號)

  F0:讀取F組數(shù)據(jù)

  F1:讀取P組數(shù)據(jù)

  F2:讀取E組數(shù)據(jù)

  CM2:表示參數(shù)在組內(nèi)的代號

  DATA1、DATA2:建議寫入00

3.2 寫數(shù)據(jù)

  CM1:0EXH(X表示變頻器參數(shù)組號)

  CM2:含義同讀數(shù)據(jù)

  DATA1:數(shù)據(jù)高位字節(jié)

  DATA2:數(shù)據(jù)低位字節(jié)

3.3 讀/寫控制

  CM1:0CCH

  CM2:控制字節(jié),其格式如下所示:

CON FEQ STA STOP FORE BACK UP DOWN

  各位含義如表1所列。

表1

CON 1控制字節(jié)有效 0控制字節(jié)無效
FEQ 1頻率值有效 0頻率值無效
STA 1啟動 0狀態(tài)不變
STOP 12停機 0狀態(tài)不變
FORE 1正轉(zhuǎn) 0狀態(tài)不變
BACK 1反轉(zhuǎn) 0狀態(tài)不變
UP 1升速 0狀態(tài)不變
DOWN 1減速 0狀態(tài)不變

  當CON=1且FEQ=1時,DATA1、DAT2中的數(shù)據(jù)為運行狀態(tài)控制的有效頻率值;否則,數(shù)據(jù)無效。

3.4 應(yīng)答

  下位機(如變頻器)接收到上位機(即PC機)的完整的7個字節(jié)數(shù)據(jù)后,除上位機廣播通信外均應(yīng)作出應(yīng)答。如果異或校驗無誤,其應(yīng)答格式同接收到的數(shù)據(jù)格式,只是DATA1、DATA2兩位為上位機要訪問參數(shù)碼的當前值;若異或校驗有誤,則發(fā)回出錯幀:

  STR ADDR 0DH 0DH 0FFH 0FFH BCC。

4 小結(jié)

  變頻器通過采用80C196MC中的PTS SIO與計算機通信后,可在計算機上實現(xiàn)對變頻器的狀態(tài)顯示、參數(shù)修改、在線操作以及優(yōu)化控制等遠程控制功能。這樣,現(xiàn)場的操作在控制室就可以完成了,可以最大限度地減輕操作人員的負擔,改善工作環(huán)境,提高企業(yè)的自動化水平。同時由于采用PTS方案,大大減少了CPU的開銷。

 



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉