當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Linux多任務(wù)操作系統(tǒng)掃頻儀的研究

1 引言

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

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

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

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

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

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

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

本文在系統(tǒng)分析掃頻儀硬件結(jié)構(gòu)基礎(chǔ)上,根據(jù)Linux的多任務(wù)并行處理的特點(diǎn),進(jìn)行掃頻儀的軟件設(shè)計(jì)。

2 系統(tǒng)硬件組成

系統(tǒng)的硬件設(shè)計(jì)方案,如圖1所示。

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

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

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

3 系統(tǒng)軟件設(shè)計(jì)

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

3.1 軟件總體設(shè)計(jì)

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

3.2 系統(tǒng)多任務(wù)設(shè)計(jì)

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

系統(tǒng)監(jiān)測與保護(hù)任務(wù)保證系統(tǒng)安全可靠,出現(xiàn)故障可以被自檢出來,同時能診斷出掃頻儀發(fā)生故障的部位。

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

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

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

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

3.3 多任務(wù)通信

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

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

4 結(jié) 語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉