基于stm32和ucos3的船上水位探測(cè)裝置_第1頁(yè)
基于stm32和ucos3的船上水位探測(cè)裝置_第2頁(yè)
基于stm32和ucos3的船上水位探測(cè)裝置_第3頁(yè)
基于stm32和ucos3的船上水位探測(cè)裝置_第4頁(yè)
基于stm32和ucos3的船上水位探測(cè)裝置_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于stm32和ucos3的船上水位探測(cè)裝置 一:可行性分析 船在行駛中需要實(shí)時(shí)顯示船體水位,以便航行需要。而stm32具有功能多,價(jià)格優(yōu),ucos3具有輕量,實(shí)時(shí)性高的特點(diǎn)。所以選用stm32和ucos3作為船上水位監(jiān)測(cè)的硬件和平臺(tái)。實(shí)時(shí)多任務(wù)操作系統(tǒng)uCOS-III的特點(diǎn): uCOS-III是一個(gè)全新的實(shí)時(shí)內(nèi)核,源于世界上最流行的實(shí)時(shí)內(nèi)核uC/OS-II,除了提供熟悉的一系列系統(tǒng)服務(wù),全面修訂了API接口,使uC/OS-III更直觀,更容易使用。該產(chǎn)品可以廣泛應(yīng)用于通信,工業(yè)控制,儀器儀表,汽車(chē)電子,消費(fèi)電子,辦公自動(dòng)化設(shè)備等的設(shè)計(jì)開(kāi)發(fā)。1.對(duì)液位報(bào)警裝置的選型三種類(lèi)型裝置的比較 

2、;:浮子式:屬早期產(chǎn)品,主要是結(jié)構(gòu)與維修相對(duì)簡(jiǎn)單,成本低。該類(lèi)型裝置基本上屬于機(jī)械式的,測(cè)量與控制合為一體,在加裝時(shí)就其位置的選擇而言有一定的局限性;該裝置只能在達(dá)到設(shè)定液位時(shí)報(bào)警,卻不方便觀察平時(shí)的液位情況;在接近設(shè)定液位時(shí),浮子容易受到液面波涌的干擾,出現(xiàn)誤報(bào)警,且測(cè)量亦不精確,等等。 測(cè)距式:測(cè)量準(zhǔn)確,容易控制,性能穩(wěn)定,不僅能對(duì)設(shè)定的液位報(bào)警,還能監(jiān)視平時(shí)液位的變化情況,成本適中。因?yàn)槌曁筋^要裝在被測(cè)液面之上,其加裝仍有一定的局限,但較浮子式的要好些;通過(guò)調(diào)節(jié)顯示控制裝置的延時(shí)與報(bào)警回差值能夠剝?nèi)跻好娌ㄓ繉?duì)測(cè)量的干擾。 傳感式:測(cè)量準(zhǔn)確,容易控制,性能穩(wěn)定,不僅能

3、對(duì)設(shè)定的液位報(bào)警,還能監(jiān)視平時(shí)液位的變化情況,成本適中;由于壓力探頭和變送器之間用軟性的導(dǎo)氣纜連接,方便了安裝,降低了該裝置在安裝上的局限性;因?yàn)閴毫μ筋^是放在液體的底部,液面的波涌對(duì)其的干擾本來(lái)就小,加之通過(guò)顯示控制裝置的延時(shí)與報(bào)警回差值的調(diào)節(jié),基本上能夠消除液面波涌產(chǎn)生的測(cè)量干擾。2、選型及基于的考慮 通過(guò)上述比較,我們選用測(cè)距式艙底水液位報(bào)警裝置主要是基于以下兩點(diǎn)考慮: 裝置的性能:性能穩(wěn)定,我們選的這款裝置關(guān)鍵部件都是進(jìn)口元件;參數(shù)設(shè)定后,斷電后可保存20年;寬電壓(85260VAC);溫度漂移?。?#177;0.2%/10);測(cè)量準(zhǔn)確,適合船舶使用。抗干擾能力強(qiáng),

4、特別是消除液面波涌產(chǎn)生的干擾尤為突出。顯示直觀,艙底水的液位高度以數(shù)字顯示在顯示控制裝置上,方便了工作人員對(duì)艙底水的監(jiān)視和處理。操作簡(jiǎn)單,參數(shù)一經(jīng)設(shè)定就不需其它操作了,至多開(kāi)關(guān)一下電源而已;如需調(diào)整參數(shù),按照說(shuō)明書(shū)進(jìn)行調(diào)整亦很簡(jiǎn)單。不失為一款性?xún)r(jià)比較好的設(shè)備。 船舶的要求:船舶艙室的空間很有限。在加裝其它設(shè)備時(shí),應(yīng)考慮到:新設(shè)備加裝后對(duì)原設(shè)備功能、操作產(chǎn)生的影響。在實(shí)現(xiàn)新加裝設(shè)備功能的同時(shí),還應(yīng)以:不移動(dòng)、或少移動(dòng)原有的設(shè)備,不影響、或少影響原有設(shè)備的操作和作用為原則。我們所選的這款液位報(bào)警裝置就相對(duì)好的解決了這個(gè)問(wèn)題,因?yàn)樗鼛缀醪恍枰囟ǖ陌惭b位置。  二:實(shí)現(xiàn)

5、功能由stm32硬件實(shí)時(shí)監(jiān)控水位,數(shù)據(jù)由超聲波傳感器測(cè)量而得,并將顯示結(jié)果傳輸至上位機(jī)。當(dāng)水位高于或低于預(yù)定值時(shí),拉響警報(bào),實(shí)現(xiàn)避險(xiǎn)和預(yù)報(bào)功能。三:功能原理超聲波測(cè)量液位的基本原理是:由超聲探頭發(fā)出的超聲脈沖信號(hào),在氣體中傳播,遇到空氣與液體的界面后被反射,接收到回波信號(hào)后計(jì)算其超聲波往返的傳播時(shí)間,即可換算出距離或液位高度。超聲波測(cè)量方法有很多其它方法不可比擬的優(yōu)點(diǎn):(1)無(wú)任何機(jī)械傳動(dòng)部件,也不接觸被測(cè)液體,屬于非接觸式測(cè)量,不怕電磁干擾,不怕酸堿等強(qiáng)腐蝕性液體等,因此性能穩(wěn)定、可靠性高、壽命長(zhǎng);(2)其響應(yīng)時(shí)間短可以方便的實(shí)現(xiàn)無(wú)滯后的實(shí)時(shí)測(cè)量。系統(tǒng)采用的超聲波傳感器的工作頻率為40kHz

6、左右。由發(fā)射傳感器發(fā)出超聲波脈沖,傳到液面經(jīng)反射后返回接收傳感器,測(cè)出超聲波脈沖從發(fā)射到接收到所需的時(shí)間,根據(jù)媒質(zhì)中的聲速,就能得到從傳感器到液面之間的距離,從而確定液面??紤]到環(huán)境溫度對(duì)超聲波傳播速度的影響,通過(guò)溫度補(bǔ)償?shù)姆椒▽?duì)傳播速度予以校正,以提高測(cè)量精度。計(jì)算公式為:V=331.5+0.607T (1)式中:V為超聲波在空氣中傳播速度;T為環(huán)境溫度。S=V ×t/2=V×(t1t0)/2 (2)式中:S為被測(cè)距離;t為發(fā)射超聲脈沖與接收其回波的時(shí)間差;t1為超聲回波接收時(shí)刻;t0為超聲脈沖發(fā)射時(shí)刻。利用MCU的捕獲功能可以很方便地測(cè)量t0時(shí)刻和t1時(shí)刻,根據(jù)以上公式

7、,用軟件編程即可得到被測(cè)距離S。由于本系統(tǒng)的MCU選用了具有SOC特點(diǎn)的混合信號(hào)處理器,其內(nèi)部集成了溫度傳感器,因此可利用軟件很方便的實(shí)現(xiàn)對(duì)傳感器的溫度補(bǔ)償。由stm32硬件實(shí)時(shí)監(jiān)控水位,當(dāng)水位高于或低于預(yù)定值時(shí),拉響警報(bào)1.stm32 STM32系列基于專(zhuān)為要求高性能、低成本、低功耗的嵌入式應(yīng)用專(zhuān)門(mén)設(shè)計(jì)的ARM Cortex-M3內(nèi)核.按內(nèi)核架構(gòu)分為不同產(chǎn)品:其中STM32F1系列有:STM32F103“增強(qiáng)型”系列STM32F101“基本型”系列STM32F105、STM32F107“互聯(lián)型”系列增強(qiáng)型系列時(shí)鐘頻率達(dá)到72MHz,是同類(lèi)產(chǎn)品中性能最高的產(chǎn)品;基本型時(shí)鐘頻率為36M

8、Hz,以16位產(chǎn)品的價(jià)格得到比16位產(chǎn)品大幅提升的性能,是32位產(chǎn)品用戶(hù)的最佳選擇。兩個(gè)系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。時(shí)鐘頻率72MHz時(shí),從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場(chǎng)上最低的產(chǎn)品,相當(dāng)于0.5mA/MHz。STM32F103簡(jiǎn)介ARM公司的高性能”Cortex-M3”內(nèi)核1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz一流的外設(shè)1s的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉(zhuǎn)速度低功耗在72MHz時(shí)消耗36mA(所有外設(shè)處于工作狀態(tài)),待機(jī)時(shí)下降到2A最

9、大的集成度復(fù)位電路、低電壓檢測(cè)、調(diào)壓器、精確的RC振蕩器等簡(jiǎn)單的結(jié)構(gòu)和易用的工具參數(shù)12V-36V供電兼容5V的I/O管腳優(yōu)異的安全時(shí)鐘模式帶喚醒功能的低功耗模式內(nèi)部RC振蕩器內(nèi)嵌復(fù)位電路工作溫度范圍:-40°C至+85°C或105°C特點(diǎn)內(nèi)核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。DMA:12通道DMA控制器。支持的外設(shè):定時(shí)器,ADC,DAC,SPI,IIC和UART。3個(gè)12位的us級(jí)的A/D轉(zhuǎn)換器(16通道):A/D測(cè)量范圍:0-3.6V。雙采樣和保持能力。片上集成一個(gè)溫度傳感器。

10、2通道12位D/A轉(zhuǎn)換器:STM32F103xC,STM32F103xD,STM32F103xE獨(dú)有。最多高達(dá)112個(gè)的快速I(mǎi)/O端口:根據(jù)型號(hào)的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個(gè)外部中斷向量。除了模擬輸入,所有的都可以接受5V以?xún)?nèi)的輸入。最多多達(dá)11個(gè)定時(shí)器:4個(gè)16位定時(shí)器,每個(gè)定時(shí)器有4個(gè)IC/OC/PWM或者脈沖計(jì)數(shù)器。2個(gè)16位的6通道高級(jí)控制定時(shí)器:最多6個(gè)通道可用于PWM輸出。2個(gè)看門(mén)狗定時(shí)器(獨(dú)立看門(mén)狗和窗口看門(mén)狗)。Systick定時(shí)器:24位倒計(jì)數(shù)器。2個(gè)16位基本定時(shí)器用于驅(qū)動(dòng)DAC。最多多達(dá)13個(gè)通信接口:2個(gè)IIC接口(

11、SMBus/PMBus)。5個(gè)USART接口(ISO7816接口,LIN,IrDA兼容,調(diào)試控制)。3個(gè)SPI接口(18 Mbit/s),兩個(gè)和IIS復(fù)用。CAN接口(2.0B)。USB 2.0全速接口。SDIO接口。系統(tǒng)作用1、集成嵌入式Flash和SRAM存儲(chǔ)器的ARM Cortex-M3內(nèi)核。和8/16位設(shè)備相比,ARM Cortex-M3 32位RISC處理器提供了更高的代碼效率。STM32F103xx微控制器帶有一個(gè)嵌入式的ARM核,所以可以兼容所有的ARM工具和軟件。2、嵌入式Flash存儲(chǔ)器和RAM存儲(chǔ)器:內(nèi)置多達(dá)512KB的嵌入式Flash,可用于存儲(chǔ)程序和數(shù)據(jù)。多達(dá)64KB的

12、嵌入式SRAM可以以CPU的時(shí)鐘速度進(jìn)行讀寫(xiě)(不待等待狀態(tài))。3、可變靜態(tài)存儲(chǔ)器(FSMC):FSMC嵌入在STM32F103xC,STM32F103xD,STM32F103xE中,帶有4個(gè)片選,支持四種模式:Flash,RAM,PSRAM,NOR和NAND。3個(gè)FSMC中斷線(xiàn)經(jīng)過(guò)OR后連接到NVIC。沒(méi)有讀/寫(xiě)FIFO,除PCCARD之外,代碼都是從外部存儲(chǔ)器執(zhí)行,不支持Boot,目標(biāo)頻率等于SYSCLK/2,所以當(dāng)系統(tǒng)時(shí)鐘是72MHz時(shí),外部訪(fǎng)問(wèn)按照36MHz進(jìn)行。4、嵌套矢量中斷控制器(NVIC):可以處理43個(gè)可屏蔽中斷通道(不包括Cortex-M3的16根中斷線(xiàn)),提供16個(gè)中斷優(yōu)先

13、級(jí)。緊密耦合的NVIC實(shí)現(xiàn)了更低的中斷處理延遲,直接向內(nèi)核傳遞中斷入口向量表地址,緊密耦合的NVIC內(nèi)核接口,允許中斷提前處理,對(duì)后到的更高優(yōu)先級(jí)的中斷進(jìn)行處理,支持尾鏈,自動(dòng)保存處理器狀態(tài),中斷入口在中斷退出時(shí)自動(dòng)恢復(fù),不需要指令干預(yù)。5、外部中斷/事件控制器(EXTI):外部中斷/事件控制器由用于19條產(chǎn)生中斷/事件請(qǐng)求的邊沿探測(cè)器線(xiàn)組成。每條線(xiàn)可以被單獨(dú)配置用于選擇觸發(fā)事件(上升沿,下降沿,或者兩者都可以),也可以被單獨(dú)屏蔽。有一個(gè)掛起寄存器來(lái)維護(hù)中斷請(qǐng)求的狀態(tài)。當(dāng)外部線(xiàn)上出現(xiàn)長(zhǎng)度超過(guò)內(nèi)部APB2時(shí)鐘周期的脈沖時(shí),EXTI能夠探測(cè)到。多達(dá)112個(gè)GPIO連接到16個(gè)外部中斷線(xiàn)。2.uC/

14、OS-III 簡(jiǎn)介uC/OS-III(Micro C OS Three 微型的C 語(yǔ)言編寫(xiě)的操作系統(tǒng)第3版)是一個(gè)可升級(jí)的,可固化的,基于優(yōu)先級(jí)的實(shí)時(shí)內(nèi)核。它對(duì)任務(wù)的個(gè)數(shù)無(wú)限制。uC/OS-III 是一個(gè)第3 代的系統(tǒng)內(nèi)核,支持現(xiàn)代的實(shí)時(shí)內(nèi)核所期待的大部分功能。例如資源管理,同步,任務(wù)間的通信等等。然而,uC/OS-III 提供的特色功能在其它的實(shí)時(shí)內(nèi)核中是找不到的,比如說(shuō)完備的運(yùn)行時(shí)間測(cè)量性能,直接地發(fā)送信號(hào)或者消息到任務(wù),任務(wù)可以同時(shí)等待多個(gè)內(nèi)核對(duì)象等。uC/OS-III 是一個(gè)可擴(kuò)展的,可固化的,搶占式的實(shí)時(shí)內(nèi)核,它管理的任務(wù)個(gè)數(shù)不受限制。它是第三代內(nèi)核,提供了現(xiàn)代實(shí)時(shí)內(nèi)核所期望的所有功

15、能包括資源管理、同步、內(nèi)部任務(wù)交流等。uC/OS-III 也提供了很多特性是在其他實(shí)時(shí)內(nèi)核中所沒(méi)有的。比如能在運(yùn)行時(shí)測(cè)量運(yùn)行性能,直接得發(fā)送信號(hào)或消息給任務(wù),任務(wù)能同時(shí)等待多個(gè)信號(hào)量和消息隊(duì)列。應(yīng)用程序接口(API)uC/OS-III 是很直觀的。如果你熟悉類(lèi)似的編碼規(guī)范,你能輕松地知道函數(shù)名所對(duì)應(yīng)的服務(wù),以及需要怎樣的參數(shù)。例如:指向?qū)ο蟮闹羔樛ǔJ堑谝粋€(gè)參數(shù),指向錯(cuò)誤代碼的指針通常是最后一個(gè)參數(shù)。搶占式多任務(wù)處理uC/OS-III 是一個(gè)搶占式多任務(wù)處理內(nèi)核,因此,uC/OS-III 正在運(yùn)行的經(jīng)常是最重要的就緒任務(wù)。時(shí)間片輪轉(zhuǎn)調(diào)度uC/OS-III 允許多個(gè)任務(wù)擁有相同的優(yōu)先級(jí)。當(dāng)多個(gè)相

16、同優(yōu)先級(jí)的任務(wù)就緒時(shí),并且這個(gè)優(yōu)先級(jí)是目前最高的。uC/OS-III 會(huì)分配用戶(hù)定義的時(shí)間片給每個(gè)任務(wù)去運(yùn)行。每個(gè)任務(wù)可以定義不同的時(shí)間片。當(dāng)任務(wù)用不完時(shí)間片時(shí)可以讓出CPU 給另一個(gè)任務(wù)。快速響應(yīng)中斷uC/OS-III 有一些內(nèi)部的數(shù)據(jù)結(jié)構(gòu)和變量。uC/OS-III 保護(hù)臨界段可以通過(guò)鎖定調(diào)度器代替關(guān)中斷。因此關(guān)中斷的時(shí)間會(huì)非常少。這樣就使uC/OS-III 可以響應(yīng)一些非??斓闹袛嘣戳?。3.超聲波傳感器人們能聽(tīng)到聲音是由于物體振動(dòng)產(chǎn)生的,它的頻率在20HZ-20KHZ范圍內(nèi),超過(guò)20KHZ稱(chēng)為超聲波,低于20HZ的稱(chēng)為次聲波。常用的超聲波頻率為幾十KHZ-幾十MHZ。超聲波是一種在彈性介質(zhì)

17、中的機(jī)械振蕩,有兩種形式:橫向振蕩(橫波)及縱向振蕩(縱波)。在工業(yè)中應(yīng)用主要采用縱向振蕩。超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。另外,它也有折射和反射現(xiàn)象,并且在傳播過(guò)程中有衰減。在空氣中傳播超聲波,其頻率較低,一般為幾十KHZ,而在固體、液體中則頻率可用得較高。在空氣中衰減較快,而在液體及固體中傳播,衰減較小,傳播較遠(yuǎn)。利用超聲波的特性,可做成各種超聲傳感器,配上不同的電路,制成各種超聲測(cè)量?jī)x器及裝置,并在通迅,醫(yī)療家電等各方面得到廣泛應(yīng)用。四:任務(wù)分配通過(guò)創(chuàng)建任務(wù)函數(shù)ostaskcreate創(chuàng)建3個(gè)任務(wù),分別為:1.數(shù)據(jù)測(cè)量,通過(guò)超聲波測(cè)量,得到反饋數(shù)據(jù),進(jìn)行量化2.數(shù)據(jù)傳

18、輸,送給上位機(jī)顯示3.報(bào)警設(shè)置,通過(guò)預(yù)設(shè)值比較,判斷是否響鈴兩個(gè)函數(shù)之間通過(guò)中斷切換中斷優(yōu)先級(jí)為3>1>2數(shù)據(jù)測(cè)量和數(shù)據(jù)傳輸兩個(gè)任務(wù)有參數(shù)傳遞,參數(shù)量為超聲波測(cè)量返回?cái)?shù)值。系統(tǒng)軟件部分使用C語(yǔ)言編程,同時(shí)使用STM32官方提供的固件庫(kù),使用的版本為3.5版。 STM32固件庫(kù)也稱(chēng)固件函數(shù)庫(kù)或標(biāo)準(zhǔn)外設(shè)庫(kù),是一個(gè)固件函數(shù)包,它由程序、數(shù)據(jù)結(jié)構(gòu)和宏組成,包括了微控制器所有外設(shè)的性能特征。該函數(shù)庫(kù)還包括每一個(gè)外設(shè)的驅(qū)動(dòng)描述和應(yīng)用實(shí)例,為開(kāi)發(fā)者訪(fǎng)問(wèn)底層硬件提供了一個(gè)中間API,通過(guò)使用固件函數(shù)庫(kù),無(wú)需深入掌握底層硬件細(xì)節(jié),開(kāi)發(fā)者就可以輕松應(yīng)用每一個(gè)外設(shè)。因此,使用固態(tài)函數(shù)庫(kù)可以大大減少用戶(hù)的程序編寫(xiě)時(shí)間,進(jìn)而降低開(kāi)發(fā)成本。每個(gè)外設(shè)驅(qū)動(dòng)都由一組函數(shù)組成,這組函數(shù)覆蓋了該外設(shè)所有功能。簡(jiǎn)單的說(shuō),使用標(biāo)準(zhǔn)外設(shè)庫(kù)進(jìn)行開(kāi)發(fā)最大的優(yōu)勢(shì)就在于可以使開(kāi)發(fā)者不用深入了解底層硬件細(xì)節(jié)就可以靈活規(guī)范的使用每一個(gè)外設(shè)。五:總結(jié)STM32在速度、功耗方面性能都更加優(yōu)越,其豐富的外設(shè)也更加方便設(shè)計(jì)。另外,STM32價(jià)格較低,在成本上也有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論