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