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