機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
80C196MC的外設事務服務器及其應用
80C196MC的外設事務服務器及其應用
 更新時間:2008-8-17 16:28:02  點擊數(shù):15
【字體: 字體顏色

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

    關鍵詞:單片機 變頻器 通信

引言

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

1 關于外設事務服務器PTS

1.1 PTS和普通中斷

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

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

    ②通常中斷所做的是相同的工作,如不斷的連續(xù)A/D轉換、數(shù)據(jù)組的傳遞、通信的多字節(jié)傳遞等。PTS正利用這點,由一個程序啟動PTS,讓之在PTS計數(shù)器單元控制下不中斷正常程序靠硬件微代碼(即類似DMA的插入)來分時完成,在PTS計數(shù)單元完成后轉化為一次普通中斷,通過普通中斷進行一系列PTS完成后的結果處理。

③在80C196MC中,PTS優(yōu)先級總是比普通中斷優(yōu)先級要高,并且有近16個中斷源,對應用16位的允許位和響應位的字寄存器進行各自控制;同時,PTS和普通中斷是各位相對應的,這樣使得PTS完成后轉化為一次普通中斷就變得很簡單。

④在80C196MC中,與PTS有關的控制有:總允許位PSW.10以及各中斷源的選擇位PTSSEL寄存器。其中PSW.10通過EPTS指令置位,允許PTS服務。與普通中斷有關的控制有:總允許位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ù)的,但它們都應在寄存器RAM區(qū)內,控制塊首地址都應能被8整除。

2 程序設計

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

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

下面介紹程序中應注意的要點:

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

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

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

④在發(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ù)異或后的結果。下面結合不同的操作分別介紹其它各幀的含義。

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

根據(jù)變頻器參數(shù)的不同使用級別,將其參數(shù)分為F、P、E三級數(shù)據(jù):F組數(shù)據(jù)主要為用戶常用的一級參數(shù),如給定頻率等;P組數(shù)據(jù)為專業(yè)用戶或廠內的整定數(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ù)在組內的代號

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é),其格式如下所示:

[1] [2] [3]  下一頁
  • 上一篇: 基于P89C51RD2 IAP功能的數(shù)據(jù)存取與軟件升級
  • 下一篇: 單總線協(xié)議轉換器在分布式測控系統(tǒng)中的應用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1