羅 野,李智超
(常熟理工學院 電氣與自動化工程學院,江蘇 常熟 215500)
集散控制系統(Distributed Control System,簡稱DCS)的特點是集中管理、集中操作,分散控制,特別適合大規模生產設備的管理、控制和操作,這種系統使得企業自動化水平大大提高。傳統的DCS有上位機和下位機兩個層面,分為有線和無線兩大類。有線傳輸需敷設專用通信線路,增加項目成本;無線傳輸存在信號盲區,且無線頻率資源受管制,使用不方便。在供電網絡覆蓋的區域內,利用供電線路,采用電力線載波通信可以克服以上兩種方式的缺點,形成供電與通訊一體化的DCS系統。
DCS接口單元具有低壓電力線載波通信功能及RS485總線通信功能,它的一端是RS485標準接口,另一端是電力線通信接口。總體結構如圖1所示。DCS接口單元之間利用PL2102實現低壓電力線載波通信,上位機及下位機則采用RS485總線分別與DCS接口單元進行數據通信。

DCS通信接口的硬件電路如圖2所示,其中PL2102芯片是專為電力線通訊網絡設計的半雙工異步調制解調器。電力線載波通信所需要的直接序列擴頻調制電路已在PL2102芯片內集成,外圍的配置電路主要包括功率放大電路、濾波整形電路、諧振電路及二次濾波電路,PL2102芯片通過外圍配置電路與電力線耦合。

(1)電力線載波芯片與單片機接口電路設計。選用AT89C2051單片機,通過P1.3、P1.4引腳模擬I2C時序來訪問PL2102的內部寄存器。因為I2C器件連接到總線的輸出端是開漏輸出或集電極開路輸出的結構,所以SDA和SCL必須用上拉電阻接到電源正極,PL2102的半雙工收發控制端接單片機的P1.5口,單片機通過P1.6口與PL2102接收、發送數據,數據同步端SYNC接單片機的外部中斷INT0。
(2)RS485與單片機接口電路設計。RS485接口電路采用MAX485實現TTL與RS485之間的電平轉換,由于MAX485為半雙工狀態,所以只采用一對差分信號線。A、B分別為差分信號的正、負端,當A引腳的電平高于B時發送的數據為1,當A引腳的電平低于B時發送的數據為0,在總線末端接一個匹配電阻,吸收總線上的發射信號,保證信號傳輸無毛刺。
MAX485芯片的發送和接收功能轉換是有芯片的RE、DE端控制的。當單片機P1.7為高電平時,經反相器,使得RE=0且DE=1,接收器R打開,驅動器D關閉,此時MAX485處于數據接收允許狀態,將A端和B端的差分信號轉化成TTL信號送RXD。當單片機P1.0為低電平時,經反相器,使得RE=1且DE=0,接收器R關閉,驅動器D打開,此時MAX485處于數據發送允許狀態,使TTL信號經驅動平衡后變成差分信號送A端和B端。
DCS通信接口單元的程序主要有三部分,即主程序、與RS485通信的串行中斷服務程序、電力線載波通信子程序。在主程序中利用RS485通信的串行中斷服務程序與上下位機溝通,然后通過判斷接收到的電力線載波信號中的地址信息是否與本機地址相符,確定有無請求信號,若有則調用電力線載波通信子程序,將采集到的信息通過電力線進行傳輸。
(1)單片機與PL2102的I2C通信。通過單片機的P1.3、P1.4模擬I2C時序來訪問PL2102的內部寄存器,在電力線載波通信子程序都會調用到載波發送子程序、載波接收子程序。
載波發送子程,用于載波通信的主叫方發出命令。置為載波發送態時,載波通信控制單元發送完1位的擴頻數據后,自動產生一次中斷,允許下一位數據發送。根據捕獲和同步過程需要,首先發送至少40位的全“1”;然后按位發送同步幀頭0x09、0xAF;之后根據用戶的有關通信協議按位發送通信地址、數據長度、數據體、校驗等字節。接收時,由于電力線的噪聲一直存在,所以有效數據前必須增加同步幀頭,依據相關性標準選擇為0x09、0xAF,后續為通信的有效數據體及校驗字節。接收時,首先采用16位接收窗口、1位滑動方式來接收通信的同步幀頭0x09、0xAF。幀頭接收成功后,后續數據按每8位一個字節的方式進行截取,得到傳送的有效數據。
(2)DCS接口單元與RS485的通信。上位機和下位機與DCS接口單元間的數據交換是利用RS485通信完成的,DCS通信接口單元的RS485通信子程序主要由兩部分組成:串行中斷服務程序和T0中斷服務程序。串行中斷服務程序用于接收或發送數據,TO中斷服務程序是用于當接收完一幀信息后進行解釋并啟動通信向上位機應答,另外也用于當上位機發送超時后的一些處理。當上位機有指令發送時,便進入串行中斷服務程序。首先判斷是接收中斷還是發送中斷,若是發送中斷,則清除TI,同時啟動字符間隔定時器T0,并置收發標志為發,將數據發送給上位機;若是接收中斷,則清除RI,也啟動字符間隔定時器T0,置收發標志為收,當接收完一幀信息后,字符間定時器會產生定時中斷,進入T0中斷服務程序。開始TO中斷服務程序后,首先清除T0中斷請求標志,停止T0定時器,接著判斷是接收完成還是發送超時,若是接收完成,再判斷校驗和是否正確,若正確,對接收的命令進行解釋,并給上位機一個回復信號;若不正確或者發送超時則等待上位機重新發送。
本設計基于低壓電力線載波通信的DCS數據交換平臺,實現了單片機之間通過電力線進行數據交換。這個研究為供電線路覆蓋的場合如樓宇、礦井和農田等,在無需建設任何其它通信網絡的情況下構建集散控制系統提供新手段。
[1]黃仁欣,馬彪.單片機原理及應用技術[M].北京:清華大學出版社,2005.
[2]封錦.電力線載波通信技術在井下電力監控系統中的應用[J].工礦自動化,2008(3).
[3]李雙田.基于RS485通信方式的多單片機控制系統[J].微計算機應用,2008.