蔡振興 潘紅娜
【摘要】 本文根據微機保護通信系統的要求,設計了由以太網與串行通信相結合的通信系統,闡述了通信系統的硬件構成,完成了相關驅動程序與通信功能軟件的編寫。
【關鍵詞】 微機保護 通信系統 串行通信 以太網
本文介紹了微機保護的一種通信系統,該通信系統采用以太網通信與串行通信相結合的方式構成。
一、硬件構成
1.1 串行通信接口
裝置中,考慮到需要處理的數據較多,數字算法的計算量大,因此在保護CPU的選擇上采用的是TI公司的新一代高性能32位浮點DSP芯片TMS320VC33。在裝置中設置了兩個串行通信口,其中串口1固定為RS-232,在實際應用中用來實現串口打印實時數據和各種參數,串口2可以通過跳線選擇為RS-232或RS-485模式,用來組網通信。
1.2 以太網接口
基于DSP與RTL8019AS組成的以太網,DSP主處理器與網卡之間的接口主要實現的功能有:(1)主處理器通過接口電路對網卡芯片進行控制,包括對網卡的邏輯控制、讀寫控制、復位等;(2)主處理器與網卡之間的數據交換,DSP通過接口電路對網卡接收數據進行讀取,將需要發送的數據寫入網卡緩存。
二、通信功能的軟件實現
2.1 串行通信的軟件設計
2.1.1 UART的驅動程序設計
下面就簡要介紹一下相關的寄存器的情況與設置。(1)線路控制寄存器(LCR)。線路控制寄存器(LCR)存放串口傳送的二進制位串數據格式,LCR 是一個8位的寄存器,各位的定義如下:d0d1是字長選擇位,若d0d1=00,傳送的字長為5 位; d0d1=1 時字長為6;d0d1=0時字長為7;d0d1=11 時字長為8。d2位是停止位選擇,d2=0 時停止位為1位;d2=1時停止位為1.5位。d3=0 時校驗有效;d3=1 時檢驗無效。d4是校驗類型位, d4=0 時進行奇校驗;d4=1 時進行偶校驗。d7位(DLAB) 是鎖定波特率發生器位, d7=1 時訪問波特率因子寄存器; d7=0 時訪問其他寄存器。在本系統中,使d0d1=11,選擇的8位字長;d2=0,選擇1位停止位;d3=0,校驗有效;d4=1,選擇進行偶校驗。(2)波特率因子寄存器(DLL&DLH)。兩個8位的波特率因子寄存器構成一個16位的波特率因子寄存器。在TL16C752的內部具有波特率發生器,產生發送數據的時鐘信號。波特率因子可以通過下列算式求出:波特率因子=基準時鐘頻率/ (16×波特率)。(3) FIFO控制寄存器(FCR)。這個寄存器用來設置FIFO的允許/禁止、清除FIFO、設置接收FIFO的觸發級別和選擇DMA模式。
2.1.2 通信的軟件設計
在約定的監控系統與保護系統之間采用主從方式進行通訊,因而保護系統總是被動接收指令,即始終為從動站。保護系統的通訊模塊在完成初始化工作后隨即進入接收狀態。當通訊接口收到完整的鏈路規約數據單元(LPDU)時將對其進行校錯,出錯丟棄這個數據單元。保護系統收到的LPDU有3種類型:第一種是2級數據請求幀,保護系統將以測量值LPDU作為回答;第二種是1級數據請求幀,此時先判斷FCB是否變化,有變化則以新的ASDU形成LPDU并填充發送緩沖區,否則重發上一個LPDU;第三種是命令幀或下傳數據幀。在這里我們將2級數據與1級數據同時召喚,使用戶進程得以簡化。
2.2 以太網通信的軟件設計
網絡接口通過2個DMA操作來完成數據的接收和發送。本地DMA完成RTL8019A S與其內部FIFO隊列之間的數據傳送,遠程DMA 完成RTL8019AS與CPU之間的數據傳送。
2.2.1 RTL8019AS的初始化
為了使RTL8019AS啟動并處于準備接收或準備發送數據的狀態,必須對相關的寄存器進行初始化。
2.2.2 數據的收發
通過對地址及數據口的讀寫來完成以太網幀的接收與發送。本地DMA完成RTL8019A S與其內部FIFO隊列之間的數據傳送,遠程DMA 完成RTL8019AS與CPU之間的數據傳送。
三、結束語
文章設計了通信系統的硬件結構、編寫了驅動程序與功能軟件。設計的通信系統不僅可以滿足以太網組網的要求,也可以兼容傳統的串行通信要求,將大大地促進電廠和變電站綜合自動化的進程。
參 考 文 獻
[1] 吳在軍,胡敏強,杜炎森. 嵌入式以太網在變電站通信系統中的應用[J]. 電網技術,2003,27(1):71-75.
[2] 邢萱,江健,王曉平. DSP在互聯網控制器上的應用[J]. 微處理機,2002(3):56-57.