基于DSP串行通信在變頻調速系統中的應用
隨著(zhù)電力電子技術(shù)的不斷發(fā)展和微處理技術(shù)尤其是數字信號處理器(DSP)的出現,基于數字控制的現代交流調速系統可以應用復雜的控制策略,實(shí)現高速動(dòng)態(tài)響應功能。在以DSP為控制核心的異步電機驅動(dòng)系統中,要實(shí)現觀(guān)測驅動(dòng)系統在運行中的數據變量,根據需要對程序進(jìn)行控制,就需要應用DSP中的串口通訊接口與上位機——控制面板或者計算機系統進(jìn)行通訊。本文針對一套基于DSP的異步電機變頻調速驅動(dòng)系統,設計了DSP與上位機系統通訊的硬件電路,編寫(xiě)了通訊的匯編程序,實(shí)現了DSP與上位機的異步通訊。在調試階段,為了方便調試,在WINDOWS環(huán)境下,在PC機上利用VB編寫(xiě)了通訊控制程序,實(shí)現了DSP與上位PC機的通訊。通過(guò)多種條件下的運行調試,證明通訊可靠,運行穩定。
本文引用地址:http://dyxdggzs.com/article/227587.htm1 變頻調速系統
近年來(lái)交流調速領(lǐng)域中最活躍。發(fā)展最快的是變頻調速技術(shù),它是交流調速的基礎和主干內容。變頻調速對于提高電工作效率和工作質(zhì)量以及節約能源等,都起著(zhù)十分重要的作用。本文以AD公司的專(zhuān)用DSP芯片ADMC328為控制核心,實(shí)現異步電機的變頻調速?!ふ{速系統的硬件電路分為四個(gè)主要模塊:電源模塊??刂破髂K。功率模塊以及通訊模塊。
電源模塊負責為其它模塊提供相應的電源。它的輸入是交流220V,由主控板或其它交流電源提供;輸出是三個(gè)直流電源,為逆變器提供直流300V和直流15V,為控制器部分提供直流5V。
控制器模塊的主要功能是實(shí)現空間矢量脈沖寬度調制(SVPWM),對直流300V母線(xiàn)進(jìn)行電壓和電流檢測,與外界通訊。
功率模塊的實(shí)質(zhì)是一個(gè)10A/600V的三相逆變器,它受控于控制器輸出的PWM信號,為異步電動(dòng)機(IM)提供三相正弦電流。
通訊模塊是變頻驅動(dòng)板與主控板以及UART設備通訊的通道。通訊模塊是保證上位機與下位機準確快速聯(lián)系的重要環(huán)節,是確保系統可靠運行的重要因素。
變頻調速系統的控制框圖如圖1所示。
2 ADMCF328及其串口簡(jiǎn)介
ADMCF328芯片是美國AD(ANALOG DEVICES)公司生產(chǎn)的一種低價(jià)位?;贒SP的單片機控制器,適合于控制交流感應電機。永磁同步電機。無(wú)刷直流電機和開(kāi)關(guān)磁阻電機。它包括一個(gè)20MIPS的定點(diǎn)DSP內核和一整套電機控制外設,適于開(kāi)發(fā)快速有效的電機控制器。
ADMCF328提供有共同步串行通訊口,支持多種串行通訊協(xié)議,并且可以在多處理器系統中直接互連各個(gè)處理器。每個(gè)串口包括五個(gè)引腳:
SCLK(串行時(shí)鐘),
RFS(接收幀同步),
TFS(發(fā)送幀同步),
DR(串行數據接收),
DT(串行數據發(fā)送)。
串口有獨立的發(fā)送和接收部分,并且每個(gè)部分都有一個(gè)寄存器能把數據字從處理器移進(jìn)或移出,雙緩沖區技術(shù)為串口服務(wù)提供了附加時(shí)間。串口可以使用外部時(shí)鐘或在內部生成時(shí)鐘,頻率范圍寬,最小為0Hz,最大為6.144MHz。串口可以支持串行字長(cháng)從3位到16位的數據傳輸。串口還可使用可以靈活控制的幀同步信號。接收和發(fā)送一個(gè)完整的數據字之后,可以產(chǎn)生一個(gè)中斷。
發(fā)送數據時(shí),由TX寄存器實(shí)現TFS信號,表明傳送開(kāi)始,寫(xiě)入TX寄存器的每個(gè)值都會(huì )被傳送到內部發(fā)送移位寄存器中,然后從MSB開(kāi)始發(fā)送各位,每一位都是在SCLK上升沿移出;接收數據時(shí),接收到一個(gè)完整的字后,寫(xiě)入RX寄存器,同時(shí)產(chǎn)生接收中斷。
3 串行通訊接口電路
串行通訊接口包括數據傳輸線(xiàn)DT和數據接收線(xiàn)DR。這樣,可以通過(guò)對串口控制寄存器(Sport Control Register)的值進(jìn)行修改,來(lái)控制數據接收幀同步只對串行通信中的第一個(gè)字節有效。也就是說(shuō),將DR和RFS連在一起之后,在進(jìn)行數據傳輸的時(shí)候,在數據傳輸開(kāi)始的時(shí)刻,就是第一個(gè)字節的起始位到達的時(shí)刻,RFS會(huì )對其進(jìn)行判斷,產(chǎn)生一個(gè)數據接收中斷,從而達到異步通信的效果。
當需要把TTL(0V和+5V)電平轉換為UART電平(-10V和+10V)時(shí),比如說(shuō)要和PC串口(RS/232)進(jìn)行通訊時(shí),就要添加一些硬件電路。如圖2所示,使用了AD7306BR轉換電平,由圖中可以看出PC串口的3(TD)管腳即數據發(fā)送管理,經(jīng)過(guò)AD7306BR之后,電平由-10V~+10V轉換到0~+5V連接到DSP串口的數據接收(DR)管腳;同理DSP串口的數據發(fā)送(DT)管腳經(jīng)過(guò)AD7306BR完成電平轉換接到PC串口的2(RD)管腳即數據接收管腳上。在完成電平轉換之后,還要使用HCPL2630將DSP與電平轉換電路隔離。
4 通訊協(xié)議及軟件設計
4.1 通訊協(xié)議
通訊協(xié)議采用異步串行通訊方式,波特率為2400bps,數據包括8位數據位。1個(gè)奇校驗位。1個(gè)低電平起始位和1個(gè)高電平停止位;變頻驅動(dòng)板與主控板的通訊由3個(gè)字節組成:同步碼0XFF.命令碼和命令參數;主控板為主設備,變頻驅動(dòng)板為從設備,變頻驅動(dòng)板接到命令后立即應答,50ms無(wú)應答則重發(fā)命令,1s無(wú)應答則出錯誤報警。通訊數據格式如表1所示。
表1通訊數據格式
4.2 實(shí)現方法
由于A(yíng)DMCF328只有一個(gè)同步串口,為了實(shí)現通訊協(xié)議的異步串行通訊,本文采用了一種使用同步串口作為異步通訊接口的方法。將串口的同步時(shí)鐘頻率設定為通訊協(xié)議波特率(2400)的三倍(7200),這樣,命令字節中的第一位(bit)將讀被取三次,取中間一次作為正確結果,用以保證消除上升。下降沿對通訊命令讀取造成的誤差;為了保證異步通訊,硬件上要求將數據接收線(xiàn)DR和RFS接在一起,以便產(chǎn)生異步中斷。
由于是三倍頻,所以每一位(bit)需要發(fā)送三次(接收時(shí)亦按三個(gè)字節接收),每一個(gè)命令字節共包括11位:一個(gè)起始位。八個(gè)數據位。一個(gè)奇偶校驗位和一個(gè)停止位,所以共需33位,而串口傳輸數據的寄存器TX和RX只有32位,所以在接收數據的過(guò)程中,最后的停止位只接收2/3次,由于是三分頻,只讀取中間一部分的數據,所以不影響接收的正確性;在發(fā)送數據的時(shí)候,最后停止位只能發(fā)送2/3次,因此發(fā)送一個(gè)完整的命令字節后,補發(fā)一個(gè)0XFF來(lái)補齊停止位,以保證通訊完整,和上位機正常通訊。
發(fā)送和接收數據均采用中斷方式。由于串口接收數據采用的是雙緩沖的方式,由硬件實(shí)現數據的收發(fā),因此不會(huì )受高級中斷的影響而使通訊失敗。只要在發(fā)數據的兩條指令前屏蔽其它中斷,一來(lái)可以保證通訊的準確性,二來(lái)又不會(huì )對PWM同步中斷造成很大影響,從而保證對電機的控制。
4.3 軟件流程
確定了通訊方式以后,即可根據通訊協(xié)議設計通訊程序,圖3是串行異步通訊程序的流程圖。
4.4 同步與異步串行通信比較
異步通信其它是依賴(lài)于同步性的,字符到達可以不同步,但每個(gè)字符的接收要通過(guò)起始位使之同步。事務(wù)上,異步和同步通信之間的基本差別只是程序不同,前者在每個(gè)字符中都需要同步位,而后者則經(jīng)常需要一個(gè)精的時(shí)間控制時(shí),連續位方式的同步傳送要比異步傳送優(yōu)越。然而即使完全的同步化能夠實(shí)現,系統仍然在許多方面產(chǎn)生故障,因為它需要的是不可中斷的數據流,換句話(huà)說(shuō),傳送字符串數據的技術(shù)沒(méi)有辦法將一個(gè)字符與另一個(gè)字符分離。所以,即使環(huán)境理想,如果字符不能按照指定時(shí)間到達接收方的應用系統。純粹的同步是不能實(shí)現的[3],所以可靠準確的數據傳輸需要使用異步通信的方法,并且由于DSP速度大大提高,增加了起始位。停止位和奇偶校驗位的異步通信方式并不對數據處理造成過(guò)多的影響。因此,本文工作中采用了串行異步通信的方式。
采用這種方法的特點(diǎn)和實(shí)際意義如下:
(1)利用同步串口實(shí)現了異步通信,充分利用了DSP的資源,使DSP可以對異步電機的調速控制和與上位機的通訊同時(shí)處理,節約了成本。
(2)由于這套異步電機調速系統主要應用于家電中,因此功率不大,線(xiàn)路不長(cháng),本方法采用的設定三倍頻率同步時(shí)鐘以及合適的波特率,保證了通訊抗干擾能力,使得運行可靠。
本文提出的利用ADMCF328芯片的同步串口進(jìn)行串行異步通訊的方法,通過(guò)對ADMCF328芯片的同步串口進(jìn)行軟件編程,實(shí)現異步通訊。由于采用了三分頻的方法,讀取數據準確,雙工串行異步通訊效果良好。在驅動(dòng)板與主控板連接調試之前,利用VB編寫(xiě)了通訊監控程序,通過(guò)硬件電平轉換電路使DSP與PC機之間進(jìn)行通訊,收發(fā)數據準確,通過(guò)良好,而且驅動(dòng)板帶動(dòng)異步電機工作,運行正常。將主控板與驅動(dòng)板連接整機調試,通訊正常,電機運行正常。
總之,從軟件到硬件的實(shí)施方案,通過(guò)實(shí)驗以及應用,證明了這個(gè)方法的可行性和可靠性。
通信相關(guān)文章:通信原理
評論