999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式的單片機智能控制應用研究

2020-07-23 07:08:02周首杰明興祖
機械與電子 2020年7期
關鍵詞:嵌入式單片機智能

周首杰,李 灣,明 瑞,周 賢,明興祖,

(1.湖南汽車工程職業學院,湖南 株洲 412000;2.湖南工業大學機械工程學院,湖南 株洲412007;3.湖北文理學院機械工程學院,湖北 襄陽 441053)

0 引言

嵌入式控制應用已深入到了每一種智能控制中,特別是隨著芯片性能的提高,嵌入式產品也越來越智能化,人性化[1]。嵌入式控制通常有順序結構、多任務等控制方式[2]。順序結構控制適用于簡單、沒有多任務同時執行控制的情況[3]。多任務控制能同時處理多個任務,高檔的嵌入式多任務系統有操作系統來做支撐,如手機就有安卓、蘋果等操作系統支撐,由操作系統來進行多任務管理。在工業控制中,趙俊囡等[4]研究和設計了一種基于XC2785 單片機和嵌入式實時操作系統的汽車運行參數記錄儀方案。采用嵌入式實時多任務操作系統可以提高系統效率、實時性及可靠性,但由于商業嵌入式實時多任務操作系統版權費高,特別是單片機嵌入式系統資源有限,對開發人員技術能力的要求較高,限制了嵌入式操作系統的應用[3,5]。

在工業產品控制中,還有一部分嵌入式系統是沒有操作系統來支撐的,其開發應用針對性和靈活性強。劉燚榮[2]、趙飛等[3]利用通用型嵌入式系統軟件框架,構建一個實時多任務控制機制,提供一套軟件定時器,實現了電力設備智能傳感器軟件快速開發。但這樣的多任務實時處理要由軟件設計工程師來完成多任務的管理,因此產生了相當大的難度[6]。本文在分析嵌入式控制中順序結構控制流程與特性的基礎上,根據小車多任務智能控制處理要求,提出了單片機多任務控制的方法與設計應用。

1 順序結構控制

1.1 順序結構控制程序流程

在嵌入式控制中,最簡單的就是順序結構,即一個任務接一個任務地完成,在完成了一個任務后再繼續完成另外一個任務。如圖1所示為智能小車行進路線圖,一輛智能小車,沿著粗實線往前走,要求在十字路口需自動往右拐彎。

圖1 智能小車行進路線

在圖1中,起始時刻給小車發出一個向前行駛的命令,由底層驅動機構執行小車前行,同時小車需不停檢測是否到了十字路口,小車主控CPU執行檢測任務。當檢測到了十字路口,小車主控CPU再向底層驅動機構發出停止命令,以完成該第1個任務。接著再準備第2個任務,向底層驅動機構發出右轉90°命令。第2個任務完成后,再進行第3個任務,即檢測右轉90°是否到位,如檢測右轉到位,第3個任務完成,接著是下一個任務,如此運行下去,直到整個任務執行完畢。小車前進右轉的順序結構程序流程如圖2所示。

圖2 小車前進右轉的順序結構程序流程

在順序結構程序控制的運行過程中,主控CPU發出前進命令,小車前進,同時主控CPU不停地等待檢測是否到達了十字路口。同理主控CPU發出右轉指令后,主控CPU也是在等待中檢測右轉到位信息。但由于是順序結構,上一個任務沒完成時,下一個任務是不能開啟的;只有在上一個任務完成后,下一個任務才會開始。

1.2 順序結構控制特性

順序結構控制是按工作流程一個接一個往下順序執行。在圖1嵌入式控制中,由于小車按照相應的路線依次完成每一個任務,中間不會穿插別的任務,不能加入人為控制命令,也不需要由主控CPU來控制顯示其他信息等,采用順序結構可以很好地完成控制,小車能自動完成所有任務,因此順序結構適用于簡單、沒有多任務同時執行控制的情況[7]。

CPU的PC指針控制。程序的執行是由CPU中的PC指針來控制的,PC指針決定著程序的執行過程。CPU當前要執行某條命令是由PC指針來指向該命令語句的所在地址。在1片CPU中只有1個PC指針,在一時刻點CPU只能運行1條語句[8]。任務由多條語句組成,所以任務也只能是一個一個地完成,不可能同時運行2個及以上任務。當執行中斷時,也是CPU停止運行現在的任務,轉而由PC指針轉向中斷服務程序地址,執行PC指針所指的中斷服務任務[9]。因此一個時刻是只能運行一條語句,一段時間內只能完成一個任務。

2 多任務控制

2.1 單片機多任務控制思路

隨著單片機運行速度的提升,單片機在嵌入式多任務智能控制中應用廣泛。例如單片機運行一條語句的速度可以用ns計,那么由幾十條甚至上千條語句所組成的一個完整的任務,單片機也只要幾個μs就可以完成[10]。如果沒有延時等待等過程,那么單片機運行完由多個任務所組成的系統也只要幾十ms,甚至更短的時間。ms級別的時間長度,實際應用中無法感知出來。實質上單片機執行任務還是有先后順序的,可以非??斓靥幚矶鄠€任務,能夠在極短時間檢測到輸入信息,并根據輸入信息來完成相關任務,這也體現了單片機的實時處理功能。嵌入式多任務單片機控制就是按該思路進行設計和應用。

2.2 單片機運行速度對多任務控制的影響分析

在多任務執行過程中,單片機的運行速度關鍵。如果單片機的速度太慢,是無法做到多任務同時完成,實時處理的。現在的單片機運行速度都比較快,所以這一點在一般情況下不存在了。如果有單個的任務確實數據量很大,也可以選用更高級、速度更快的單片機;或者可以采用專用的大數據處理芯片來完成數據處理。設計人員在編程時要特別注意程序的運行速度,優化程序編寫。在完成一個任務時,如果編程者使用了大量的延時等待程序,讓CPU延時等待當前任務的完成,那么完成一個任務就需要較長時間,就不能感覺是同時處理多個任務;或者感覺到運行速度太慢,經常出現任務執行被卡住等現象,也可能造成有些任務根本無法完成[11]。因此,要合理設計延時等待程序的編寫。

單片機運行速度越快,任務完成的實時性也越好。每個任務的執行時間短,所有任務執行的時間也越短,人們感覺就是所有任務都是在同一時間段內同時完成。

2.3 多任務管理

每個任務的執行是要占用一定時間的。如果在每一輪程序運行循環中,每個任務都去執行一次,那是沒有必要的[12]。例如按鍵檢測任務,數碼管顯示任務等。按鍵可以快速按下去,再松開,整個過程可快到100 ms之內完成,但與CPU的運行速度相比是極慢的。所以按鍵檢測是可以用定時方式去檢測,例如在50 ms檢測1次就足夠了。數碼管顯示也是如此,由于人的視覺暫留,對每一張圖片是有100 ms時間保留在腦海中,也稱人類的視覺暫留功能,因此對數碼管可100 ms刷新1次;為防畫面閃爍,也可以是50 ms刷新1次。對如圖1中的小車行進是否到達十字交叉口的檢測,可以采用定時檢測的方式進行。由于小車的行駛速度較慢,可以是幾十ms檢測1次。

另外對于一些緊急的、重要的任務,還可采用優先等級的方式進行處理,比如按中斷服務程序中的優先等級制處理。

3 嵌入式多任務智能控制設計與試驗應用

3.1 嵌入式多任務智能控制設計

對于圖1的智能小車行進控制,小車在前進過程中,要求進行行進速度的顯示。采用2個數碼管來顯示小車的行進速度,設計的數碼管顯示小車速度電路原理如圖3所示。

圖3 數碼管顯示小車速度電路原理

從圖3中可以看出,2個數碼管是不可能同時顯示的,一次只能有一個數碼管點亮,須以很快的速度來對每個數碼管進行刷新,即2個數碼管顯示對應的2個任務要快速執行。同時,主控CPU還要不停地檢測小車是否到達十字路口,這又是另一個任務。主控CPU還有可能要接收通過WIFI組件發送過來的信息;同時也還要檢測按鍵等,所以此控制就有多個任務要求同時運行。

采用定時中斷來進行定時,可將定時器1設置成1 ms中斷1次,這樣就定了一個時間標準。如果要定時50 ms,那么就設置一個計數變量,在定時器中斷服務程序中進行計數,當計數50次后就是定時達到50 ms,設計的定時器中斷服務程序流程如圖4所示。

圖4 定時器中斷服務程序流程

在主程序中執行各任務,由于有了定時器定時,所以各任務就可在規定時間下分時執行。設計的多任務控制主程序流程如圖5所示。

圖5 多任務控制主程序流程

從圖5可以看到:每個任務的執行在主程序中不是每一次循環都執行,而是要等到相應的時間到了,輪到實施該任務時才執行;任務的執行按其性質不同,可根據經驗或者現場情況進行時間分配,有些任務可以執行次數少,而有些任務必須執行次數多,例如檢測是否到十字路口的程序,是每10 ms就運行1次,而顯示程序為了視覺舒服,需加快數碼管刷新速度,每30 ms刷新1個數碼管,而按鍵檢測程序在每50 ms檢測1次,使其程序少運行,以加快單片機的運行速度;對于特別重要的任務,或者是運行時間特別短的任務,也可以直接采取優先等級中斷服務程序的處理方式進行執行。

3.2 智能控制系統試驗應用

根據圖1的智能小車行進路線以及標志物,要求競賽小車在接到啟動命令后,須完全在自動模式下完成所有進程,設計的嵌入式單片機智能控制系統由STM32F103主控芯片和驅動芯片以及電機組成驅動系統,由安裝于小車前邊的傳感器和另一片STM32F103芯片組成路面檢測系統向主STM32F103發送信息。通過試驗得到該系統主要性能參數為:主頻設置為72 MHz,一條單周期指令運行時間為1/72 μs;完成一個到達十字交叉口的檢測任務信息,根據波特率設置成11 520,通信設置成9位二進制每幀,致使檢測一條信息不到0.1 ms,發送一個轉彎命令也不到0.1 ms;顯示任務時間更短,完成1個數碼管顯示只需要1 μs以內。該系統測試中,按鍵發出啟動命令,完成小車行進、在點檢測、轉彎命令等進程,并完成雙數碼管分段分時顯示行進速度任務。

4 結束語

在嵌入式的單片機智能控制中,通常有順序結構控制和多任務控制等方式,均需由單片機PC指針來控制程序每一個語句命令的執行,以及每一個任務的完成。順序結構控制下,通過分析其程序流程、控制特性,得出適用于控制簡單、沒有多任務同時執行控制的情況。根據多任務控制的需要,為實現感覺和視覺、實時性等應用問題,通過單片機運行速度對多任務控制的影響分析、多任務管理等研究,結合智能控制設計應用,采用運行速度高的單片機主程序進行合理的任務與等級安排、時間控制和優化編制延時等待程序,運用適合的定時檢測方式,以及優先等級制中斷服務程序處理,解決了智能小車嵌入式智能控制應用中多任務同時運行、實時執行的技術問題。

猜你喜歡
嵌入式單片機智能
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 亚洲欧美日韩中文字幕在线| 欧美三級片黃色三級片黃色1| 日韩欧美在线观看| 国产精品99久久久久久董美香| 黄色污网站在线观看| 欧美日韩国产在线播放| 波多野结衣国产精品| 91成人免费观看在线观看| www.av男人.com| 国产福利大秀91| 免费全部高H视频无码无遮掩| 国产不卡一级毛片视频| 亚洲精品无码人妻无码| 动漫精品啪啪一区二区三区| 亚洲天堂视频在线观看免费| 999精品色在线观看| 欧美日韩精品一区二区在线线| 久草热视频在线| 国产经典在线观看一区| 久久这里只有精品国产99| 国产偷倩视频| 一级毛片在线直接观看| 亚洲妓女综合网995久久| 手机成人午夜在线视频| 日本亚洲成高清一区二区三区| 亚洲无卡视频| 久热中文字幕在线| 毛片a级毛片免费观看免下载| 亚洲国产第一区二区香蕉| 欧美另类视频一区二区三区| 中文字幕在线看| 成人在线不卡视频| 成人年鲁鲁在线观看视频| 欧洲成人免费视频| 欧美成人第一页| 久爱午夜精品免费视频| 萌白酱国产一区二区| 久久无码高潮喷水| 超级碰免费视频91| 91精品国产91久无码网站| 国产精品原创不卡在线| 成人午夜免费观看| 日韩福利在线视频| 老司国产精品视频91| 亚洲日韩高清在线亚洲专区| 欧美一级特黄aaaaaa在线看片| 久久国产拍爱| 性欧美在线| 色婷婷在线影院| 无码免费视频| 99草精品视频| 五月婷婷亚洲综合| 无码aⅴ精品一区二区三区| 国产精品成人第一区| 亚洲人成影院在线观看| 国产精品一区二区久久精品无码| 广东一级毛片| 日韩精品亚洲人旧成在线| 一区二区三区国产精品视频| 激情综合图区| 亚洲 成人国产| 久久成人免费| 国产成人精品亚洲77美色| 九九视频免费在线观看| 制服无码网站| 99久久婷婷国产综合精| 亚洲有无码中文网| 国产男女免费视频| 国产精品自在线天天看片| yjizz国产在线视频网| 日本爱爱精品一区二区| 国产正在播放| 成人免费网站在线观看| 欧洲一区二区三区无码| 国产欧美日韩综合一区在线播放| 中文字幕无线码一区| 国产又大又粗又猛又爽的视频| 丁香五月激情图片| 精品99在线观看| 在线观看无码a∨| 国产黄色视频综合| 国产一级特黄aa级特黄裸毛片|