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