新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > 基于Motorola M12 GPS接收機實現繼電保護同步檢測(圖)

        基于Motorola M12 GPS接收機實現繼電保護同步檢測(圖)

        ——
        作者:趙曉宇 陳健 傅豐林 時間:2007-02-06 來源: 收藏
        引言
        美國東部時間2003年8月14日16時11分,其東北部和加拿大聯合電網發生大面積停電事故。負荷損失總計6180萬千瓦,停電范圍為9300多平方英里,受影響的居民約5000萬人。
        這次事件造成了巨大的經濟損失和社會影響,引起了世界各國的普遍關注。相關報告表明電網二次系統的配置及其協調存在明顯缺陷,功能不完善是這次事故爆發的主要原因之一。眾所周知,繼電保護裝置是電網二次系統重點建設的項目,為此開發了利用gps定時模塊來縮小繼電保護檢測裝置在異地雙端試驗和雙端故障定位等方面的時間誤差,取得了預期目標。

        硬件系統
        該系統分為上位機和下位機兩大部分,m12作為定時模塊接入,其基本的框圖如圖1所示。


        上位機是具有一定配置的pc機,at89c58作為下位機主控cpu與上位機相連接,完成控制數據與信號數據的交互。與at89c58相連的可以劃分為五個模塊,它們分別是:dds(直接頻率合成)模塊,采用ad9852來實現;電流電壓輸出模塊,采用tms320vc5402定點dsp來實現;同步定時模塊,采用m12 gps接收器來實現;開入動作變化量檢測模塊,采用at89c2051來實現;開出動作變化量計時模塊,采用8255定時器來實現。
        本文主要介紹作為同步定時模塊的m12是如何與主控設備完成軟硬件連接,并且協調工作的。此處硬件的連接是通過標準異步串口來完成的,需要指出的是,m12的標準異步串行接口采用的是3v邏輯電平,而主控設備輸出的邏輯電平卻是5v,因此采用maxim公司生產的max3370作為邏輯電平轉換模塊,起到銜接的作用;主控設備與m12之間采用模擬串行通信。硬件連接簡單,主要功能由軟件來實現。m12的初始化編程以及定時數據的采集、比較、反饋的詳細過程見軟件實現。

        模塊特點
        m12接入系統如圖2所示。

        該系統使用motorola 公司生產的m21 gps接收器作為定時源。m12接收器的并行通道已經擴展到12個,提供碼跟蹤和載波輔助跟蹤,可同時跟蹤12顆衛星,可串行輸出緯度、經度、高度、速度、航向和時間信息。m12接收器的核心硬件mrfic1504是基于mmc2003的32位risc控制器。m12接收器提供2.75~3.2v的電壓,支持逆向差分,可以通過設置差分基站的方法來改良定位效果。支持rtcm sc-104(美國海用無線電技術委員會)格式的差分功能,naea 0183(美國國家海洋電子學會)格式輸出,雙通信串口,用戶可控制的速度濾波器和一個天線檢測回路。用戶還可以選擇使用垂直于電路板或者是平行于電路板的數據/電源連接器。基本的控制流程如圖3所示。

        在主控設備與m12通信過程中,建議采用其特有的motorola二進制數據與指令格式,通信速率可以保證在9600bps(取決于m12),而采用nmea-0183格式時,通信速率只有4800bps,同時在初始化gps時還需要加入由motorola二進制轉化為nmea-0183的指令,相比之下較為繁瑣,而motorola二進制是默認通信模式。
        在此設計當中,關鍵的環節在于兩個方面,一是m12的初始化,二是主控設備與m12之間采用的模擬串口通信是否可靠。對于m12初始化而言,重點在于理解motorola二進制數據格式的結構,其次是設置初始化時間。實時時鐘是m12的特征之一,它用于縮小ttff(捕獲時間),在主電源被切斷而后備電源工作時,數據和時間信息將被存儲在rtc寄存器中。因此存在初始化在gps鎖定第一顆衛星之前,或是讓讓衛星自動搜索兩種初始化時間信息的方式。實踐證明,第一種方案得到的ttff較小,所以建議采用。gps默認提供的是gmt(格林威治時間),因此用戶需要根據當地的情況設置時區的偏移量(中國為東8區,+8)。具備以上知識后,就可以從數據包中提取時間信息。此處選用短位置消息。

        @@hbmdyyhmsffffaaaaoooohhhhmmmm vvvvhhddntssrrvvvvvvc
        下面僅僅分析它有關定時信息的部分。
        實例如下。
        @@hb021c07d4092d280001121a000000000000 00000000000000000000000000000000000000016088 0000503035463039
        轉化成16進制的數是021c07d4092d280001,對應的時間是2.28.2004.9:45:40:0001。
        對于模擬串口而言,首先應當明確采用哪一種執行方式。其次,就是選定通信波特率。最后就是確定具體的硬件結構。這里采用起始位為1bit,終止位為1bit,無奇偶校驗位,波特率為9600,晶振頻率為11.0592mhz。處理流程如圖4所示。
        mrxd代表一個1比特的位地址,它用于檢測串口通信起始位,終止位的有效性;mtxd代表一個1比特的位地址,它用于發送串口通信所需的起始位,終止位;cont代表一個計數器,用于控制所發比特的個數。
        源代碼。
        pcon equ 87h
        head equ 20h
        int_ok bit 08h
        org 0000h
        ljmp start
        org 0023h
        ljmp recieve
        org 0100h
        start: mov psw,#00h
        mov sp,#70h
        mov tmod,#20h
        mov th1,#0fah
        mov tl1,#0fah
        mov pcon.#80h
        setb ea
        setb tr1
        setb es
        setb p1.0
        clr int_ok
        mov scon,#70h
        mov dptr,#tab1
        mov r7,#11h
        send1: clr a
        movc a,@a+dptr
        mov sbuf,a
        swait1: ;發送@@gb數據幀,初始化時間偏移
        jnb ti,swait1
        clr ti
        inc dptr
        djnz r7,send1
        mov dptr,#tab2
        mov r7,#08h
        send2: clr a
        movc a ,@a+dptr
        mov sbuf,a
        swait2: ;發送@@hb數據幀,啟動gps
        jnb ti,swait2
        clr ti
        inc dptr
        djnz r7,send2
        mov r5,#00h
        stop_here: ;檢測接收到的數據幀是否有效
        jnb int_ok,stop_here
        mov dptr,#tab3
        mov ro,#65h
        mov r7,#03h
        time_1: ;與規定的時間相比較,相等時置中斷標志位
        clr a ;不相等時重新接收
        movc a ,@a+dptr
        mov @ro,a
        inc ro
        inc dptr
        djnz r7,time_1
        mov ro,#36h
        mov r1,#65h
        mov r7,#03h
        acall cmp
        cjne a ,#00h,wait
        cpl p1.0
        wait: clr int_ok
        ajmp stop_here
        recieve: ;接收程序,完成接收,校驗,置中斷標志位的功能
        push psw
        push acc
        clr es
        clr ri
        mov psw,#08h
        mov a,sbuf
        cjne a ,#40h,stop
        rr1: jnb ri,rr1
        clr ri
        mov a ,sbuf
        cjne a ,#40h,stop;前兩個字節若為@@繼續,
        否則,跳出
        mov ro,#30h
        mov r7,#34h
        rr2: jnb ri,rr2
        clr ri
        mov a ,sbuf
        mov @ro,a
        inc ro
        djnz r7,rr2
        mov ro,#30h
        mov r7,#30h
        acall test
        mov a,@ro
        cjne a ,20h,stop
        setb int_ok;置中斷標志位
        stop: pop acc
        pop psw
        setb es
        reti
        test: mov a,@ro
        mov 20h,a
        inc ro
        tt1: mov a,@ro
        xrl 20h,a
        inc ro
        djnz r7,tt1
        ret
        cmp: mov a ,@ro
        mov b,a
        mov a,@r1
        cjne a ,b,cmp1
        inc r0
        inc r1
        djnz r7,cmp
        mov a,#00h
        ljmp cmp3
        cmp1: jc cmp2
        mov a,#offh
        ljmp cmp3
        cmp2: mov a,#01h
        cmp3: ret
        tab1: db
        40h,40h,47h,62h,01h,01h,07h,0d4h,0ch,00h,00h,00h,08h, 00h,0d9h,0dh.0ah
        tab2: db 40h,40h,48h,62h,01h,2bh.0dh,0ah
        tab3: db 0bh,10h,01h
        end

        總結
        本文主要介紹了如何使用motorola公司生產的m12 gps接收器來完成繼電保護檢測裝置的異地雙端同步試驗,該模塊大大提高了繼電保護測試水平和工作效率,并且有效減少了人為誤差,防止了繼電保護及其安全自動裝置的不正確動作。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 丽江市| 揭西县| 建宁县| 信丰县| 安康市| 侯马市| 济南市| 秦皇岛市| 满洲里市| 大同市| 工布江达县| 南木林县| 云梦县| 锦州市| 汉中市| 弋阳县| 晋州市| 保康县| 佛学| 诸暨市| 日喀则市| 宣城市| 洛宁县| 和林格尔县| 南江县| 三都| 永吉县| 鹤壁市| 广州市| 聂荣县| 牟定县| 元谋县| 武鸣县| 田阳县| 韶山市| 新建县| 东乌珠穆沁旗| 莲花县| 阳原县| 海兴县| 渝中区|