亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
1220
2022-05-30
1??????引言
系統是一種設計安排,在這種設計中,所有的單元都按照一套規則共同工作。
系統也可以被定義為一種工作方式,按照固定的計劃組織或完成一項或多項任務。例如,手表是一個時間顯示系統。它的部件遵循一套規則來顯示時間。如果其中一個部件出現故障,手表就會停止工作。所以我們可以說,在一個系統中,它的所有子部件都是相互依賴的。
2??????嵌入式系統
顧名思義,嵌入式就是指附著在另一個事物上的東西。嵌入式系統可以被認為是一個嵌入了軟件的計算機硬件系統。嵌入式系統可以是一個獨立的系統,也可以是一個大系統的一部分。嵌入式系統是以微控制器或微處理器為基礎的系統,它被設計成執行特定的任務。例如,火災報警器就是一個嵌入式系統:?它可以感應煙霧。
一個嵌入式系統有三個組成部分:
1.?????????它有硬件。
2.?????????它有應用軟件。
3.?????????它有實時操作系統(RTOS),它監督應用軟件,并提供機制通過控制延遲讓處理器按照計劃運行進程。RTOS定義了系統的工作方式。它設定了應用程序執行過程中的規則。一個小規模的嵌入式系統可能沒有RTOS。
所以我們可以把嵌入式系統定義為基于單片機的、軟件驅動的、可靠的、實時的控制系統。
2.1????嵌入式系統的顯著特征
1.?????????單一功能:
嵌入式系統通常執行一個專門的操作,并重復做同樣的操作。比如說。尋呼機總是作為尋呼機使用。
2.?????????嚴格約束
所有計算系統都有對設計指標的約束,但嵌入式系統上的約束可能特別嚴格。設計指標是衡量一個實現的特點,如它的成本、大小、功率和性能。它的尺寸必須適合在單個芯片上,必須有足夠快的性能來實時處理數據,并且消耗最小的功率來延長電池壽命。
3.?????????反應式和實時性
許多嵌入式系統必須不斷對系統環境的變化做出反應,必須實時計算某些結果,不能有任何延遲。考慮一個汽車巡航控制器的例子;它持續監控并對速度和制動傳感器作出反應。它必須在有限的時間內反復計算加速或減速;延遲計算會導致汽車控制失敗。
4.?????????基于微處理器
必須是基于微處理器或微控制器。
5.?????????存儲器
它必須有一個存儲器,因為它的軟件通常嵌入在ROM中。它不需要計算機中的任何輔助存儲器。
6.?????????連接
它必須有連接的外圍設備來連接輸入和輸出設備。
7.?????????HW-SW系統
軟件用于更多的功能和靈活性。硬件用于性能和安全。
2.2????嵌入式系統的優缺點
優點:
l??易于定制
l??低功耗
l??低成本
l??增強的性能
缺點:
l??高開發成本
l??更長的上市時間
2.3????嵌入式系統的基本結構
2.3.1????傳感器
它測量物理量,并將其轉換為電信號,可由觀察者或任何電子儀器如A2D轉換器讀取。傳感器將測量到的量存儲到存儲器中。
2.3.2????A-D轉換器
模數轉換器將傳感器發送的模擬信號轉換為數字信號。
2.3.3????處理器和ASIC
處理器處理數據以測量輸出并將其存儲到內存中。
2.3.4????D-A轉換器
一個數模轉換器將處理器送來的數字數據轉換為模擬數據。
2.3.5????執行器
執行器將D-A轉換器給出的輸出與所存儲的實際(預期)輸出進行比較,并存儲批準的輸出。
3??????嵌入式軟件架構
1978年美國國家電氣制造商協會發布了可編程微控制器的標準,包括幾乎所有基于計算機的控制器,如單板計算機、數字和基于事件的控制器。
目前常用的軟件架構有幾種不同的類型:
3.1????簡單的控制循環
在這種設計中,軟件只是有一個循環。循環調用子程序,每個子程序管理一部分硬件或軟件。因此,它被稱為簡單控制循環或控制循環。
3.2????中斷控制系統
一些嵌入式系統主要由中斷控制。這意味著系統執行的任務是由不同類型的事件觸發的;例如,一個中斷可以由一個定時器以預定的頻率產生,或者由一個串行端口控制器接收一個字節產生。
如果事件處理程序需要低延遲,而且事件處理程序短小簡單,就會使用這類系統。通常,這類系統在主循環中也會運行一個簡單的任務,但這個任務對意外的延遲不是很敏感。
有時,中斷處理程序會將較長的任務添加到隊列結構中。之后,在中斷處理程序完成后,這些任務由主循環執行。這種方法使系統靠近于具有離散進程的多任務內核。
3.3????協同多任務處理
非先發制人的多任務系統與簡單的控制循環方案非常相似,只是循環被隱藏在API中,程序員定義了一系列的任務,每個任務都獲取自己的環境來?"運行"。當一個任務處于空閑狀態時,它會調用一個空閑例程,通常稱為?"暫停"、"等待"、"退讓"、"nop"(代表沒有操作)等。
其優缺點與控制循環類似,只是增加新的軟件比較容易,只需編寫一個新的任務,加入隊列即可。
3.4????先發制人的多任務或多線程。
在這種類型的系統中,一段低級代碼根據定時器(連接到中斷)在任務或線程之間切換。這就是一般認為系統具有?"操作系統"內核的層次。根據所需功能的多少,它或多或少地引入了管理多個任務并行運行概念上的復雜性。
由于任何代碼都有可能破壞另一個任務的數據(在使用MMU的大型系統中除外),程序必須經過精心設計和測試,對共享數據的訪問必須由某種同步策略來控制,如消息隊列、信號燈或非阻塞同步方案。
由于這些復雜性,組織通常使用實時操作系統(RTOS),允許應用程序員專注于設備功能,而不是操作系統服務,至少對于大型系統來說是如此。
由于內存大小、性能或電池壽命方面的限制,較小的系統通常無法承受與通用實時系統相關的開銷。
然而,使用RTOS的選擇帶來了自己的問題,因為必須在開始到應用開發過程之前進行選擇。這種時機迫使開發人員根據當前的需求來選擇設備的嵌入式操作系統,因此在很大程度上限制了未來的選擇。隨著產品壽命的縮短,對未來選擇的限制變得更加嚴重。
此外,由于設備需要管理串口、USB、TCP/IP、藍牙、無線局域網、中繼無線電、多通道、數據和語音、增強型圖形、多狀態、多線程、眾多等待狀態等變量,復雜程度不斷提高。這些趨勢導致了除了實時操作系統之外,嵌入式中間件的引入。
3.5????微內核和外核
微內核是實時操作系統的邏輯升級。通常的安排是操作系統內核分配內存,并將CPU切換到不同的執行線程。用戶模式的進程實現文件系統、網絡接口等主要功能。
一般來說,微內核在任務切換和任務間通信速度快時成功,慢時失敗。
外核通過普通的子程序調用進行高效通信。系統中的硬件和所有軟件都是應用程序員可以使用和擴展的。
3.6????單片內核
在這種情況下,一個相對較大的具有復雜功能的內核被改造成適合嵌入式環境。這給程序員提供了一個類似于Linux或微軟Windows等桌面操作系統的環境,因此對于開發來說是非常有成效的。
缺點是,它所需要的硬件資源要多得多,通常比較昂貴,而且由于這些內核的復雜性,其可預測性和可靠性也會降低。
嵌入式單片機內核的常見例子有嵌入式Linux、VXWorks和Windows CE。
盡管硬件成本增加,但這種類型的嵌入式系統越來越受歡迎,特別是在功能更強大的嵌入式設備上,如無線路由器和GPS導航系統。以下是其中的一些原因:
l??可以使用通用嵌入式芯片組的端口。
l??它們允許重用設備驅動程序、Web服務器、防火墻和其他的公開可用代碼。
l??開發系統可以從廣泛的功能集開始,然后可以配置發行版以排除不需要的功能,并節省消耗內存的費用。
l??許多工程師認為,在用戶模式下運行應用程序代碼更可靠,也更容易調試,從而使開發過程更容易,代碼更容易移植。
l??需要更快的響應速度的功能通常可以放在硬件中。
3.7????額外的軟件組件
除了核心操作系統外,許多嵌入式系統還有額外的上層軟件組件。
這些組件包括CAN、TCP/IP、FTP、HTTP和HTTPS等網絡協議棧,還包括FAT和閃存管理系統等存儲功能。
如果嵌入式設備具有音頻和視頻功能,那么系統中就會出現相應的驅動程序和編解碼器。
在單片機內核的情況下,許多這些軟件層都包含在內。
在RTOS類別中,附加軟件組件的可用性取決于商業產品。
3.8????特定領域架構
在汽車領域,AUTOSAR是嵌入式軟件的標準架構。
4??????參考
https://en.wikipedia.org/wiki/Embedded_system
https://www.omnisci.com/technical-glossary/embedded-systems
https://internetofthingsagenda.techtarget.com/definition/embedded-system#:~:text=An%20embedded%20system%20is%20a,programmable%20or%20with%20fixed%20functionality.
https://www.tutorialspoint.com/embedded_systems/es_overview.htm
https://www.quora.com/What-is-an-embedded-system
https://www.itpro.co.uk/hardware/30317/what-is-an-embedded-system
嵌入式 軟件開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。