2 tsim software tsim
2.1μC / OS-II architecture
μC / OS-II yog ib lub khoom ntiag tug, implantable ROM, croppable, preemptive real-time multitasking operating system ntsiav nrog kev ua tiav high performance, me me hneev taw, kev ua tau zoo ntawm lub sijhawm thiab scalability. Nta, qhov qis tshaj plaws yuav muab tso ua ke rau 2KB. μC / OS-II yog sau ua lus C thiab lus sib dhos. Feem ntau ntawm cov cai sau nyob rau hauv C. Tsuas yog ob peb ntawm cov cai ze rau tus processor yog sau ua lus sib dhos. μC / OS-II tsuas yog kev ua haujlwm xws li kev ua haujlwm teem caij, kev tswj haujlwm, tswj kev tswj hwm, kev tswj hwm, kev sib txuas lus ntawm kev ua haujlwm, thiab kev sib sau ua ke.
Kev ua haujlwm ntawm kev ua haujlwm hauv 2.2μC / OS-II system
Tom qab tau tiav qhov kev sib tw ntawm txoj kab kev nkag siab ntawm MPC / OS-II rau STM32F107, qhov programming μC / OS-II yog ua los ntawm kev faib cov ntawv loj loj rau hauv cov haujlwm sib nrauj. Qhov tseem ceeb ntawm txhua txoj hauj lwm yog txhais thiab cov kev qhia txog kev ua tiav kev sib tw rau cov kab mob hauv cov kab mob hauv kev ntsuas (μC / OS-II) thiab tswj cov hauj lwm no.
Lub tswv yim tsim lub tswv yim yog tsim kom muaj lub zog khiav ceev thiab txoj haujlwm ntawm txoj kev thev ntawm txoj hlua ntawm lub chaw nres nkoj raws li qhov tseeb ntawm cov neeg hlau. Kev ceev ntawm lub cav yog muab piv nrog cov nqi ntawm qhov kev ua kom qhov incremental thiab cov voj kev kaw tswj los ntawm kev ceev PID algorithm. Txoj hauj lwm ntawm txoj hlua khi no tsuas yog qhov tseem ceeb ntawm tus neeg tuaj yeem xa rov qab mus rau txoj hauj lwm tam sim no, thiab qhov ceev ntawm txoj kev tho tsav yog kho raws li qhov yuav tsum ua. Lub zog yuav tsum tau paub los ntawm lub cev tswj kev kaw software ntawm no tuav neeg hlau yog raws li nram no:
◆ Lub tshuab qaum yuav ua rau lub siab ceev, lub kaum sab xis thiab lub sijhawm ua haujlwm;
◆ Yuav tsum tau hloov lub zog ntawm kev sib tsoo thiab kev ua kom zoo thiab zoo rau qhov zoo. Qhov ceev tsis suav los ntawm PI algorithm.
◆ Yuav tsum muaj lub iav kom ncav cuag lub qhov taw qhia kom sai, thiab qhov chaw tawm tswv yim yog siv raws li qhov kev hloov ntawm txoj kev khiav ntawm txoj hlua iav;
◆ Muaj ib qho kev tiv thaiv ua txhaum. Thaum twg lub cav raug blocked, qhov tam sim no loj dhau, thiab lub iav thawb kov qhov kev txwv qis, nws yuav tsum tau nres cov tsav lub cev.
Rau cov haujlwm saum toj no kom tiav, daim ntawv thov yuav muab faib ua cov haujlwm hauv qab no:
1 Pib ua haujlwm. Pib lub hauv paus, tsim lub xeev pib lub cev, ces rho tawm ntawm nws tus kheej thiab pib ua haujlwm kom tsaug zog.
2 lub cev muaj zog thiab lub thev rau txoj hlua khi. Nws yog siv los tawm tswv yim rau ib qho kev cuam tshuam sab nraud thaum qhov kev hloov dhau kev ua haujlwm lossis kev hloov qis yog qhib. Thaum cov xwm txheej raug kaw, qhov kev xaib xaib xa tuaj. Qhov kev ua hauj lwm pom tau tias qhov semaphore siv tau thiab teb rau cov hauj lwm thiab nres tawm qhov tawm. Qhov haujlwm tseem ceeb tshaj plaws yog teem rau theem 0.
3 lub lag luam computer muab haujlwm. Nws siv rau lub tshuab qaum kom tswj tau lub cav thiab lub thev xaib, thiab qhov haujlwm tseem ceeb tshaj plaws yog teeb tsa 1. Thaum lub lag luam cov ntaub ntawv sau cia yog tsim tawm, qhov kev cuam tshuam yuav raug tsim, uas yuav xa cov tau txais los ntawm tsis kam thiab tso lub semaphore ntawm cov haujlwm ua haujlwm ntawm lub computer host; thaum lub semaphore raug kuaj tau, txoj hauj lwm yuav pib executing thiab qhov sib xyaw tote yuav raug tua. Cov ntaub ntawv yog parsed rau coj tus hla ceev thiab kev tsav cov lus qhia rau cov ntaub ntawv kom muab qhov tseem ceeb rau cov kev hloov ua piv txwv.
4 tsav kev ua haujlwm tsav tsheb. Kev kaw kev voj voog khiav ntawm kev tsav tsheb, qhov muaj feem thib hauv kev ua haujlwm yog teem rau theem 2.
5 tswj kev ua haujlwm tswj kev ua haujlwm. Nws yog siv los tswj lub iav tswj kom ncav cuag lub luag hauj lwm hauv lub sij hawm teev tseg, thiab qhov muaj feem thib rau kev ua hauj lwm yog muab tso rau theem 3.
2.3 Pib ua haujlwm
Nyob rau hauv qhov kev pabcuam loj, ua ntej hu rau lwm yam haujlwm ntawm kev ua haujlwm ntawm kev sibtham ntawm kev sibtham ntawm kev sibtham ntawm kev sibtham hauv kev sibtham, nyob rau tib lub sij hawm, tsim kom muaj qhov haujlwm OS_TaskIdle (), qhov hauj lwm no yeej ib txwm Nyob hauv kev npaj txhij; hu rau OSTaskCreate () kev ua haujlwm los tsim txoj haujlwm pib; hu rau OSStart (), kev tswj kom hloov mus rau kev ua haujlwm ntawm μC / OS-II, pib khiav kev thaij sib luag.
Txoj haujlwm pib yog tsim nyob rau hauv qhov kev pabcuam loj, uas muaj peb lub luag haujlwm tseem ceeb:
1 rau kev pib ua haujlwm (PWM tso tawm module, qhov chaw nres nkoj, ADC module, theem theem kev cuam tshuam, sijhawm).
2 Tsim kom muaj qhov teeb meem siv los ntawm lub system.
3 tsim lwm yam dej num ntawm lub system.
Thaum kawg, hu rau OSTaskDel (OS_PRIO_SELF) kom rho tawm tau nws tus kheej thiab pib ua haujlwm kom tsaug zog. Lub ntsiab ntawm qhov kev pab cuam khiav dej num yog muaj nyob rau hauv Xam 4.
2.4 kev ua haujlwm tswj kev tsav tsheb
Txhua lub sij hawm qhov kev xa tawm qib siab ntxiv ua rau sab nraud cuam tshuam, qhov kev ua haujlwm semaphore yog tawm hauv lub xeev kev cuam tshuam. Qhov kev zov me nyuam ua hauj lwm pom tau tias qhov semaphore siv tau thiab teb rau txoj hauj lwm. Txoj hauj lwm realizes kaw-voj kev tswj los ntawm kev ntsuas tsheb khiav ceev tam sim no thiab qhov muab ceev sib piv. Tsav tsheb khiav tswj haujlwm khiav dej num yog muaj nyob hauv daim duab 5.
2.5 txoj kev tswj xyuas kev tswj iav
Qhov kev tswj hwm servo ua rau siv sijhawm ntawm ib lub sijhawm, xa ib semaphore txhua lub sij hawm uas teem tseg, thiab cov haujlwm yuav raug sau tseg ib zaug. Qhov kev pab tswj servo muab piv rau txoj hauj lwm uas ntsuas los ntawm lub encoder meej nrog rau txoj hauj lwm uas tau muab thiab kho qhov kev ceev ntawm cov servo raws li lub sijhawm ntxiv. Qhov kev ua hauj lwm tswj kev pabcuam (servo control flow) muaj nyob hauv Xam.
3 qhov system electromechanical interface
Cov tho tsav ntawm tus neeg hlau muaj 30: 1 reducer txuas nrog DC lub cev. Txoj hauj lwm meej encoder txuas nrog rau lub thawv iav thiab xa lub kaum sab xis ntawm lub thooj iav rau tsav tsheb tswj. Ob lub shafts ntawm lub log pem hauv ntej ntawm tus neeg hlau txuas nrog ib tus pas nrig. Ib qho ntawm lub shafts yog txuas nrog lub thawv iav los ntawm kev sib kis, yog li thaum thaum lub iav thawb tig, txoj siv sib txuas ntawm tus neeg tsav tsheb tuaj yeem siv tus pas nrig kom paub tseeb tias ob lub log pem hauv ntej yuav tig tau sib npaug. Lub tsheb-tsav tsav lub cev muaj zog yog DC tsav, uas yog txuas ncaj qha mus rau qhov kev xa cov ntaub ntawv ntxiv. Tom qab qhov txo qhov txo tus nqi txo los ntawm 25: 1 reducer, lub log log yog tsav los ntawm cov neeg kho tshuab sib txawv. Pib ntsais koj teeb los ntawm tus qauv ntawm qhov incremental xa tuaj rau tsav tsheb tswj. Cov qauv ntawm cov tshuab electromechanical yog muaj nyob hauv daim duab 7.
Xaus
Nyob rau hauv daim ntawv no, qhov tsim ntawm lub tshuab ua haujlwm thiab kev pabcuam hluav taws xob ntawm tus neeg tsav tsheb yog pom. Lub lag luam real-time kev ua haujlwm μC / OS-II yog ntse nyob rau ntawm STM32F107, thiab qhov kev sib txuas ntawm kev sib tsoo ntawm lub cav thiab cov thaw ua kom tiav. Siv cov cwj pwm ntawm cov haujlwm ua haujlwm ntawm Cortex-M3 tus tub ntxhais thawj tswj hwm thiab kev ua haujlwm ntawm CCT / OS-II, nws muab lub software thiab cov cuab yeej cuab tam rau cov neeg tsav tsheb tom qab yees duab kev yees duab thiab kev sib txuas lus. Yog tias qhov PI algorithm uas twb muaj lawm lawm thiab kev tsav tsheb ceev thiab tam sim no ob zaug raug kaw-loop tswj tau pom tseeb, tus yam ntxwv ntawm tus neeg tsav tsheb yuav zoo dua, thiab qhov kev tso npe ntawm tus neeg tsav tsheb yuav tsum nrug.





