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