<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 基于Linux多任務(wù)操作系統掃頻儀的研究

基于Linux多任務(wù)操作系統掃頻儀的研究

作者:胡鴻豪,吳勇翀,文琳莉,寧小平 時(shí)間:2008-12-16 來(lái)源:現代電子技術(shù) 收藏

1 引言

本文引用地址:http://dyxdggzs.com/article/90253.htm

  是適用于測量系統頻率響應的儀器。系統的頻率響應包含幅頻響應和相頻響應2個(gè)方面。目前,在的實(shí)現中,硬件平臺一般基于8位或16位單片機,軟件實(shí)現大多采用單流程循環(huán)控制方式,這種方法存在以下缺點(diǎn):

  (1)除中斷服務(wù)程序以外,各程序模塊沒(méi)有優(yōu)先級的區別,被主循環(huán)簡(jiǎn)單地輪轉調用,實(shí)時(shí)性差,響應時(shí)間無(wú)法預料;

  (2)運算能力較差,難以完成較復雜的控制算法;

  (3)硬件平臺依賴(lài)性強,不利于應用軟件的開(kāi)發(fā)、升級與移植;

  (4)針對較復雜的控制系統,在缺乏有力的多任務(wù)調度機制的情況下,應用軟件不僅實(shí)現難度大,且可靠性難以保證;

  (5)分布式多任務(wù)處理能力差,網(wǎng)絡(luò )化、智能化支持難以適應長(cháng)遠發(fā)展需要。

  嵌入式Linux可以很好地解決上述問(wèn)題。Linux不僅源代碼免費開(kāi)放和擁有世界范圍內廣泛的技術(shù)支持,而且具備多硬件平臺支持;核心代碼效率高、代碼量??;系統穩定性和可靠性高;系統可根據特定需求進(jìn)行定制與組態(tài),且易于升級等特點(diǎn),是真正的多用戶(hù)、多任務(wù)操作系統。

  本文在系統分析硬件結構基礎上,根據Linux的多任務(wù)并行處理的特點(diǎn),進(jìn)行掃頻儀的軟件設計。

2 系統硬件組成

  系統的硬件設計方案,如圖1所示。

 

  (1)DDS信號源以高集成度頻率合成器AD9854為核心,S3C2410X通過(guò)向AD9854發(fā)送頻率控制字使其產(chǎn)生多種正弦波,然后經(jīng)過(guò)7階低通濾波、信號放大、幅度控制、輸出低雜散高穩定度的正弦波。

  (2)由于掃頻儀按鍵較多,不能按照傳統的設計方式設計鍵盤(pán)電路,本文以ZLG7290芯片為基礎,鍵盤(pán)通過(guò)I2C總線(xiàn)連接CPU,這樣節省CPU的接口資源。

  (3)信號檢測調理電路主要用來(lái)對參考信號和被測信號進(jìn)行放大和幅度相位檢測,然后通過(guò)低通濾波送A/D轉換。

3 系統軟件設計

  Linux具有內核小、效率高、源代碼開(kāi)放、內核直接提供網(wǎng)絡(luò )支持等優(yōu)點(diǎn)。但嵌入式系統的硬件資源畢竟有限,因此不能直接把Linux作為操作系統,需要針對具體的應用通過(guò)配置內核和嵌入式C庫對系統進(jìn)行定制,使整個(gè)系統能夠存放在容量較小的FLASH中。Linux的動(dòng)態(tài)模塊加載,使Linux的裁減極為方便,高度模塊化的部件使得添加和刪除變得非常容易?;贚inux的上述優(yōu)點(diǎn),本文實(shí)現平臺使用的操作系統是對Linux進(jìn)行定制的arm-linux。

3.1 軟件總體設計

  掃頻儀的軟件設計主要分為2部分:硬件驅動(dòng)程序;多任務(wù)應用程序。掃頻儀系統軟件結構圖如圖2所示,其中最內層為操作系統層,中間層為應用層,最外層為硬件驅動(dòng)層。當操作系統啟動(dòng)后,首先加載硬件驅動(dòng)層接口程序,然后系統內核按照應用層的各個(gè)任務(wù)優(yōu)先級及其就緒狀態(tài)在任務(wù)間切換運行。

 

3.2 系統多任務(wù)設計

  在將一個(gè)軟件系統劃分為并行任務(wù)時(shí),首先要分析數據流圖中數據的變換,確定哪些變化可以并行,哪些變換本質(zhì)上必須順序執行。一個(gè)變換可以成為一個(gè)任務(wù),或者幾個(gè)變換組成一個(gè)任務(wù)。決定系統中任務(wù)劃分的最主要因素是系統中所實(shí)現功能間的異步關(guān)系,即任務(wù)與任務(wù)間是如何相互觸發(fā)和協(xié)調的,這可以通過(guò)任務(wù)間的通信來(lái)解決。按照并發(fā)性以及任務(wù)之間同步等特點(diǎn)和要求,對掃頻儀系統進(jìn)行任務(wù)劃分,如圖3所示。

 

  系統監測與保護任務(wù)保證系統安全可靠,出現故障可以被自檢出來(lái),同時(shí)能診斷出掃頻儀發(fā)生故障的部位。

  數據采集任務(wù) 由于掃頻儀需要不斷從A/D芯片讀取采集到的幅度和相位信號數據,否則會(huì )被后來(lái)的數據覆蓋,從而造成掉點(diǎn),因此開(kāi)辟一個(gè)數據采集進(jìn)程專(zhuān)門(mén)處理讀取數據。數據采集進(jìn)程利用互斥鎖保護輸入緩沖區,避免競爭;利用消息驅動(dòng)數據處理模塊和顯示模塊進(jìn)行相應操作。

  數據處理任務(wù)首先通過(guò)數字濾波技術(shù),濾出干擾源;然后進(jìn)行計算處理,判斷掃描頻率點(diǎn)數是否到達要求,決定掃頻是否結束,將數據轉換成圖形顯示格式;最后送顯示模塊顯示。由于數據處理模塊計算量較大,因此也為其開(kāi)辟一個(gè)單獨的進(jìn)程來(lái)計算,避免影響其他模塊工作。

  顯示任務(wù) 圖形界面開(kāi)發(fā)采用的開(kāi)發(fā)工具為MiniGUI,使用MiniGUI的圖形控件資源,軟件的界面開(kāi)發(fā)非常方便。顯示模塊主要負責將相位和幅度信號以圖形的方式顯示出來(lái)。由于繪圖是一件相當耗費資源的工作,故用一單獨的進(jìn)程實(shí)現。

  USB通訊任務(wù) 對被測物體測試完成后,進(jìn)行測試數據的拷貝或打印。

3.3 多任務(wù)通信

  在掃頻儀程序中引入消息概念,將進(jìn)程的執行條件轉換為消息,由消息對相應的進(jìn)程進(jìn)行激活,并由進(jìn)程調度模塊實(shí)現調度。消息定義為:當某進(jìn)程完成時(shí),進(jìn)程設置相應標志,不同的標志代表不同的消息。消息在多進(jìn)程中的作用相當于橋梁,使進(jìn)程間既相互獨立又有機關(guān)聯(lián),進(jìn)程之間不能直接調用,需借助消息,由進(jìn)程調度模塊實(shí)施。例如:數據顯示模塊中有一部分內容是將分析計算的結果打印到屏幕上,為了節省資源開(kāi)銷(xiāo),將其放在主進(jìn)程里,通過(guò)消息機制處理。

  中斷服務(wù)程序則是通過(guò)發(fā)送信號給進(jìn)程調度模塊,說(shuō)明已經(jīng)發(fā)生中斷。例如按下掃頻功能鍵,中斷處理程序產(chǎn)生一個(gè)信號就退出中斷,而調度模塊則依據接收的信號,激活數設置模塊工作。

4 結 語(yǔ)

  應用基于Linux嵌入式多任務(wù)操作系統的掃頻儀,結合S3C2410X的32位微處理器,不僅簡(jiǎn)化軟硬件設計,能夠方便地測量被測網(wǎng)絡(luò )的幅頻曲線(xiàn)和相頻曲線(xiàn),更重要的是減少掃頻響應時(shí)間,增加數據打印和分析處理功能。利用MiniGUI開(kāi)發(fā)的圖形界面友好,人機交互性強?;贚inux多任務(wù)操作系統進(jìn)行程序編寫(xiě),能減少程序設計的工作量和復雜程度,大大縮短開(kāi)發(fā)周期。



關(guān)鍵詞: 掃頻儀

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>