工業(yè)生產和科學研究過程中,流量測量必不可少,由于超聲波流量計可以將超聲換能器火裝在管道外面進行非接觸測量,無需中斷管道,設計和安裝方便,并且滿足大部分工業(yè)生產的精度要求,近年來得到了廣泛應用.本設計采用了多脈沖時差法測量技術,增強了系統(tǒng)的抗干擾性,改善了測量效果。系統(tǒng)的硬件部分以MSP430F155為控制核心,選用了高精度時間數(shù)字轉換器TDC-GPI和復雜可編程邏輯器件spl.S11032等芯片.充分發(fā)揮了ispL.S1032的在系統(tǒng)可編程性,設計了超聲波退耦合脈沖定時器、抗干擾濾波器、數(shù)字單穩(wěn)態(tài)觸發(fā)器等電路,實現(xiàn)了多脈沖的時間差測量,進一步提高了硬件抗干擾性,并且完成了系統(tǒng)時鐘同步和電平轉換的任務。通過芯片內部的門電路傳播時延實現(xiàn)系統(tǒng)傳播時間的測量,可以達到較高的測量精度,與傳統(tǒng)的通過高速數(shù)字計數(shù)器測時的方式相比,有很大的優(yōu)勢,可以在較低的頻率下完成電路的設計,避免了高頻電路設計中所帶來的更繁雜的電磁兼容等方面的問題。軟件設計是基于嵌入式實時操作系統(tǒng)Small RTOS 430的實現(xiàn).Small RTOS 430是由IC/OS-I和Small RTOS 51經過改寫和移植而來,最大限度的減少了操作系統(tǒng)本身的代碼量和所需的內存空間,整個軟件系統(tǒng)以任務為單位,任務的實現(xiàn)相互獨立,簡化了軟件的開發(fā)過程,縮短了開發(fā)周期,增強了系統(tǒng)的可靠性本文設計的時差法超聲波流量計,采用了TDC-GPI測量傳播時間差,保證了較高的測量精度;使用ispLS1032完成了多脈沖情況下時間差的確定和超聲波退耦合脈沖定時器、抗干擾濾波器等硬件抗干擾電路,改善了超聲波流量計的測量效果.
標簽: 超聲波流量計
上傳時間: 2022-06-21
上傳用戶:得之我幸78
直流系統(tǒng)是給變電站各類信號設備、保護、自動裝置、事故照明、應急電源及斷路器分合閘操作提供直流電源的電源設備。直流系統(tǒng)的可靠與否,對變電站的安全運行起著至關重要的作用。直流系統(tǒng)主監(jiān)控是整個直流系統(tǒng)的控制、管理核心。主監(jiān)控單元的主要任務是:對直流系統(tǒng)中各功能單元和蓄電池進行長期自動監(jiān)測、獲取直流系統(tǒng)中的各種運行參數(shù)和狀態(tài)、根據(jù)測量數(shù)據(jù)及運行狀態(tài)實時進行處理,并以此為依據(jù)對直流系統(tǒng)進行控制,實現(xiàn)系統(tǒng)的全自動精確管理,從而優(yōu)化直流系統(tǒng)的運行狀況,保證其工作的連續(xù)性、安全性和可靠性。嵌入式軟硬件技術已廣泛用于變電站自動化、配電網自動化、新能源發(fā)電控制等智能電網的各個應用領域。主監(jiān)控單元運行時處理任務十分繁雜,包括MMI人機交互、電池充放電管理算法、開入開出控制、系統(tǒng)內部通信、后合通訊等任務,并且對任務的實時性要求較高。因此,主監(jiān)控單元的軟件設計是多任務、實時性和復雜程序較高的工作。嵌人式實時操作系統(tǒng)(RToS)的出現(xiàn)為開發(fā)復雜多任務提供了很好的解決方案。FreeRTOS操作系統(tǒng)是一個源碼公開的嵌入式實時操作系統(tǒng),具有可移植、可裁減、調度策略靈活的特點,可以方便地移植到各種體系結構的微處理器上運行。
標簽: freertos 直流系統(tǒng)
上傳時間: 2022-06-24
上傳用戶:slq1234567890
1 準備1.1 硬件和編譯環(huán)境1.1.1 開發(fā)板硬件選用PIC18F25K22,在淘寶上可以買到開發(fā)板, LIXUE 工作室出品的。價格在140 左右。1.1.2 IDE編譯環(huán)境為MPLAB IDE V8.87C 編譯器為MCC18,版本號為3.38(以上編譯環(huán)境均由開發(fā)板中的光盤提供)1.1.3 仿真器PICkit3,同一家店買的1.2 FreeRTOS 相關移植文件準備1.2.1 下載移植文件在Microchip 官網下載通用移植文件http://embeddedcodesource.com/rtos我是選了下面這個,點擊download 即可下載,解壓后里面存在如下文件,1.2.2 查找有用的文件下載到的FreeRTOS為6.0.4 版本1)找到三個.c 文件如上圖所示,解壓后,主要的文件在FreeRTOS\Source文件夾中,如下所示:其中l(wèi)ist.c , queue.c ,tasks.c 無需修改,作為主要的FreeRTOS的文件,2)找到與.c 文件對應的.h 文件如下圖所示,與之對應的在FreeRTOS\Source\include文件夾中:找到list.h , queue.h ,tasks.h,也無需修改。3)另外還有用的文件包括FreeRTOS.h , portable.h ,projdef.h4)找到heap_1.c找到FreeRTOS\Source\portable\MemMang文件夾里面5)移植修改文件主要包括port.c portmacro.h,在找到FreeRTOS\Source\portable\MPLAB\PIC18F文件夾里面6)其他文件在FreeRTOS_C18\FreeRTOS PrimerEjemplo文件夾中包含了主體的Demo 工程文件,關注FreeRTOSConfig.h,還有兩個.lkr 鏈接文件。2 示例Demo 說明點開FreeRTOS_C18\FreeRTOS PrimerEjemplo 文件夾中的.mcw 工程文件,發(fā)現(xiàn)提示丟失文件,如下所示,其實是定位出現(xiàn)文件,依次對應步驟1.2.2 中的各個文件夾位置查找,重新定位即可,定位好之后,編譯即可通過,
標簽: freertos
上傳時間: 2022-06-24
上傳用戶:
Kinetis系列是飛思卡爾公司基于ARM Cortex-M4和Cortex-M0+內核的單片機,和CortexM3相比,M4內核主要增加了DSP運算指令和可選的浮點運算單元,同時保持了與Cortex-M3的兼容性,因此被寄予希望能逐步替代Cortex-M3。Kinetis也成為飛思卡爾杯全國大學生智能車競賽新的硬件平臺之一。社C/OS-III是Micrium公司推出的全新RTOS,特別適用于那些有計算前導零(CLZ)硬件指令的高端32位CPU,可大大加速就緒表查找速度。uC/OS-IⅡ的主要精華在于其巧妙的優(yōu)先級軟件查表算法,而對于有CLZ硬件算法指令的CPU,如MIPS、PowerPC、ARM11及以上系列,仍使用uC/OS1l就不那么合理了。uC/OS-l源代碼公開,官方已提供對目前主流單片機的移植支持,并且針對幾大主流單片機都提供相應的教材1時,Kinetis就是其中之一。Micrium官方提供的基于Kinetis平臺的范例都是使用1AR作為集成開發(fā)環(huán)境的,考慮到飛思卡爾官方的CodeWarrior開發(fā)環(huán)境有著廣泛的用戶群,尤其是使用過S08/S12等單片機的用戶,大多熟悉CodeWarrior。因此,本文將以Kinetis 平臺為例,講述如何使用CodeWarrior集成開發(fā)環(huán)境將uC/OSI運行起來,作為應用開發(fā)的基礎,也便于那些教學中使用CodeWarrior編譯器的師生,將C/OSII引入嵌入式系統(tǒng)教學。
標簽: CodeWarrior
上傳時間: 2022-06-24
上傳用戶:jason_vip1
前言:我從2011年年初開始玩LPC1768,在公司做過幾個LPC1768的小項目,都是基于UCOS-112.86操作系統(tǒng)和LPC17Xx V2.0固件庫(還有的基于ulP1.0以態(tài)網協(xié)議棧),產品運行穩(wěn)定,芯片級操作也十分方便(畢竟是基于固件庫操作,不用管那些復雜的寄存器),在官網看到不知何時出了UCOS-I1-V2.91,于是準備應用本版本編寫今后的程序,移植時,有意留心寫下這篇移植步驟,希望對初學者有幫助。一、移植前的準備工作下載所需文件:1、在LPCWARE官網下載LPC175x 6x CMSIS-Compliant Standard Peripheral Firmware Driver Library(LPC175X,LPC176x固件驅動庫),下載地址鏈接:http://www.lpcware.com/content/nxpfile/lpc175x6x-cmsis-compliant-standard-perip heral-firmware-driver-library-keil-iar-gnu進入網址選擇lpc175x6xcmsis-driver_library.zip下載pctis su amas aer baryp2i56tes(也可以在NXP官網下載,但本人去年下載的固件庫編譯時出現(xiàn)N多警告,看E不爽,自己改又不怕改出問題)2、在UCOS-1l官網下載UCOS-Il-V291源碼(上面描述為2.89,但實際內核為2.91),下載地址鏈接http://micrium.com/page/downloads/source_code進入網址選擇UC/os-11下載,如下
上傳時間: 2022-06-26
上傳用戶:zhanglei193
Keil環(huán)境中建立帶FreeRTOS的STM32L項目1、先把source文件夾復制至project目錄,然后在keil中添加RTOS文件,如圖:其中heap_2.c按需選擇,可以是heap_1.c等,若需 croutine型任務則還需添加croutine.c文件。2、添加include目錄,位于 source下的include文件夾。3、把FreeRTOSConfig.文件復制到source下的indude文件夾,或者其他用戶文件夾下也可,這是FreeRTOS的功能配置文件,要按需修改的。4、為了能連接到portmacro.h文件,還需添加include路徑Source lportable\RVDS\ARM_CM35、以下移植步驟細節(jié)需參考“FreeRTOS在STM32上的移植V1.0”。首先修改PORTMACRO.H文件?;静挥眯薷?。6、port.c文件也基本不用修改。7、PORTASM.S文件在keil環(huán)境是不需要的,相關的函數(shù)放在了portc文件中。8、修改startup文件(要選擇對應芯片的文件,并且要先取消其只讀屬性):SVC_Handler修改為vPortSVCHandler PendSV_Handler 修改為xPortPendSVHandler SysTick_Handler修改為xPortSys TickHandler
上傳時間: 2022-06-27
上傳用戶:
本書是首本系統(tǒng)講解 FreeRTOS 的中文書籍,共分為兩個部分, 第一部分為“從 0 到 1教你寫 FreeRTOS 內核”,即重點講解 FreeRTOS 的原理實現(xiàn),從 0 開始,不斷迭代,教你怎么把 FreeRTOS 的內核寫出來,讓你徹底學會任務是如何定義的,系統(tǒng)是如何調度的(包括底層的匯編代碼講解) ,多優(yōu)先級是如何實現(xiàn)的等等操作系統(tǒng)最深層次的知識。 當你拿到本書開始學習的時候你一定會驚訝,原來 RTOS 的學習并沒有那么復雜,反而是那么的有趣,原來自己也可以寫 RTOS,成就感立馬爆棚。當?shù)谝徊糠种R你徹底掌握好之后,再切換到其它 RTOS 的學習,那簡直就是易如反掌,縱觀現(xiàn)在市面上流行的幾種 RTOS,它們的內核的實現(xiàn)基本都差不多,只需要深入研究其中一種即可,沒有必要每一種 RTOS 都深入的研究源碼,如果你時間允許,看看那也無所謂。 第二部分是“FreeRTOS 內核應用開發(fā)”,重點講解 FreeRTOS 的移植,內核每個組件的應用,比起第一部分,這部分內容掌握起來比較容易。全書內容循序漸進, 不斷迭代, 前一章都是后一章的基礎,必須從頭開始閱讀,不能進行跳躍式的閱讀。 在學習的時候務必做到兩點:一是不能一味地看書,要把代碼和書本結合起來學習,一邊看書,一邊調試代碼。看書倒是很簡單,那如何調試代碼? 即單步執(zhí)行每一條程序,看看程序的執(zhí)行流程和執(zhí)行的效果與自己大腦所想是不是一樣;二是在每學完一章之后,必須將配套的例程重寫一遍(切記不要復制,哪怕是一個分號,但可以抄) , 做到舉一反三,確保真正理解。 在自己寫的時候肯定會錯漏百出,這個時候要珍惜這些錯誤,好好調試,這是你提高編程能力的最好的機會。 記住,程序不是一氣呵成寫出來的,而是一步一步調試出來的。
上傳時間: 2022-06-27
上傳用戶:
STM32F103 Mini板 FreeRTOS例程.FreeRTOS是一個迷你的實時操作系統(tǒng)內核。作為一個輕量級的操作系統(tǒng),功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、協(xié)程等,可基本滿足較小系統(tǒng)的需要。由于RTOS需占用一定的系統(tǒng)資源(尤其是RAM資源),只有μC/OS-II、embOS、salvo、FreeRTOS等少數(shù)實時操作系統(tǒng)能在小RAM單片機上運行。相對μC/OS-II、embOS等商業(yè)操作系統(tǒng),F(xiàn)reeRTOS操作系統(tǒng)是完全免費的操作系統(tǒng),具有源碼公開、可移植、可裁減、調度策略靈活的特點,可以方便地移植到各種單片機上運行,其最新版本為10.1.0版。
上傳時間: 2022-06-30
上傳用戶:
LearningGUI的特點和優(yōu)勢。LearningGUI被設計成獨立于具體的硬件平臺和具體的軟件平臺,是一款通用的嵌入式開源GUI系統(tǒng)。它100%使用C語言開發(fā),無浮點運算,只調用C,無匯編代碼。顯示,鍵盤,鼠標等驅動由用戶在應用中編寫注冊,因此,LearningGUI的通用性,可移植性非常好!它可以裸奔,也可以在RTOS 上運行,同時更適合在Linux下運行。LearningGUI高度可裁剪,可配置,庫大小從20多K到200多K。占用內存小。Basic版實行靜態(tài)內存管理,占用10多K RAM. Windows版實行動態(tài)內存管理,占用內存與建立控件多少相關。支持內置GB2312—80標準漢字庫。提供開放式字庫訪問接口。提供開放式顏色轉換接口。提供消息驅動機制。提供類似于Win32 SDK式樣的API接口。開發(fā)LearningGUI的目的是替代emWin,同時搶占中低端的QT市場。該教程是基于SWM320單片機下移植learningGUI的教程,詳細描述了移植過程。適用于想學習learningGUI的愛好者,其它單片機也可以使用這樣的方法進行移植,里面講述了配置文件的使用方法,希望這個教程能對該GUI的愛好者有所幫助。
標簽: swm320 learninggui 移植
上傳時間: 2022-07-06
上傳用戶:
STM32 HAL固件庫是Hardware Abstraction Layer的縮寫,中文名稱是:硬件抽象層。HAL庫是ST公司為STM32的MCU最新推出的抽象層嵌入式軟件,為更方便的實現(xiàn)跨STM32產品的最大可移植性。HAL庫的推出,可以說ST也慢慢的拋棄了原來的標準固件庫,這也使得很多老用戶不滿。但是HAL庫推出的同時,也加入了很多第三方的中間件,有RTOS,USB,TCP / IP和圖形等等。和標準庫對比起來,STM32的HAL庫更加的抽象,ST最終的目的是要實現(xiàn)在STM32系列MCU之間無縫移植,甚至在其他MCU也能實現(xiàn)快速移植。
上傳時間: 2022-07-08
上傳用戶: