機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
一種基于ARM及FPGA的新型智能化航跡儀的設計
一種基于ARM及FPGA的新型智能化航跡儀的設計
 更新時間:2008-8-3 15:42:47  點擊數(shù):8
【字體: 字體顏色


3 航跡儀系統(tǒng)的軟件設計
3.1 S3C44B0X主板部分的軟件設計

    操作系統(tǒng)是控制和管理計算機軟硬件資源、合理組織計算機工作流程、方便用戶的程序集合。航跡儀功能的完成,很大程度上取決于操作系統(tǒng)軟件平臺的選擇和應用程序的編制。在航跡儀的設計中,軟件平臺選用基于Tonardo集成開發(fā)環(huán)境的實時操作系統(tǒng)VxWorks,應用程序則采用VxWorks支持的標準C語言編制。
    主板軟件系統(tǒng)主要由主程序、命令解釋部分、底層部分組成。其中,主程序到命令解釋部分的調(diào)用通過函數(shù)shibie( )進行;命令解釋部分到底層部分的調(diào)用通過函數(shù)zxcb( )進行。
3.1.1 主程序
    主程序主要對綜導臺命令和觸摸屏命令進行管理、調(diào)度。程序執(zhí)行過程中查詢隨機命令數(shù)和推位命令數(shù)這兩個變量。變量小于等于零時,沒有綜導臺命令,程序查詢觸摸屏有無按下及鍵值,執(zhí)行響應操作。當兩個變量大于零,說明有了綜導臺命令,就會自動進入跟蹤狀態(tài)。在跟蹤狀態(tài),不響應觸摸屏命令,控制程序只查詢有無隨機命令及推位命令,轉(zhuǎn)入響應的命令解釋程序。
3.1.2 命令解釋部分
    命令解釋部分主要功能:通過函數(shù)shibie( )對每一條命令進行識別及格式檢查。對于隨機命令和推位命令,每從CAN總線上接收一條命令,相應的命令條數(shù)加1。每執(zhí)行完一條,相應的命令條數(shù)減1,同時指向下一條。只要這兩個變量不為零,就說明有綜導臺命令未處理。通過檢查隨機命令數(shù)和推位命令數(shù),即可按先后次序順次執(zhí)行所有命令。
    本部分中還包括海圖坐標轉(zhuǎn)換程序,其主要功能:主板接收裝海圖命令的同時,會讀取CAN總線上由綜導臺發(fā)送的海圖信息,包括海圖類型(墨卡托或高斯海圖)、大小、比例等。程序根據(jù)這些信息,將海圖上的經(jīng)緯度值折算成XY軸坐標,以便于底層的直線差補程序?qū)Y坐標量轉(zhuǎn)換成步進電機的走步脈沖數(shù)。
3.1.3 底層部分
    底層包括所有的畫線、寫標記符等繪筆執(zhí)行動作的程序,及與硬件有關(guān)的I/O操作子程序、中斷服務程序。下面介紹幾個主要的程序。
   (1)直線差補程序
   線段是航跡儀繪制的基本圖形,其他各種曲線都是以線段逼近的。設線段終點到起點坐標長度分量分別為Δx、Δy。令X、Y向步進電動機同時起動,同時停止,分別以均勻速度Vx、Vy運動。這樣,即。其中T代表電機運行時間,Vx、Vy分別為X、Y向電機速度,fx、fy分別為運轉(zhuǎn)頻率,k為步進電機脈沖當量。
 程序設計中,已知X、Y向的增量?駐x、?駐y,選增量大的方向的走步頻率為最大走步頻率f1=fM,另一方向頻率即為f2=fM×Δy/Δx。已知兩個方向的走步頻率,由接口板計數(shù)器的初始頻率12MHz可計算出X、Y向的分頻值;已知的脈沖當量可求出X、Y向各自需要的走步脈沖數(shù)。將分頻值、脈沖數(shù)及開始/停止等控制信息傳送給接口板,使其產(chǎn)生相應頻率的脈沖信號,以控制步進電機,即可實現(xiàn)航跡儀的直線差補功能。
    (2)CAN總線通訊任務模塊
    設計中采用PHILIPS公司的CAN總線控制器SJA1000,CAN總線驅(qū)動器選用82C250。
    綜導臺將導航數(shù)據(jù)通過CAN總線發(fā)送給航跡儀。通訊模塊主要實現(xiàn)對航跡儀數(shù)據(jù)報文接收、解析等。當有CAN報文到達,SJA1000產(chǎn)生中斷釋放信號量。設備工作任務中輪詢等待信號量接收CAN報文。對接收的CAN報文,首先存入CAN接收數(shù)據(jù)結(jié)構(gòu),解析后讀入航跡儀數(shù)據(jù)結(jié)構(gòu)。CAN接收數(shù)據(jù)結(jié)構(gòu)在接收CAN報文時臨時分配。在報文解析過程中,接收的報文通常為BCD碼,因此要將其還原為ASCII碼。解析過程中,若出現(xiàn)格式錯誤,則置錯誤狀態(tài)標志。
    (3)LCD屏顯示及觸摸程序
    本設計采用SHARP公司的144.78mm、LM057QC1T01型STN彩色液晶顯示器,其顯示格式為320像素(×3)×240行,即顯示屏每行有320個像素點,共240行,每個像素點由RGB(紅、綠、籃)三種顏色組成。
    LCD觸摸屏程序主要分為顯示任務FsceShow,觸摸屏查詢?nèi)蝿誘ouchCheck,觸摸屏狀態(tài)查詢?nèi)蝿誘ouchStateCheck。TouchCheck入口函數(shù)Touch_check( )查詢觸摸屏中斷,TouchStateCheckt( )查詢觸摸屏狀態(tài)改變,F(xiàn)aceShow執(zhí)行響應,顯示圖形。程序框圖如圖4所示。

                                 


    (4)位置補償模塊
    如前文所述,在步進電機運行完一次由運行到靜止的過程后,把目標位置與從數(shù)字化板發(fā)送的實際位置做差比較得到的位置差量Δd作為一次操作補償。其特點是在一次繪圖過程中有兩次電機的開始和停止,補償速度慢,但所繪的是近似真實的圖形。程序框圖如圖5所示。

                                            
3.2 XC2S50接口板部分的軟件設計
    XC2S50接口板軟件部分采用VHDL語言編寫。編譯后通過JTAG口燒寫入配置芯片18V01中。軟件部分主要包括頂層模塊jkb_top、接口模塊jiekou、脈沖發(fā)生模塊pulse_generate、速度控制模塊speed_ctr、脈沖計數(shù)模塊counter、方波發(fā)生器counter32等。其結(jié)構(gòu)框圖如圖6所示。

 

                 

                                                  

 

    在脈沖發(fā)生模塊pulse_generate中,速度控制模塊speed_ctr的主要功能是:通過查詢發(fā)送、剩余脈沖數(shù),計算出響應的速度控制級別(可分為4種模式),將速度控制信息傳送給脈沖計數(shù)模塊counter。兩個脈沖計數(shù)模塊counter分別控制X、Y兩個步進電機的走步步數(shù)。它們分別以X、Y向驅(qū)動脈沖作為輸入時鐘信號,紀錄兩向脈沖數(shù),發(fā)出使能信號以控制counter32,其原理如圖7所示。兩個方波發(fā)生模塊counter32分別對X向、Y向步進電機驅(qū)動器輸出方波,其輸出波形的頻率即為步進電機的走步頻率,如圖8所示。接口模塊jiekou接收來自主板發(fā)送的X、Y向分頻值、脈沖數(shù)數(shù)據(jù)信息,以及運行方向、開始終止、抬落筆、報警等控制信息,并將數(shù)據(jù)信息發(fā)送給pulse_generate模塊,將控制信息發(fā)送給驅(qū)動板。所有的軟件模塊封裝在頂層模塊jkb_top中。

                                       

 

                                       


    新型智能化航跡儀設計,針對傳統(tǒng)航跡儀系統(tǒng)的諸多問題,給出了有效的改造方案。改造方案降低了成本,增強了功能的針對性,節(jié)省了系統(tǒng)資源。數(shù)字化板的使用,為原開環(huán)系統(tǒng)增加了閉環(huán)反饋,提高了標繪精度。使用FPGA器件代替原CDT800接口板,保證系統(tǒng)的時事性與穩(wěn)定性,提高了集成度。CAN總線通訊的采用,增大了信息的承載量,提高了實時性。LCD觸摸顯示屏的使用,增強了人機交互性。使用帶有細分功能的電機驅(qū)動器,及對傳統(tǒng)航跡儀步進電機部分的優(yōu)化改造,降低了工作的振動與噪音,提高了工作穩(wěn)定性。




  • 上一篇: 基于FPGA的ARINC429總線接口卡設計
  • 下一篇: 基于Atmega128單片機的自動準同期裝置的研究
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1