www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]1. 引言 在工業(yè)過程或?qū)嶒炇依铮?jīng)常需要對多種信號進(jìn)行同時采集及監(jiān)測,以便實現(xiàn)性能分析、過程控制、系統(tǒng)恢復(fù)等目的。目前,常用的數(shù)據(jù)采集裝置,多采用單片機實現(xiàn),軟件

1. 引言
在工業(yè)過程或?qū)嶒炇依?,?jīng)常需要對多種信號進(jìn)行同時采集及監(jiān)測,以便實現(xiàn)性能分析、過程控制、系統(tǒng)恢復(fù)等目的。目前,常用的數(shù)據(jù)采集裝置,多采用單片機實現(xiàn),軟件多采用單任務(wù)順序機制,這使得系統(tǒng)不僅處理能力有限,而且存在穩(wěn)定性差的問題。以嵌入式計算機為核心的嵌入式系統(tǒng)由于具有體積小、性能好、功耗低、可靠性高以及面向行業(yè)應(yīng)用的突出特征,成為繼 I T網(wǎng)絡(luò)技術(shù)之后,又一個新的技術(shù)發(fā)展方向 [1]。
本文以嵌入式 S3C2410為核心芯片,設(shè)計和實現(xiàn)了一種高速、高精度且具有一定處理能力的數(shù)據(jù)采集處理系統(tǒng),并將其應(yīng)用于工業(yè)過程水位和溫度的實時監(jiān)測。
2. 系統(tǒng)總體設(shè)計
本設(shè)計采用以 ARM9為核心的 S3C2410作為數(shù)據(jù)采集與處理的核心,主要包括以下四個模塊:信號采集、數(shù)據(jù)存儲、數(shù)據(jù)顯示、數(shù)據(jù)傳輸。模擬信號通過放大電路再輸入到 S3C2410處理器片內(nèi) A/D轉(zhuǎn)換器,經(jīng)過處理結(jié)果以動態(tài)波形的形式顯示在 LCD上,并用觸摸屏控制顯示方式。同時通過串口發(fā)送給 PC,在 PC上用 VC++編寫的程序?qū)?shù)據(jù)進(jìn)行顯示、存儲等后續(xù)處理。系統(tǒng)結(jié)構(gòu)如圖 1所示。


3. 硬件電路設(shè)計
溫度和水位的測量用的是變送器。以溫度變送器為例,本系統(tǒng)選用的是北京賽億凌科技有限公司的 STY系列一體化溫度變送器,它的測量范圍是 0~150℃,它的輸出是一個與被測溫度成線性關(guān)系的 4~20mA的恒流信號。
為了滿足測量要求,在溫度變送器的兩個輸出端之間接一個電阻,使其輸出的電流信號轉(zhuǎn)換成電壓信號,考慮到 S3C2410內(nèi)部 A/D轉(zhuǎn)換器的輸入范圍是 0~3.3v,因此選用 165 Ω的電阻。電路連接圖如圖 2所示。


由圖 2可知,溫度變送器產(chǎn)生的 4~20mA電流信號,經(jīng)電路轉(zhuǎn)化變成了 0.66~3.3V的電壓信號,此電壓信號傳遞給 S3C2410內(nèi)部的 A/D轉(zhuǎn)換器。采樣溫度值可以這樣計算,設(shè)采樣得到的電壓值為UT,單位為 V,對應(yīng)溫度為 T,單位為℃,則 T的值可由式( 1)求得:


4. 系統(tǒng)軟件設(shè)計
軟件設(shè)計主要是 uC/OS-II移植和任務(wù)的編寫。uC/OS-II是一個免費的、可裁減、源碼開放、結(jié)構(gòu)小巧、搶占式的實時多任務(wù)嵌入式內(nèi)核,主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高、占用空間小、可移植性強、實時性能優(yōu)良和可擴展性強等特點[2]。
為了方便移植,絕大部分 uC/OS-II的代碼是用 ANSI C語言編寫的;但是仍需要用 C語言和匯編語言寫一些與處理器硬件相關(guān)的代碼,這是因為uC/OS-II在讀/寫處理器寄存器時,只能通過匯編語言來實現(xiàn)。與處理器相關(guān)的代碼包括 OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C三個文件,所以移植的主要任務(wù)就是修改這三個文件。
(1) 在修改 OS_CPU.H中與處理器和編譯器相關(guān)的代碼時要注意幾點 [3]:
(a)不同的處理器有不同的字長,uC/OS-II為了確保其可移植性,不使用 C的int,short,long等數(shù)據(jù)類型,因為這些數(shù)據(jù)類型是與編譯器相關(guān)的,是不可移植的。
(b)修改 OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()兩個宏。uC/OS-II需要先禁止中斷再訪問代碼的臨界區(qū),并且在訪問完畢后重新允許中斷。OS_ENTER_CRITICAL()的功能是關(guān)中斷,在 S3C2410上通過 OS_CPU_A.ASM中的 INTS_OFF()函數(shù)來實現(xiàn)。OS_EXIT_CRITICAL()用于開中斷,通過 OS_CPU_A.ASM中的INTS_ON()函數(shù)來實現(xiàn)。
(c)OS_STK_GROWTH用來定義堆棧生長方式, 置 0表示堆棧從下往上增長,置 1表示
堆棧從上向下增長。而在本設(shè)計中使用的是堆棧從上向下增長 S3C2410處理器,所以置1。(d)OS_TASK_SW()是一個任務(wù)切換宏,用于從低優(yōu)先級任務(wù)切換到高優(yōu)先級任務(wù)。它將任務(wù)切換函數(shù)OSCtxSw()封裝起來。
(2) 修改OS_CPU_C.C中與操作系統(tǒng)相關(guān)的OSTaskStkInit()函數(shù)
OSTaskStkInit()用于任務(wù)堆棧初始化,OSTaskCreate()和 OSTaskcreateExt()通過調(diào)用OSTaskStkInit()來初始化任務(wù)的堆棧結(jié)構(gòu)。圖 3顯示了OSTaskStkInit()在建立任務(wù)時,任務(wù)堆棧初始化的形式。


(3) 編寫OS_CPU_A.ASM中4個與處理器相關(guān)的函數(shù)
OSStartHighRdy( )在程序中被 OSStart( )函數(shù)調(diào)用,作用是使就緒任務(wù)中優(yōu)先級最高的任務(wù)開始運行。 OSCtxSw()是任務(wù)級的任務(wù)切換函數(shù),通過執(zhí)行軟中斷指令,或者依據(jù)處理器的不同,執(zhí)行TPAR(陷阱)指令來實現(xiàn)。OSIntCtxSw()是中斷級任務(wù)切換函數(shù),通過調(diào)用它,可以在 ISR中執(zhí)行任務(wù)切換功能。OSTickISR()為 uC/OS-II提供一個周期性的時鐘源,來實現(xiàn)時間的延遲和超時功能。
5. 應(yīng)用任務(wù)設(shè)計
系統(tǒng)流程圖如圖 4所示。


(1) 初始化uC/OS-II系統(tǒng)環(huán)境
圖 4的左半部分所完成的功能是啟動操作系統(tǒng),并創(chuàng)建 Main_Task和 tch_Task兩個任務(wù)。右半部分是 Main_Task()和 tch_Task()的主要內(nèi)容,這是本設(shè)計的重點部分。模擬信號的采集,顯示是在 Main_Task()中完成的,而對顯示方式的控制是由tch_Task()來完成的。
(2) 編程實現(xiàn) A/D轉(zhuǎn)換
模擬數(shù)據(jù)的采集是在 Main_Task( )中通過調(diào)用函數(shù) void init_ADdevice()和 intGetADresult(int channel)實現(xiàn)的。模擬信號經(jīng) A/D轉(zhuǎn)換后的一個 10位數(shù)字量,通過式(1)
(2)中將其轉(zhuǎn)換成實際的數(shù)據(jù)。式中的 3.3表示模擬量的上限值,1023是經(jīng)(2 10-1)計算得來的,經(jīng)計算后的數(shù)據(jù)就是實際的模擬量值。數(shù)據(jù)經(jīng)濾波后分別存放在兩個變量中,用于下面的繪圖部分程序。
(3) 觸摸屏控制程序
這一部分程序的思想是:若有觸摸動作,取觸點坐標(biāo)值,判斷其是否屬于 LCD上顯示的控制按鈕的坐標(biāo)范圍,若是則做出相應(yīng)的控制調(diào)整,若否則無動作。返回觸點坐標(biāo)的子函數(shù)為 TchScr_GetScrXY(int *x,int *y)。在本設(shè)計中,定義了 3個控制按鍵,它們用于傳遞控制信息。
(4) 繪圖的API函數(shù)
在uC/OS-II系統(tǒng)環(huán)境下,繪圖必須通過使用繪圖設(shè)備上下文(DC)來實現(xiàn)。繪圖設(shè)備上下文(DC)中包括與繪圖相關(guān)的信息,如:繪圖坐標(biāo)、畫筆顏色、畫筆寬度等等。在實際使用時,使用CreateDC()創(chuàng)建繪圖設(shè)備上下文,使用DestoryDC(pdc)刪除繪圖設(shè)備上下文,這兩條語句在程序中應(yīng)該成對出現(xiàn)。通過使用 LineTo( )、TextOut()、Circle( )、MoveTo( )等函數(shù),可以將采樣值實時的顯示到 LCD上。
在 LCD繪圖時以下兩點值得注意:
(a)在 LCD繪圖時要反復(fù)使用 LineTo( ) 和MoveTo( )兩個函數(shù),但在使用該函數(shù)之前,一定要注意到 LCD的分辨率。只有知道了 LCD分辨率,才能知道 LCD的坐標(biāo)值的范圍,從而得到正確的設(shè)定結(jié)果。本設(shè)計使用的 LCD分辨率是640*480。也就是說,初始坐標(biāo)系的 x值范圍為(0≤x≤640),y值范圍(0≤y≤480)。
(b)由于LCD寬度有限,當(dāng)橫坐標(biāo) x>LCDWidth時,波形就超出顯示范圍了。解決方法是在 LCD上顯示自左至右畫出的波形,當(dāng)畫到 LCD的最右端時,清一次屏幕后,重新從 LCD的左端向右畫線,同時橫坐標(biāo)的值也相應(yīng)的改變。
(5) PC機上數(shù)據(jù)顯示程序
為了更好的記錄和分析數(shù)據(jù),我們在 PC機上用 VC編寫了程序,這樣可以很好保存和處理數(shù)據(jù),為性能分析和系統(tǒng)故障恢復(fù)提供了有利條件。
6.結(jié)論
uC/OS-II實時操作系統(tǒng)是開放源碼且得到實際驗證的軟件平臺,而ARM處理器具有強大的32位RISC性能?;趗C/OS-II及ARM,能大量減輕研發(fā)任務(wù),提高研發(fā)速度,為在短時間內(nèi)設(shè)計出控制性能優(yōu)秀的數(shù)據(jù)采集系統(tǒng)創(chuàng)造了條件。本文數(shù)據(jù)采集系統(tǒng)已成功應(yīng)用于工業(yè)場合溫度和水位的實時測控,達(dá)到了很好的效果。
本文作者創(chuàng)新點:摒棄了傳統(tǒng)單片機數(shù)據(jù)采集,采用移植性好的嵌入式 uC/OS-II系統(tǒng),具有后續(xù)開發(fā)簡單,系統(tǒng)穩(wěn)定性好,可靠性高等特點。本設(shè)計可以很容易得移植到其他數(shù)據(jù)采集系統(tǒng)當(dāng)中去。參考文獻(xiàn)
[1] 田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用教程[M].北京:北京航空航天大學(xué)出版社,2005.
[2] 任哲.嵌入式實時操作系統(tǒng) uC/OS-II原理及應(yīng)用 [M].北京:北京航空航天大學(xué)出版社, 2005.
[3] Jean J. Labrosse,邵貝貝等譯.嵌入式實時操作系統(tǒng) uC/OS-II[M].北京:北京航空航天大學(xué)出版社,2003.
[4]馬云輝, 姚宇翔. uC/OS-Ⅱ在 LPC2214上的移植與應(yīng)用 [J].微計算機信息,2008, 4-2:68-70
[5]吳紹根.uC/OS-II在 LPC2210上的移植實現(xiàn) [J].微計算機信息,2007,3-2:62-64

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉