串行通訊在變頻調速中的應用
一 引言
交流電機因其堅固耐用、體積小、價格便宜而在工業(yè)領域獲得廣泛的應用,目前交流電機的調速方法主要是變頻調速。變頻調速技術集自動控制、微電子等技術于一體,它以很好的調速性能、顯著的節(jié)能效果在工業(yè)領域得到了廣泛的應用,變頻器便是其中應用最多的一種調速裝置?,F(xiàn)代變頻調速器采用的是數(shù)字控制技術,以專用數(shù)字處理芯片為核心,能夠適合各種場合的電機拖動控制。它不僅節(jié)省能源,又是生產機械自動化的重要手段。采用變頻器和微機組合實現(xiàn)對電機的控制能夠充分發(fā)揮變頻器的優(yōu)勢,使電機的調速過程更加靈活,因此微機與變頻器之間的通訊也就十分重要。
本文中的數(shù)字信號處理(簡稱DSP)采用的是TI公司的TMS320F240(以下簡稱F240),它是專門用于數(shù)字電機控制(DMC)的一種低價格、高性能16位定點運算DSP,其將高性能的DSP內核和豐富的微控制器外設功能集于一身,為控制系統(tǒng)應用提供了一種理想的解決方案。F240的串行通信接口(SCI)支持CPU與其他采用標準NRZ(不返回零)格式的異步外設間的數(shù)字通信,因此可以利用DSP中的SCI模塊完成與微機間的指令和數(shù)據(jù)傳遞,實現(xiàn)微機對生產現(xiàn)場的檢測和控制。
PC機界面采用可視化編程工具VB6.0來編寫,VB6.0是運行與Windows上的交互式可視化集成開發(fā)環(huán)境,利用其強大的通訊控件和可視化編程,可方便實現(xiàn)PC機與DSP間的通信,同時提供良好的人機界面,方便用戶的操作和使用。
二 通信協(xié)議
F240的SCI的接收和發(fā)送數(shù)據(jù)都是采用的非歸零碼,如圖1所示。它是標準的異步通
圖1 典型的SCI數(shù)據(jù)幀格式
信方式,一幀數(shù)據(jù)包括1位起始位、8位數(shù)據(jù)位(最低有效位在前)、奇偶校驗位(可選)、1位或2位停止位。本文中的幀數(shù)據(jù)由10位組成,沒有奇偶校驗位,用專門的字節(jié)來校驗,停止位選擇的是1位。
通訊數(shù)據(jù)由10個字節(jié)組成,如圖2所示,主要由標志段(同步信號)、地址段、信息段和校驗段4部分組成,下面分別說明。
圖2 通信數(shù)據(jù)的結構
標志段的報頭采用“7EH”,用以通知CPU一次傳輸數(shù)據(jù)的開始,即只有檢測到報頭后才認為接收到的是一組正確數(shù)據(jù)。
地址段的5~7位是上位機地址,0~4位是下位機地址,采用地址段可以實現(xiàn)多PC機與多變頻調速裝置之間的通信,只有當CPU檢測到正確的屬于本機的地址時才響應命令。
信息段包含三類信息:命令字、狀態(tài)字和功能碼。其中命令字由高低兩個字節(jié)組成,可以傳遞修改功能碼、起停和正反轉等信息。功能碼由三個字節(jié)組成,用以傳送對諸如頻率,啟動時間,制動時間等變頻器參數(shù)。狀態(tài)字由兩個字節(jié)組成,用以說明下位機的一些現(xiàn)行狀態(tài),諸如非法命令、操作是否成功等。
校驗段的值為前九個字節(jié)的異或,當CPU接收完數(shù)據(jù)后對前九個字節(jié)做異或運算,再和檢驗段進行比較,如果相等則認為接收的數(shù)據(jù)是正確的;如果不相等則把信息段全部置零用以通知接收數(shù)據(jù)錯誤,要求重發(fā)。
三 DSP的軟件設計
一般來說單片機的通信程序可以有兩種選擇,即查詢方式和中斷方式??紤]到CPU要完成的控制功能比較復雜時,主循環(huán)的時間通常會比較長,因此采用查詢方式時的實時性往往不好,下位機對上位機的響應速度比較慢,同時在沒有握手信號的情況下也有可能丟失數(shù)據(jù)。對于變頻調速裝置中的DSP來說,需要做大量的數(shù)據(jù)采集、占空比計算以及保護顯示、故障記錄等工作,可見不適合采用查詢方式。鑒于以上原因本文采用的是中斷方式。
F240 SCI的初始化工作放在主程序的開始部分,主要完成SCI控制寄存器的初始化,包括中斷的設置,波特率,數(shù)據(jù)位,停止位等等。由于SCI中斷既包含發(fā)送中斷也包含接收中斷,因此作為下位機的DSP SCI初始化時開的是接收中斷而發(fā)送中斷是關閉的,即下位機只有接收到上位機命令時才會發(fā)送數(shù)據(jù),同時程序也是以此為標志位來區(qū)分發(fā)送過程和接收過程的。下面給出了SCI的初始化程序:
由于CPU完成的控制任務很復雜,所以系統(tǒng)的整體設計要求局部功能對CPU的占用時間盡可能的少,以盡可能地避免中斷沖突,使系統(tǒng)整體的控制性能比較優(yōu)越。針對于通訊模塊的程序設計,如果把數(shù)據(jù)接收發(fā)送和數(shù)據(jù)處理都放到中斷服務子程序中將違背上述原則,因此在通信中斷服務子程序中只進行數(shù)據(jù)的接收或發(fā)送,即每次只接收或發(fā)送一個數(shù)據(jù),然后退出中斷,當接收或發(fā)送完十個數(shù)據(jù)后就關閉接收或發(fā)送中斷,這時可以進行數(shù)據(jù)處理。數(shù)據(jù)處理放在主循環(huán)中,主要用于解碼和通知CPU完成相關地操作、形成下位機要反饋地數(shù)據(jù)信息,數(shù)據(jù)處理完畢后可以使能相應地接收或發(fā)送中斷。圖3和圖4分別給出了這兩部分子程序的流程圖。
圖3 SCI ISR流程圖 圖4 數(shù)據(jù)處理流程圖
四 PC機的軟件設計
采用VB6.0編寫通信程序主要有兩種方法:(1)利用VisualBasic中的OCX控件MSComm32;(2)運用API函數(shù)。方法一,簡單、易調試,它使用OnComm事件和CommEvent屬性捕捉并檢查通信事件和錯誤的值,屬事件觸發(fā)。本文采用的是這種方法,人機界面如圖5所示。
軟件的核心部分是控件MSComm32,通過它可以設置通信的端口,波特率,數(shù)據(jù)位,停止位等控制信息。MSComm控件提供了兩種處理通信問題的方法:事件驅動方法和查詢方法。最基本的通信事件有接收、發(fā)送和出錯等,可以使用戶方便地處理通信中的所涉及問題,本文采用的就是事件驅動方法。下面給出了該控件的初始化程序。
由于變頻器具有大量的運行參數(shù)和設定參數(shù),要完成對其監(jiān)控上位機軟件就必須具有相應的數(shù)據(jù)庫,以保證可以對這些參數(shù)進行有效的管理,本文中的數(shù)據(jù)庫是采用Access來建立的,包含了參數(shù)的最大值最小值以及當前值等信息。VB中的Data控件支持Access數(shù)據(jù)庫,具有預先設計的數(shù)據(jù)庫導航允許用戶遍歷所有數(shù)據(jù),基本上不需要或很少的編程就可以很方便的實現(xiàn)數(shù)據(jù)庫的連接。但是該控件無法實現(xiàn)數(shù)據(jù)的瀏覽,因此需要把具有數(shù)據(jù)綁定功能的控件同Data控件結合起來使用,本文中是采用Textbox和ComboBox控件來顯示數(shù)據(jù)庫內容的。
軟件還包含了對通訊線路故障和通信狀態(tài)的檢測以及無效端口和端口開關的容錯處理,在一定程度上提高了軟件運行的可靠性。
圖5 上位機人機界面
五 結論
利用DSP的串行通信接口(SCI)和功能強大的面向對象的開發(fā)工具VB6.0,可以方便地實現(xiàn)DSP與PC機間的單機或多機串行通信。本文所涉及的軟件已在PC機和以TMS320F240為核心的變頻調速裝置上進行了調試,通過PC機遠程控制電機的轉速、起停等運行狀況,驗證了本方案的正確性,并獲得了滿意的效果。
本文相關信息
- [新聞資訊] 船舶行業(yè)振興規(guī)劃急待實施細則
- [新聞資訊] 船舶業(yè)調整振興規(guī)劃 大船企受益明顯
- [新聞資訊] 倫銅持于7,200美元附近,關注美聯(lián)儲會議決定
- [新聞資訊] 船舶業(yè)迎來做強的新機遇
- [新聞資訊] 船舶業(yè)振興規(guī)劃細則或以工作計劃形式推進
- [新聞資訊] 倫銅開高逾1%,美元走軟蓋過美國成長預期下調影響
- [新聞資訊] 倫銅微幅走高,但中國疑慮削弱買興
- [新聞資訊] 倫銅微幅走高,關注中國本周將發(fā)布的數(shù)據(jù)
- [新聞資訊] 船機污染物排放國標將出臺 航運業(yè)環(huán)保標準升級
- [新聞資訊] 串口網橋讓門禁網絡化