《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Linux多任務操作系統掃頻儀的研究
基于Linux多任務操作系統掃頻儀的研究
摘要: 嵌入式Linux可以很好地解決上述問題。Linux不僅源代碼免費開放和擁有世界范圍內廣泛的技術支持,而且具備多硬件平臺支持;核心代碼效率高、代碼量小;系統穩定性和可靠性高;系統可根據特定需求進行定制與組態,且易于升級等特點,是真正的多用戶、多任務操作系統。
Abstract:
Key words :

  1 引言

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

  (1)除中斷服務程序以外,各程序模塊沒有優先級的區別,被主循環簡單地輪轉調用,實時性差,響應時間無法預料;

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

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

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

  (5)分布式多任務處理能力差,網絡化、智能化支持難以適應長遠發展需要。

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

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

  2 系統硬件組成

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

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

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

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

  3 系統軟件設計

  Linux具有內核小、效率高、源代碼開放、內核直接提供網絡支持等優點。但嵌入式系統的硬件資源畢竟有限,因此不能直接把Linux作為操作系統,需要針對具體的應用通過配置內核和嵌入式C庫對系統進行定制,使整個系統能夠存放在容量較小的FLASH中。Linux的動態模塊加載,使Linux的裁減極為方便,高度模塊化的部件使得添加和刪除變得非常容易。基于Linux的上述優點,本文實現平臺使用的操作系統是對Linux進行定制的arm-linux。

  3.1 軟件總體設計

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

  3.2 系統多任務設計

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

  系統監測與保護任務保證系統安全可靠,出現故障可以被自檢出來,同時能診斷出掃頻儀發生故障的部位。

  數據采集任務 由于掃頻儀需要不斷從A/D芯片讀取采集到的幅度和相位信號數據,否則會被后來的數據覆蓋,從而造成掉點,因此開辟一個數據采集進程專門處理讀取數據。數據采集進程利用互斥鎖保護輸入緩沖區,避免競爭;利用消息驅動數據處理模塊和顯示模塊進行相應操作。

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

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

  USB通訊任務 對被測物體測試完成后,進行測試數據的拷貝或打印。

  3.3 多任務通信

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

  中斷服務程序則是通過發送信號給進程調度模塊,說明已經發生中斷。例如按下掃頻功能鍵,中斷處理程序產生一個信號就退出中斷,而調度模塊則依據接收的信號,激活數設置模塊工作。

  4 結 語

  應用基于Linux嵌入式多任務操作系統的掃頻儀,結合S3C2410X的32位微處理器,不僅簡化軟硬件設計,能夠方便地測量被測網絡的幅頻曲線和相頻曲線,更重要的是減少掃頻響應時間,增加數據打印和分析處理功能。利用MiniGUI開發的圖形界面友好,人機交互性強。基于Linux多任務操作系統進行程序編寫,能減少程序設計的工作量和復雜程度,大大縮短開發周期。

作者:胡鴻豪,吳勇翀,文琳莉,寧小平

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 黄色毛片在线看 | 2022日韩理论片在线观看 | 欧美精品xxx | 久久xxxx | 久久91精品久久久久久水蜜桃 | 99色吧| 欧美一区二区视频高清转区 | 最近的免费中文字幕视频 | 国产啪视频免费视频观看视频 | 欧美爽爽爽爽爽爽视频 | 天堂va亚洲va欧美va国产 | 欧美精品在线免费 | 成年黄页网站大全免费动漫 | 国产成人午夜精品5599 | 一区二区在线视频 | 亚洲日产综合欧美一区二区 | 一级毛片牲交大片 | 久久久久久久久综合影视网 | 久久精品2019www中文 | 午夜伦理在线播放 | 99ri在线精品视频在线播放 | 中国特级黄一级真人毛片 | 国产成人精品亚洲77美色 | 久草手机视频在线观看 | 黄色片日韩 | 久久精品视频一区 | 亚洲日本中文字幕 | 日韩色网| 一级特级aaaa毛片免费观看 | 成人抖音短视频 | 国产精品麻豆久久久 | 国内精品视频在线播放一区 | 2021精品国夜夜天天拍拍 | 国产黄在线观看免费观看软件视频 | 亚洲欧美日韩高清专区一区 | 欧美1页 | 激情在线观看视频免费的 | 中国国产一级毛片视频 | 日韩精品网站 | 国产欧美日韩不卡一区二区三区 | 99精品视频观看 |