技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > RS485總線在智能供電系統(tǒng)中的應(yīng)用

RS485總線在智能供電系統(tǒng)中的應(yīng)用

時(shí)間:2008-07-28 16:02:00來(lái)源:ronggang

導(dǎo)語(yǔ):?介紹了RS485串行通信標(biāo)準(zhǔn)及其接口芯片MAX485,給出了PC與多臺(tái)TMS320LF2407 DSP之間串行遠(yuǎn)程數(shù)據(jù)通訊接口電路。描述了公寓智能供電管理系統(tǒng)中上下微機(jī)之間的通訊協(xié)議及串行通信軟件
摘 要:介紹了RS485串行通信標(biāo)準(zhǔn)及其接口芯片MAX485,給出了PC與多臺(tái)TMS320LF2407 DSP之間串行遠(yuǎn)程數(shù)據(jù)通訊接口電路。描述了公寓智能供電管理系統(tǒng)中上下微機(jī)之間的通訊協(xié)議及串行通信軟件. 關(guān)鍵詞:DSP MAX485 串行通訊 1 引言   本文介紹的分布式公寓智能供電管理系統(tǒng)以一臺(tái)主控上位PC機(jī)為核心,以RS485協(xié)議為基礎(chǔ),通過(guò)串口連接多臺(tái)下位機(jī)。下位機(jī)以TMS320LF2407 DSP為主控芯片。由于下位機(jī)要完成每個(gè)房間電壓、電流信號(hào)的實(shí)時(shí)采集、電量實(shí)時(shí)計(jì)算與負(fù)載實(shí)時(shí)識(shí)別等多項(xiàng)任務(wù),算法中包含F(xiàn)FT,計(jì)算量大,算法復(fù)雜,下位機(jī)采用DSP芯片是合理的選擇。考慮到DSP原開(kāi)發(fā)軟件提供的數(shù)據(jù)庫(kù)函數(shù)有限,故該系統(tǒng)將一些實(shí)時(shí)性要求不高的任務(wù),如參數(shù)設(shè)定、波形顯示、電能報(bào)表輸出等交由上位機(jī)處理。本文重點(diǎn)介紹了系統(tǒng)中上下微機(jī)之間的串行通訊設(shè)計(jì)。 2 串行通信接口硬件電路設(shè)計(jì)   2.1 RS485串行通信標(biāo)準(zhǔn)及MAX485簡(jiǎn)介   RS485標(biāo)準(zhǔn)是美國(guó)電氣工業(yè)聯(lián)合會(huì)(EIA) 制定的以雙絞線作傳輸線的多點(diǎn)通信標(biāo)準(zhǔn),采用平衡發(fā)送和差分接收,具有較強(qiáng)的抗共模干擾能力,允許雙絞線上一個(gè)發(fā)送器驅(qū)動(dòng)32 個(gè)負(fù)載設(shè)備。它解決了RS232標(biāo)準(zhǔn)傳輸距離近、信號(hào)易受干擾的問(wèn)題,是工業(yè)上廣泛采用的串行通信標(biāo)準(zhǔn)。   MAX485是MAXIM公司推出的低功耗串行收發(fā)器芯片,該芯片支持RS485協(xié)議,采用單+5 V電源工作,內(nèi)部有一個(gè)接收器和驅(qū)動(dòng)器,其電路原理圖見(jiàn)圖1。圖中RO和DI端分別為接收器的輸出和驅(qū)動(dòng)器的輸入,當(dāng)與DSP芯片連接時(shí)應(yīng)分別與SCIRXD和SCITXD端相連;/RE和DE端分別為接收和發(fā)送的使能端,當(dāng)/RE為邏輯0時(shí),器件處于接收狀態(tài),當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài),由于MAX485工作在半雙工狀態(tài),發(fā)送和接收共用同一物理信道,該信道必須分時(shí)復(fù)用,圖中的/RE和DE連接端即為控制信號(hào)端。MAX485的A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A腳電平低于B時(shí),代表發(fā)送的數(shù)據(jù)為0。   2.2 DSP 通信模塊介紹   TMS320LF2407 DSP內(nèi)部有專用的串行通信模塊(SCI),可支持異步串行通信和多處理器通信,其接收器和發(fā)送器是雙緩沖的,收發(fā)端均有獨(dú)立的使能和中斷標(biāo)志位,可以半雙工或全雙工工作。SCI模塊包括SCIRXD(串行通信數(shù)據(jù)接收)和SCITXD (串行通信數(shù)據(jù)發(fā)送) 兩個(gè)外部引腳及7個(gè)控制類寄存器和3個(gè)數(shù)據(jù)類寄存器。通過(guò)初始化控制類寄存器,可設(shè)置數(shù)據(jù)格式、中斷使能、中斷優(yōu)先級(jí)、波特率等參數(shù)。發(fā)送數(shù)據(jù)時(shí),寫(xiě)1到TXWAKE,將數(shù)據(jù)寫(xiě)入發(fā)送數(shù)據(jù)緩沖寄存器SCITXBUF即可啟動(dòng)一次串行發(fā)送;接收數(shù)據(jù)時(shí),從SCIRXD引腳串行移入數(shù)據(jù),存儲(chǔ)在SCIRXBUF中,供CPU 讀取。   2.3 PC機(jī)與DSP串行通信接口電路   由于普通PC機(jī)上僅配有RS232接口,若要利用上位微機(jī)的串行口來(lái)實(shí)現(xiàn)RS485標(biāo)準(zhǔn)通信,必須進(jìn)行RS232與RS485接口轉(zhuǎn)換。本設(shè)計(jì)采用瑞賽特8520接口卡將串行口的RS232標(biāo)準(zhǔn)電平轉(zhuǎn)換成與TTL 電平兼容的RS485標(biāo)準(zhǔn)電平,該接口卡使用簡(jiǎn)便、無(wú)需再增加任何外圍器件,就可利用標(biāo)準(zhǔn)的PC硬件來(lái)輕松構(gòu)造工業(yè)級(jí)的長(zhǎng)距離通信系統(tǒng)。另外,DSP芯片的工作電壓為+3.3V,而MAX485的工作電壓為+5 V,設(shè)計(jì)時(shí)在二者之間添加了光隔電路,光隔電路既實(shí)現(xiàn)了電平轉(zhuǎn)換,又防止了系統(tǒng)模塊與通信模塊在電氣上相互之間的影響。PC機(jī)與DSP的串行通信硬件接口電路原理圖如圖1所示。圖中MAX485 的接收使能和發(fā)送使能引腳共同由DSP的PC2口控制,以選擇某一時(shí)刻是接收使能還是發(fā)送使能。同時(shí),為保證與傳輸線阻抗匹配,在差分端口A與B之間跨接了120Ω匹配電阻,以消除通信線路中的信號(hào)反射。
3 串口通訊軟件設(shè)計(jì)   3.1 通信協(xié)議   為保證串行通信的準(zhǔn)確性和可靠性,上、下位機(jī)通信雙方必須具有相同的通訊協(xié)議,即相同的波特率及信息傳送格式。因此,本設(shè)計(jì)規(guī)定:  ?。?)通信雙方的波特率為9600bps;   (2) TMS320LF2407 DSP內(nèi)部的SCI模塊提供了兩種多機(jī)通信模式:空閑線模式和地址位模式,本文中DSP通信采用了較簡(jiǎn)單的地址位模式,以保證上位機(jī)同所選擇的下位機(jī)可靠通信。因此幀數(shù)據(jù)格式定義為:8位數(shù)據(jù)位、1位地址/數(shù)據(jù)識(shí)別位(1表示地址、0表示數(shù)據(jù))、1位停止位、無(wú)奇偶校驗(yàn)位;  ?。?)各臺(tái)下位機(jī)不相互通信,且不主動(dòng)發(fā)送命令和數(shù)據(jù),同一時(shí)刻只有一個(gè)下位機(jī)發(fā)送信息給上位機(jī)。為了識(shí)別每個(gè)下位機(jī),系統(tǒng)通過(guò)撥碼開(kāi)關(guān)等硬件電路為其分配一個(gè)特定地址。進(jìn)行通訊前,上位機(jī)首先通過(guò)RS485總線廣播地址信息,所有下位機(jī)都偵聽(tīng)廣播,并中斷接收。下位機(jī)接收到地址信息后,進(jìn)行地址比對(duì),若地址相同,則該下位機(jī)把本機(jī)地址作為應(yīng)答信號(hào)發(fā)送回上位機(jī),然后開(kāi)始準(zhǔn)備接收上位機(jī)發(fā)來(lái)的操作數(shù)據(jù)信息,而其它的下位機(jī)因地址不符,從中斷返回。上位機(jī)接收下位機(jī)發(fā)回的應(yīng)答地址信息后,比較地址信息,如果相符,正式發(fā)送數(shù)據(jù)信息,如果不符則重新發(fā)送地址信息。下位機(jī)收到上位機(jī)發(fā)送的操作數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包格式把有效數(shù)據(jù)做累加,然后與接收到的累加和(即校驗(yàn)碼)比較,若相同,則執(zhí)行相應(yīng)的操作,并發(fā)送成功回饋信息給上位機(jī);若不相同,則說(shuō)明發(fā)送的數(shù)據(jù)中有錯(cuò)誤,將接收數(shù)據(jù)緩存區(qū)清零,并要求上位機(jī)重新發(fā)送。   3.2 PC上位機(jī)軟件設(shè)計(jì)
  系統(tǒng)上位機(jī)程序采用DELPHI語(yǔ)言編寫(xiě),它具有功能強(qiáng)大、簡(jiǎn)便易用和代碼執(zhí)行速度快的特點(diǎn),是新一代可視化快速應(yīng)用開(kāi)發(fā)工具。利用DELPHI實(shí)現(xiàn)串口通信常用的方法有3種:(1)利用控件,如SPCOMM控件、MSCOMM控件及APRO控件等; (2)使用API函數(shù); (3)調(diào)用其他串口通信程序。本系統(tǒng)選用較簡(jiǎn)單的SPCOMM控件來(lái)完成串口選擇、波特率設(shè)置、幀格式設(shè)置、發(fā)送和接收緩沖區(qū)控制、打開(kāi)串口等任務(wù),用Timer控件控制發(fā)送地址碼信息。上位機(jī)PC串行通訊流程圖如圖2所示,其串口通信部分相關(guān)程序如下:   procedure Tform1. Timer1Timer(Sender: TObject);   begin   comm1.BaudRate:=9600;comm1.parity:=None;   comm1.StopBits:=_1; comm1.ByteSize:=_8;   oper_comm:=true; //串口接受數(shù)據(jù)流控制變量   comm1.WriteCommData(@sendbuf,1);   end;   接收程序代碼:   procedure Tform1. Comm1ReceiveData(Buffer: Pointer; BufferLength: Word);   Begin   move(buffer︿,(@rbuf)︿,bufferlength);//將緩沖區(qū)數(shù)據(jù)轉(zhuǎn)移到rbuf變量   if oper_comm=true then   begin   判斷接受到下位機(jī)發(fā)送的應(yīng)答信息,若是則繼續(xù)執(zhí)行   sendbuf:=操作命令字符;//發(fā)送操作命令   comm1.writecommdata(@sendbuf,1);   oper_comm.:=false;   end;   else begin   接收上傳數(shù)據(jù)并求和校驗(yàn)收到數(shù)據(jù)   end;   End;   3.3 DSP下位機(jī)串行通信軟件設(shè)計(jì)   下位機(jī)DSP串行通信的軟件設(shè)計(jì)可采用查詢和中斷兩種方式,設(shè)計(jì)中采用了中斷方式接收數(shù)據(jù)、查詢方式發(fā)送數(shù)據(jù)。程序分為主程序和中斷接收服務(wù)程序、發(fā)送數(shù)據(jù)程序3個(gè)模塊。在主程序中對(duì)SCI 異步串口進(jìn)行初始化(包括操作模式、波特率、字符長(zhǎng)度、奇偶校驗(yàn)位、停止位位數(shù)、中斷優(yōu)先級(jí)和使能控制等信息) 。需要注意的是,為了保證通信的穩(wěn)定可靠,串行通信控制寄存器SCICTL1 的休眠位SLEEP 設(shè)置很重要,具體方法為:初始化時(shí)將所有下位機(jī)DSP的SLEEP位都設(shè)成1,使得它們?cè)趦H當(dāng)檢測(cè)到地址字節(jié)時(shí)才被中斷,在中斷服務(wù)程序里,將接收的地址與本機(jī)地址比對(duì),若相同,則軟件清除SLEEP位以確保SCI在接收到每一數(shù)據(jù)幀都產(chǎn)生中斷,否則SLEEP位仍保持以1,以接收下一個(gè)地址幀。DSP接收數(shù)據(jù)中斷流程圖如圖3所示。 [align=center] [/align] 4 結(jié)束語(yǔ)   本文介紹了公寓智能用電管理系統(tǒng)中利用RS485總線實(shí)現(xiàn)PC機(jī)和多臺(tái)DSP的遠(yuǎn)程串行通信設(shè)計(jì)方案。實(shí)踐證明,該設(shè)計(jì)運(yùn)行可靠,抗干擾性強(qiáng)、可完成較長(zhǎng)距離的串行數(shù)據(jù)通信任務(wù)。該方案對(duì)其它基于DSP的遠(yuǎn)程數(shù)據(jù)通信設(shè)計(jì)具有一定的參考價(jià)值。   本文的創(chuàng)新點(diǎn)是,利用DSP內(nèi)部的專用串行通信模塊SCI及RS485專用接口芯片MAX485實(shí)現(xiàn)了PC機(jī)與多臺(tái)DSP的通信,大大減少了系統(tǒng)的外圍設(shè)計(jì),通過(guò)正確設(shè)置SCI中串行通信控制寄存器SCICTL1 的休眠位SLEEP,避免了通信混亂,提高了總線抗串?dāng)_的能力。 參考文獻(xiàn)   [1] 劉和平,王維俊等著. TMS320LF240x DSP C語(yǔ)言開(kāi)發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003.   [2] 江思敏等著. TMS320LF240x DSP硬件開(kāi)發(fā)教程[M]. 北京:機(jī)械工業(yè)出版社,2003.6.   [3] 張磊,陳建鋒,全力.DSP控制的開(kāi)關(guān)磁阻電機(jī)系統(tǒng)遠(yuǎn)程數(shù)據(jù)通信的研究.中小型電機(jī),2005,32(2):43-46   [4] 王煉紅,章兢.TMS320F2812 DSP與PC機(jī)的串口通信設(shè)計(jì).微計(jì)算機(jī)信息,2006,07Z:173-175

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:ZigBee技術(shù)及其在礦山中的應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)