<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式系統基礎設計方法

嵌入式系統基礎設計方法

作者: 時(shí)間:2024-05-20 來(lái)源:網(wǎng)絡(luò ) 收藏

方法

系統是將一個(gè)電子系統嵌入到一個(gè)物理系統中,連接起物理系統和電子信息系統,從而實(shí)現信息系統對物理系統觀(guān)察和控制。

本文引用地址:http://dyxdggzs.com/article/202405/458931.htm

一個(gè)系統的設計,可以從總則上分三大步驟:建模 –> 設計 -> 分析。這里所說(shuō)的設計,是理論的設計,圖紙的設計,而不涉及到系統的實(shí)施。

? 建模:根據系統的物理特性、行為邏輯、業(yè)務(wù)邏輯等,建立系統的數學(xué)據模型。對于不同類(lèi)型的系統,有不同的描述方式,比如對于人人機交互可以用狀態(tài)機模型,對于一個(gè)控制系統可以用狀態(tài)空間方程或者傳遞函數,對于一個(gè)交易系統可以用流程圖。對于一個(gè)大系統,也可以分解成多個(gè)子系統,子系統建立不同的數學(xué)模型,這個(gè)大系統是不同數學(xué)模型的組合。

? 設計:根據系統的數學(xué)模型,創(chuàng )建實(shí)現系統模型的結構,指定系統如何實(shí)現功能,這包括硬件系統、軟件系統的設計、軟硬件結合的設計。

? 分析:說(shuō)明設計的系統為什么能完成它的設計目標,這個(gè)設計目標包括功能、性能等指標。

嵌入式系統的組成

對于一個(gè)系統,大致可以分為四大功能組件:輸入,處理,控制,輸出。

  • 輸入:信號采集,信息輸入;一般包括模擬信號(AI)、數字信號(DI)、信息錄入等;

  • 處理:對輸入的信息進(jìn)行處理,提取出有效信息;一般是指各種濾波算法;

  • 控制:根據有效信息、系統的模型以及期望的結果,設計控制算法;

  • 輸出:將控制信息輸出。一般為模擬信號(DA)、數字信號(DO)等。

而軟件運行的載體,就是硬件。比如信號的輸入就是各種傳感器,輸出就是各種執行部分,處理、控制算法,則需要運行在MCU、CPU、FPGA上,運行的數據需要存儲在RAM、Flash上。

嵌入式系統軟件模型

對于PC機、手機、服務(wù)器等編程,已經(jīng)有多種實(shí)踐模型,基礎的如面向對象思想,基于組件的思想,面向接口編程,函數式編程。在應用層有MVC,23種設計模式,領(lǐng)域驅動(dòng)等。但在嵌入式編程上,由于受到硬件資源和實(shí)時(shí)性要求的限制,過(guò)于重的設計實(shí)踐和編程語(yǔ)言,在嵌入式系統上根本無(wú)法實(shí)現。結合自己的實(shí)際編程經(jīng)驗和自己的思考,建立起自己的嵌入式編程模型。

嵌入式軟件一般由芯片驅動(dòng)、板級驅動(dòng)、操作系統、文件系統、通訊協(xié)議、UI等組成,其中包括信號處理代碼、控制算法代碼,也是嵌入式軟件的一部分,對于這些功能組件,如何將它們按照一個(gè)有效方式,組合起來(lái)以實(shí)現系統功能要求,這種組合方式,就是嵌入式編程模式。

系統的運行過(guò)程,是個(gè)動(dòng)態(tài)連續的過(guò)程,相同的連續過(guò)程,可以認為系統處于一個(gè)狀態(tài),狀態(tài)與狀態(tài)之間,通過(guò)事件觸發(fā)轉移。系統中的相關(guān)元素集合,可以抽象為對象,對象是變量和方法的集合。

? 對象描述

對象是軟件的基本操作單元,對象由變量進(jìn)行描述,對象的方法是對對象變量的操作。

? 狀態(tài)空間

狀態(tài)空間是系統所有狀態(tài)的合集,各狀態(tài)之間可以相互轉換,某狀態(tài)可以是另一狀態(tài)的子狀態(tài)。各狀態(tài)間的轉移是通過(guò)事件觸發(fā)的。

? 事件驅動(dòng)

通過(guò)事件,來(lái)實(shí)現任務(wù)間的同步。一個(gè)事件,可能會(huì )觸發(fā)一個(gè)動(dòng)作,也可能觸發(fā)一次狀態(tài)轉移。

以最簡(jiǎn)單的交通燈控制為例

對象描述:

typedef struct {
   Color_t  color;     //交通燈顏色
   int     hold_time;  //交通燈的保持時(shí)間} Ligght_t;
typedef struct {
   Color_t (* Turn)(Color_t color)
} Light_Op_t;

交通燈控制系統的狀態(tài)空間

typedef enum {
   STOP,
   WAIT,
   THROUGH
}

三個(gè)狀態(tài)對應的led對象為

stop --  red -- 15秒;wait --  yellow -- 3秒;through -- green -- 45秒。

事件觸發(fā):

事件由于定時(shí)器產(chǎn)生,定時(shí)器在15秒,3秒,45秒之間循環(huán),每次計時(shí)完成,則發(fā)出一個(gè)信號,同時(shí)進(jìn)行另一個(gè)計時(shí)。主任務(wù)接收到信號后,進(jìn)行狀態(tài)切換,同時(shí)輸出根據狀態(tài),控制對應的交通燈的顏色。

偽代碼:
main(){    while(1){        switch(state){            case STOP:
               Light.Turn(red);
               state ++;                break;            case STOP_HOLD:
               Wait_TimeOUt(15);   //15秒后,狀態(tài)切換
               state ++;                break;            case WAIT:
               Light.Turn(yellow);
               state ++;                break;            case WAIT_HOLD:
               Wait_TimeOUt(3); //3秒后,狀態(tài)切換
               state ++;                break;            case THROUGH:
               Light.Turn(green);
               state ++;                break;            case THROUGH_HOLD:
               Wait_TimeOUt(45); //45秒后,狀態(tài)切換
               state = STOP;                break;
       }
   }      
}

對于同一個(gè)系統,也可以從不同的角度定義狀態(tài)空間和狀態(tài)轉移過(guò)程,但是他們在邏輯上是等效的。

在一些系統中,如protothread、STC51的任務(wù)調度系統,均是采用類(lèi)似的方案。



關(guān)鍵詞: 嵌入式 系統設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>