基于TMS320F2812集中供電系統(tǒng)的串口通信設(shè)計(jì)
集中供電系統(tǒng)是電量的自動(dòng)計(jì)量及管理的發(fā)展趨勢(shì),它將促進(jìn)電力系統(tǒng)的潛能得到最大限度的發(fā)揮。
本集中供電系統(tǒng)利用RS-485通信,網(wǎng)絡(luò)應(yīng)用計(jì)算機(jī)、通信技術(shù)等,以DSP為核心、將智能計(jì)量與通信控制單元有機(jī)結(jié)合起來。
TMS320F2812串行通信接口(SCI)是一個(gè)雙線通信異步串行通信接口,為減少串口通信時(shí)CPU的開銷,F2812的串口支持16級(jí)接收和發(fā)送FIFO。串行通信接口支持與CPU以及其他使用費(fèi)歸零格式的異步外設(shè)之間的異步串行數(shù)字通信,它的接收器和發(fā)送器都是雙級(jí)緩沖器,有各自獨(dú)立的控制位與中斷位,都可以同時(shí)工作在全雙工模式下,為保證數(shù)據(jù)的完整性,串行通信接口對(duì)接收的數(shù)據(jù)進(jìn)行間斷檢測(cè)、奇偶性、超時(shí)和幀錯(cuò)誤檢查。串行通信接口可以通過16位的波特率選擇寄存器,設(shè)置多達(dá)65000種通信速度,TMS320F2812的SCI和以往的DSP的SCI相比具有兩個(gè)特點(diǎn):一是傳送、接收都具有獨(dú)立的FIFO;二是波特率可以自動(dòng)檢測(cè)。
集中供電系統(tǒng)串行通信硬件設(shè)計(jì)
本文提出了一種以RS-485協(xié)議為基礎(chǔ),作為網(wǎng)絡(luò)信息控制中心的PC為上位機(jī),采用TMS320F2812為下位機(jī)的集中供電系統(tǒng),F(xiàn)2812負(fù)責(zé)采集實(shí)時(shí)數(shù)據(jù),然后通過串行口,再經(jīng)過RS-485接口實(shí)現(xiàn)電平轉(zhuǎn)換,將數(shù)據(jù)上傳給控制中心的上位機(jī),上位機(jī)負(fù)責(zé)數(shù)據(jù)的處理,如圖1所示。
RS-232在現(xiàn)代網(wǎng)絡(luò)通信中已暴露出數(shù)據(jù)傳輸速度慢、傳輸距離短、接口處各信號(hào)間容易產(chǎn)生干擾等缺點(diǎn)。由于一般PC上提供的是標(biāo)準(zhǔn)的RS-232(串行接口)。因此,需要RS-232C/RS-485轉(zhuǎn)換器進(jìn)行接口轉(zhuǎn)換。本系統(tǒng)用瑞賽特8520將RS-232信號(hào)轉(zhuǎn)換成隔離的RS-485信號(hào),無需改變PC的任何硬件和軟件。RS-485接口采用的是差分傳輸方式,具有一定的抗共模干擾能力,但當(dāng)共模電壓超過RS-285接收器的極限接收電壓,即大于+12V或小于-7V時(shí),接收器就再也無法正常工作了,嚴(yán)重是甚至?xí)龤酒蛢x器設(shè)備,因此,采用光電隔離器件是一種簡(jiǎn)單而有效的辦法。
本系統(tǒng)采用MAX485完成RS485標(biāo)準(zhǔn)接口通信,MAX485是一種差分平衡型收發(fā)器,它采用單一電源+5V工作,額定電流為300μA,采用半雙工通信方式,它完成將TTL電平轉(zhuǎn)換為RS-485電平的功能,內(nèi)部含有一個(gè)驅(qū)動(dòng)器和接收器,驅(qū)動(dòng)器有過載保護(hù)功能,RO和DI端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,連接時(shí)只需分別與TMS320F2812的SCIRXD和SCITXD相連即可,/RE和DE端分別為接收和發(fā)送的使能端,當(dāng)/RE為邏輯0時(shí),器件處于接收狀態(tài),當(dāng)DE為邏輯1時(shí),器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需要TMS320F2812的一個(gè)引腳控制這兩個(gè)引腳即可:A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0,在與TMS320F2812連接時(shí),接線非常簡(jiǎn)單,只需要一個(gè)信號(hào)控制MAX485的接收和發(fā)送即可,同時(shí)在A和B端之間加匹配電阻,一般可選100歐姆的電阻。
通信協(xié)議
保證PC與多個(gè)TMS320F2812的成功通信,通信雙方除了要規(guī)定字符格式和波特率外,還要有一系列的約定,即要定義好軟件通信協(xié)議。例如,作為發(fā)送方,必須知道什么時(shí)候發(fā)送信息,發(fā)什么,對(duì)方是否收到,收到的內(nèi)容有沒有錯(cuò),要不要重發(fā),怎樣通知對(duì)方結(jié)束等,作為接收方,必須知道對(duì)方是否發(fā)送了信息,發(fā)的是什么,收到的信息是否有錯(cuò),如果有錯(cuò)怎樣通知重發(fā),怎樣判斷結(jié)束等。
PC與TMS320F2812間的通信協(xié)議如下:
(1)通信雙方的串行波特率為9600bps;
(2)幀格式:8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn);
(3)傳送方式:PC采用查詢方式收發(fā)數(shù)據(jù),TMS320F2812采用中斷方式收發(fā)數(shù)據(jù)。
(4)握手方式:采用軟件握手。
集中供電系統(tǒng)通信軟件設(shè)計(jì)
TMS320F2812的較強(qiáng)的串行通信能力。本設(shè)計(jì)中,發(fā)送數(shù)據(jù)采用的是查詢方式,接收數(shù)據(jù)采用的是中斷方式。當(dāng)上轉(zhuǎn)數(shù)據(jù)時(shí),在中斷程序或其他的子程序中置發(fā)送標(biāo)志位,在主程序中查詢?cè)摌?biāo)志,如成立則發(fā)送數(shù)據(jù),否則跳過發(fā)送程序,執(zhí)行其他的程序,在中斷方式下,DSP啟動(dòng)串行口后就不再詢問它的狀態(tài)了,依然執(zhí)行自己的程序,實(shí)現(xiàn)DSP與串行口的并行工作。當(dāng)串行口產(chǎn)生中斷時(shí),先向DSP申請(qǐng)中斷,DSP響應(yīng)中斷后就暫時(shí)中斷自己的程序,執(zhí)行相應(yīng)的串口中斷服務(wù)程序,執(zhí)行完后又返回主程序,它能使信息得到及時(shí)處理。
軟件采用C語言編程
在程序的開始應(yīng)先對(duì)其中一些寄存器進(jìn)行初始化。相關(guān)的源程序不在此贅述了。
數(shù)據(jù)的接收和發(fā)送程序
在本系統(tǒng)中,從機(jī)的主要任務(wù)是對(duì)被檢測(cè)設(shè)備進(jìn)行故障檢測(cè)和故障定位,通信軟件的主要功能是接收主機(jī)的命令,并將檢測(cè)的結(jié)果回送主機(jī)。數(shù)據(jù)的接收和發(fā)送流程如圖2所示。
結(jié)語
本通信方案已應(yīng)用于某校的集中供電系統(tǒng),結(jié)果表明是可行的,能有效地實(shí)現(xiàn)PC和DSP在惡劣條件下基于RS-485的串行通信,實(shí)現(xiàn)了對(duì)用電管理的全程自動(dòng)控制。
評(píng)論