《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 基于DSP的串行通信在變頻調速系統中的應用

基于DSP的串行通信在變頻調速系統中的應用

2008-11-14
作者:宋文超 張春朋 林 飛 陳壽孫

??? 摘? 要: 介紹了基于專用DSP芯片ADMC328的異步電機調速系統" title="調速系統">調速系統中的主控部分與驅動部分之間的通訊。詳細介紹了通訊的硬件接口電路、通訊協議" title="通訊協議">通訊協議以及軟件實現方法,實現了利用DSP的同步串口" title="串口">串口進行異步通訊的方法,并確保通訊準確可靠。實驗結果證明了其可靠性。?

??? 關鍵詞: 數字信號處理器? 串行異步通訊? 交流調速系統

?

??? 隨著電力電子技術的不斷發(fā)展和微處理技術尤其是數字信號處理器(DSP)的出現,基于數字控制的現代交流調速系統可以應用復雜的控制策略,實現高速動態(tài)響應功能。在以DSP為控制核心的異步電機驅動系統中,要實時觀測驅動系統在運行中的數據變量,根據需要對程序進行控制,就需要應用DSP中的串口通訊接口與上位機" title="上位機">上位機——控制面板或者計算機系統進行通訊。本文針對一套基于DSP的異步電機變頻調速驅動系統,設計了DSP與上位機系統通訊的硬件電路,編寫了通訊的匯編程序,實現了DSP與上位機的異步通訊。在調試階段,為了方便調試,在WINDOWS環(huán)境下,在PC機上利用VB編寫了通訊控制程序,實現了DSP與上位PC機的通訊。通過多種條件下的運行調試,證明通訊可靠,運行穩(wěn)定。?

1 變頻調速系統?

??? 近年來交流調速領域中最活躍、發(fā)展最快的是變頻調速技術,它是交流調速的基礎和主干內容。變頻調速對于提高電機工作效率和工作質量以及節(jié)約能源等,都起著十分重要的作用。本文以AD公司的專用DSP芯片ADMC328為控制核心,實現異步電機的變頻調速。?

??? ·調速系統的硬件電路分為四個主要模塊:電源模塊、控制器模塊、功率模塊以及通訊模塊。?

??? 電源模塊負責為其它模塊提供相應的電源。它的輸入是交流220V,由主控板或其它交流電源提供;輸出是三個直流電源,為逆變器提供直流300V和直流15V,為控制器部分提供直流5V。?

??? 控制器模塊的主要功能是實現空間矢量脈沖寬度調制(SVPWM),對直流300V母線進行電壓和電流檢測,與外界通訊。?

??? 功率模塊的實質是一個10A/600V的三相逆變器,它受控于控制器輸出的PWM信號,為異步電動機(IM)提供三相正弦電流。?

??? 通訊模塊是變頻驅動板與主控板以及UART設備通訊的通道。通訊模塊是保證上位機與下位機準確快速聯系的重要環(huán)節(jié),是確保系統可靠運行的重要因素。?

??? 變頻調速系統的控制框圖如圖1所示。?

?

?

2 ADMCF328及其串口簡介?

??? ADMCF328芯片是美國AD(ANALOG DEVICES)公司生產的一種低價位、基于DSP的單片控制器,適合于控制交流感應電機、永磁同步電機、無刷直流電機和開關磁阻電機。它包括一個20MIPS的定點DSP內核和一整套電機控制外設,適于開發(fā)快速有效的電機控制器[1]。?

??? ADMCF328提供有同步串行通訊口,支持多種串行通訊協議,并且可以在多處理器系統中直接互連各個處理器。每個串口包括五個引腳:?

??? SCLK (串行時鐘),?

??? RFS (接收幀同步),?

??? TFS (發(fā)送幀同步),?

??? DR (串行數據接收" title="數據接收">數據接收),?

??? DT (串行數據發(fā)送)。?

??? 串口有獨立的發(fā)送和接收部分,并且每個部分都有一個寄存器能把數據字從處理器移進或移出,雙緩沖區(qū)技術為串口服務提供了附加時間。串口可以使用外部時鐘或在內部生成時鐘,頻率范圍寬,最小為0Hz,最大為6.144MHz。串口可以支持串行字長從3位到16位的數據傳輸。串口還可使用可以靈活控制的幀同步信號。接收和發(fā)送一個完整的數據字之后,可以產生一個中斷。?

??? 發(fā)送數據時,由TX寄存器實現TFS信號,表明傳送開始,寫入TX寄存器的每個值都會被傳送到內部發(fā)送移位寄存器中,然后從MSB開始發(fā)送各位,每一位都是在SCLK上升沿移出的;接收數據時,接收到一個完整的字后,寫入RX寄存器,同時產生接收中斷。?

3 串行通訊接口電路?

??? 串行通訊接口包括數據傳輸線DT和數據接收線DR。為了保證產生中斷,DR必須和RFS接在一起。這樣,可以通過對串口控制寄存器(Sport Control Register)的值進行修改,來控制數據接收幀同步只對串行通信中的第一個字節(jié)有效。也就是說,將DR和RFS連在一起之后,在進行數據傳輸的時候,在數據傳輸開始的時刻,就是第一個字節(jié)的起始位到達的時刻,RFS會對其進行判斷,產生一個數據接收中斷,從而達到異步通信的效果。?

??? 當需要把TTL(0V和+5V)電平轉換為UART電平(-10V和+10V)時,比如說要和PC串口(RS/232)進行通訊時,就要添加一些硬件電路。如圖2所示,使用了AD7306BR轉換電平,由圖中可以看出PC串口的3(TD)管腳即數據發(fā)送管腳,經過AD7306BR之后,電平由-10V~+10V轉換到0~+5V連接到DSP串口的數據接收(DR)管腳;同理DSP串口的數據發(fā)送(DT)管腳經過AD7306BR完成電平轉換接到PC串口的2(RD)管腳即數據接收管腳上。在完成電平轉換之后,還要使用HCPL2630將DSP與電平轉換電路隔離。?

?

?

4 通訊協議及軟件設計?

4.1 通訊協議?

??? ?通信協議采用異步串行通訊方式,波特率為2400bps,數據包括8位數據位、1個奇校驗位、1個低電平起始位和1個高電平停止位;變頻驅動板與主控板的通訊由3個字節(jié)組成:同步碼0XFF、命令碼和命令參數;主控板為主設備,變頻驅動板為從設備,變頻驅動板接到命令后立即應答,50ms無應答則重發(fā)命令,1s無應答則出錯誤報警。

??? 通訊數據格式如表1所示。?

?

?

4.2 實現方法?

??? 由于ADMCF328只有一個同步串口,為了實現通訊協議的異步串行通訊,本文采用了一種使用同步串口作為異步通訊接口的方法。將串口的同步時鐘頻率設定為通訊協議波特率(2400)的三倍(7200),這樣,命令字節(jié)中的每一位(bit)將被讀取三次,取中間一次作為正確結果,用以保證消除上升、下降沿對通訊命令讀取造成的誤差;為了保證異步通訊,硬件上要求將數據接收線DR和RFS接在一起,以便產生異步中斷。?

??? 由于是三倍頻,所以每一位(bit)需要發(fā)送三次(接收時亦按三個字節(jié)接收),每一個命令字節(jié)共包括11位:一個起始位、八個數據位、一個奇偶校驗位和一個停止位,所以共需33位,而串口傳輸數據的寄存器TX和RX只有32位,所以在接收數據的過程中,最后的停止位只接收2/3次,由于是三分頻,只讀取中間一部分的數據,所以不影響接收的正確性;在發(fā)送數據的時候,最后停止位只能發(fā)送2/3次,因此發(fā)送一個完整的命令字節(jié)后,補發(fā)一個0XFF來補齊停止位,以保證通訊完整,和上位機正常通訊。?

??? 發(fā)送和接收數據均采用中斷方式。由于串口接收數據采用的是雙緩沖的方式,由硬件實現數據的收發(fā),因此不會受高級中斷的影響而使通訊失敗。只要在發(fā)數據的兩條指令前屏蔽其它中斷,一來可以保證通訊的準確性,二來又不會對PWM同步中斷造成很大影響,從而保證對電機的控制。?

4.3 軟件流程?

??? 確定了通訊方式以后,即可根據通訊協議設計通訊程序,圖3是串行異步通訊程序的流程圖。

?

?

4.4 同步與異步串行通信比較?

??? 異步通信其實是依賴于同步性的,字符到達可以不同步,但每個字符的接收要通過起始位使之同步。事實上,異步和同步通信之間的基本差別只是程度不同,前者在每個字符中都需要同步位,而后者則經常需要一個同步字節(jié)。當效率變?yōu)轭^等重要,并且數據可以用一個精確的時間控制時,連續(xù)位流方式的同步傳送要比異步傳送優(yōu)越。然而即使完全的同步化能夠實現,系統仍然在許多方面產生故障,因為它需要的是不可中斷的數據流,換句話說,傳送字符串數據的技術沒有辦法將一個字符與另一個字符分離。所以,即使環(huán)境理想,如果字符不能按照指定時間到達接收方的應用系統。純粹的同步是不能實現的[3],所以可靠準確的數據傳輸需要使用異步通信的方法,并且由于DSP速度大大提高,增加了起始位、停止位和奇偶校驗位的異步通信方式并不對數據處理造成過多的影響。因此,本文工作中采用了串行異步通信的方式。?

??? 采用這種方法的特點和實際意義如下:?

??? (1)利用同步串口實現了異步通信,充分利用了DSP的資源,使DSP可以對異步電機的調速控制和與上位機的通訊同時處理,節(jié)約了成本。?

??? (2)由于這套異步電機調速系統主要應用于家電中,因此功率不大,線路不長,本方法采用的設定三倍頻率同步時鐘以及合適的波特率,保證了通訊抗干擾能力,使得運行可靠。?

??? 本文提出的利用ADMCF328芯片的同步串口進行串行異步通訊的方法,通過對ADMCF328芯片的同步串口進行軟件編程,實現了異步通訊。由于采用了三分頻的方法,讀取數據準確,雙工串行異步通訊效果良好。在驅動板與主控板連接調試之前,利用VB編寫了通訊監(jiān)控程序,通過硬件電平轉換電路使DSP與PC機之間進行通訊,收發(fā)數據準確,通訊良好,而且驅動板帶動異步電機工作,運行正常。將主控板與驅動板連接整機調試,通訊正常,電機運行正常。?

??? 總之,從軟件到硬件的實施方案,通過實驗以及應用,證明了這個方法的可行性和可靠性。?

參考文獻?

1 ADSP-2100 Family User’s Manual, Third Edition. Analog??Devices Inc, 1995?

2 Using Serial Port0 of the ADMC331 as a UART Interface. Analog Devices Inc, 2000?

3 Mark Nelson. 串行通信開發(fā)指南. 北京:中國水利水電出版社,2000?

4 Mircevski S. DSP Application in AC Drives. Mediterranean: Electrotechnical Conference, 2000;2(10):778~781?

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。