資料介紹
一、車輛調度系統的整體設計:
整個系統包括四個部分(1)通信主站;(2)車載從站;(3)通信鏈路。(4)系統監控部分。下面對各個部分的功能做一個簡單的介紹。
(1)通信主站:完成信息的轉發,它是連接系統監控部分和車載從站的紐帶,它將從系統監控部分來的信息轉發給車載從站。并且接收車載從站的信息,并將信息上傳給系統監控部分。
(2)車載從站:被監控的對象,接收監控調度命令,并可以返回自己的狀態信息。狀態信息的取得是依靠在車載從站中的GPS接收機來完成車輛位置和速度信息等的采集工作。
(3)通信鏈路:完成通信主站和車載從站的信息傳遞及通信主站和系統監控部分的信息交互。其中前者在本次設計中是以GSM手機模塊做為通信的工具,而后者是采用RS232或USB來實現的。
(4)系統監控部分:以圖形的方式將被監控車輛的位置信息顯示在電子地圖上(GIS,地理信息系統的采用),并且可以顯示其狀態等文字信息。并且可以通過系統監控部分的人機界面來完成調度命令等信息的輸入。由于在很多的論文中包含了這些車輛監控系統的基本組成元素,所以在這里就簡單的介紹一下。相關內容可以參考有關的論文資料。下面重點討論UC/OS-II的內核調度機理、操作系統的移植、基于狀態機的嵌入式系統程序開發和硬件設計方面的問題。圖一給初一個車輛監控系統的示意圖。
二、操作系統的內核調度機理:
由于本系統對時性要求不是很強,采用了UC/OS-II這種簡單的源碼開發的操作系統。由于UC/OS-II是以任務為基礎進行調度的。所以系統中所要處理的中間結果或響應外部的輸入和輸出,都應該在任務中完成。任務的調度是基于優先級的(UC/OS不支持時間片輪轉的方法)。在多任務調度開始后,時鐘節拍開始工作,時鐘節拍產生周期性的中斷,時鐘節拍提供延時或超時的依據。多任務啟動之前應該先進行初始化的工作,包括CPU、TCB(任務控制塊)、ECB(事件控制塊)和操作系統本身的初始化等。初始化完畢后多任務啟動,系統總是運行就緒狀態優先級最高的任務。由于任務本身是一個無限的循環,所以任務中必須包含引起任務切換的函數,如OSTimeDly()、OSSemPend()等,執行到這些函數時將引起任務的切換,即任務的調度。任務切換之前應該保護現場。任務之間要進行通信,通信的方式很多,可以采用全局變量、共享存儲區等一些常用的方式,但在采用UC/OS-II的系統中任務之間的通信更多采用信號量、消息郵箱等進行。
三、操作系統的移植:
將UC/OS-II這個操作系統移植到三星公司ARM7TDMI S3C44B0X上要注意OSCtxSW()這個任務切換函數,其中任務切換的核心是利用出棧指令將各個任務的工作現場加以恢復。利用中斷返回指令改變PC的指針達到任務切換的目的。它實際上是從任務堆棧中恢復處理器所有的寄存器,并且執行中斷返回指令。實際的移植是用軟件來模擬中斷的發生。移植中的關鍵問題是如何構造任務堆棧及任務切換時的出棧順序。而任務區堆棧初始化主要是模擬任務被中斷后堆棧中的內容。另值得注意的是開關中斷的函數OS_ENTERCRITICAL()和OS_EXIT_CRITICAL()這個函數。這兩個函數實現了對臨界區內容的保護。
四、基于狀態機的程序設計:
整個系統的軟件設計采用任務加狀態機的設計方法,由于系統中采用了UC/OS-II的操作系統,所以系統中所有事件處理都采用任務調度的方式,任務在操作系統得調度下運行。而對于每個任務采用基于狀態機的設計方法,引起系統中某個狀態發生轉移的事件可能是信號量、也可能是其它的事件。下面對狀態機的有關內容加以介紹。
狀態機可以看成是一個狀態和轉換的圖,描述了應用程序對接收到事件的響應。
狀態機的執行:狀態機在某個時刻處理某個事件而在處理另外的事件之前必須完成對這個事件的處理并得到結果。
基于狀態機的程序執行過程是這樣的:在任何時候都存在一個或者多個狀態機活動的狀態。如果一個狀態是活動的,那么離開這個狀態的轉換可能會激發,引起一個事件的執行,并使得另一個狀態或位于初始狀態位置的狀態激活(下一個狀態處于初始狀態)。
狀態機它是說明狀態機的對象在對象自己的生命期中事件的所經歷的狀態序列以及它們對那些事件的響應。可以這樣理解狀態機狀態機是對象的狀態在事件的作用下從一個狀態轉移到另一個狀態。
狀態機中的幾個基本概念:
1.狀態(state):是指在對象的生命期中的一個條件或狀況,在此期間對象將滿足某些條件、執行某些活動或等待某些事件。
2.事件(event)是對一個在時間和空間上占有一定位置的有意義的事情的說明。在狀態機中一個事件的產生可以引起一次狀態轉換。
3.轉換(transition)是兩個狀態之間的一種關系,它指明對象在第一個狀態中執行的一定的動作,并當特定事件或特定條件滿足時進入第二個狀態。
在嵌入式系統的程序設計中,應該注意的另一個問題是函數的可重入問題, 可重入函數可以被遞歸調用,可以同時被兩個或多個進程調用,這就要求在編譯的時候要為可重入函數提供一個模擬堆棧區。
圖二是設計中采用狀態機這種設計方法設計的系統程序中LCD顯示部份。下面是對圖二的解釋。
其中菜單1是顯示歡迎界面(就是上面提到的狀態);菜單2是發送短消息;菜單3是記錄發送短消息內容的;菜單4是用來讀取接收到的短消息。具體的狀態轉移過程是這樣的,當顯示處于歡迎界面的時候,在這個狀態下,如向下的按鍵被按下(這就是一個事件)或發送短消息的鍵被按下,則系統狀態轉移到菜單2(發生了一次狀態轉移,下面和這是類似的,故相應的分析省略了。);在這個狀態下,當向下按鍵被按下或系統要輸入發送短消息的內容時候,系統狀態從菜單2進入菜單3;在這個狀態下,當向下的鍵盤被按下,系統的狀態轉移到菜單4;讀取短消息結束時,系統狀態返回到歡迎界面。實際的系統還有返回按鍵等,這里只是用這個圖簡單說明采用狀態機的程序設計方法。
整個系統包括四個部分(1)通信主站;(2)車載從站;(3)通信鏈路。(4)系統監控部分。下面對各個部分的功能做一個簡單的介紹。
(1)通信主站:完成信息的轉發,它是連接系統監控部分和車載從站的紐帶,它將從系統監控部分來的信息轉發給車載從站。并且接收車載從站的信息,并將信息上傳給系統監控部分。
(2)車載從站:被監控的對象,接收監控調度命令,并可以返回自己的狀態信息。狀態信息的取得是依靠在車載從站中的GPS接收機來完成車輛位置和速度信息等的采集工作。
(3)通信鏈路:完成通信主站和車載從站的信息傳遞及通信主站和系統監控部分的信息交互。其中前者在本次設計中是以GSM手機模塊做為通信的工具,而后者是采用RS232或USB來實現的。
(4)系統監控部分:以圖形的方式將被監控車輛的位置信息顯示在電子地圖上(GIS,地理信息系統的采用),并且可以顯示其狀態等文字信息。并且可以通過系統監控部分的人機界面來完成調度命令等信息的輸入。由于在很多的論文中包含了這些車輛監控系統的基本組成元素,所以在這里就簡單的介紹一下。相關內容可以參考有關的論文資料。下面重點討論UC/OS-II的內核調度機理、操作系統的移植、基于狀態機的嵌入式系統程序開發和硬件設計方面的問題。圖一給初一個車輛監控系統的示意圖。
二、操作系統的內核調度機理:
由于本系統對時性要求不是很強,采用了UC/OS-II這種簡單的源碼開發的操作系統。由于UC/OS-II是以任務為基礎進行調度的。所以系統中所要處理的中間結果或響應外部的輸入和輸出,都應該在任務中完成。任務的調度是基于優先級的(UC/OS不支持時間片輪轉的方法)。在多任務調度開始后,時鐘節拍開始工作,時鐘節拍產生周期性的中斷,時鐘節拍提供延時或超時的依據。多任務啟動之前應該先進行初始化的工作,包括CPU、TCB(任務控制塊)、ECB(事件控制塊)和操作系統本身的初始化等。初始化完畢后多任務啟動,系統總是運行就緒狀態優先級最高的任務。由于任務本身是一個無限的循環,所以任務中必須包含引起任務切換的函數,如OSTimeDly()、OSSemPend()等,執行到這些函數時將引起任務的切換,即任務的調度。任務切換之前應該保護現場。任務之間要進行通信,通信的方式很多,可以采用全局變量、共享存儲區等一些常用的方式,但在采用UC/OS-II的系統中任務之間的通信更多采用信號量、消息郵箱等進行。
三、操作系統的移植:
將UC/OS-II這個操作系統移植到三星公司ARM7TDMI S3C44B0X上要注意OSCtxSW()這個任務切換函數,其中任務切換的核心是利用出棧指令將各個任務的工作現場加以恢復。利用中斷返回指令改變PC的指針達到任務切換的目的。它實際上是從任務堆棧中恢復處理器所有的寄存器,并且執行中斷返回指令。實際的移植是用軟件來模擬中斷的發生。移植中的關鍵問題是如何構造任務堆棧及任務切換時的出棧順序。而任務區堆棧初始化主要是模擬任務被中斷后堆棧中的內容。另值得注意的是開關中斷的函數OS_ENTERCRITICAL()和OS_EXIT_CRITICAL()這個函數。這兩個函數實現了對臨界區內容的保護。
四、基于狀態機的程序設計:
整個系統的軟件設計采用任務加狀態機的設計方法,由于系統中采用了UC/OS-II的操作系統,所以系統中所有事件處理都采用任務調度的方式,任務在操作系統得調度下運行。而對于每個任務采用基于狀態機的設計方法,引起系統中某個狀態發生轉移的事件可能是信號量、也可能是其它的事件。下面對狀態機的有關內容加以介紹。
狀態機可以看成是一個狀態和轉換的圖,描述了應用程序對接收到事件的響應。
狀態機的執行:狀態機在某個時刻處理某個事件而在處理另外的事件之前必須完成對這個事件的處理并得到結果。
基于狀態機的程序執行過程是這樣的:在任何時候都存在一個或者多個狀態機活動的狀態。如果一個狀態是活動的,那么離開這個狀態的轉換可能會激發,引起一個事件的執行,并使得另一個狀態或位于初始狀態位置的狀態激活(下一個狀態處于初始狀態)。
狀態機它是說明狀態機的對象在對象自己的生命期中事件的所經歷的狀態序列以及它們對那些事件的響應。可以這樣理解狀態機狀態機是對象的狀態在事件的作用下從一個狀態轉移到另一個狀態。
狀態機中的幾個基本概念:
1.狀態(state):是指在對象的生命期中的一個條件或狀況,在此期間對象將滿足某些條件、執行某些活動或等待某些事件。
2.事件(event)是對一個在時間和空間上占有一定位置的有意義的事情的說明。在狀態機中一個事件的產生可以引起一次狀態轉換。
3.轉換(transition)是兩個狀態之間的一種關系,它指明對象在第一個狀態中執行的一定的動作,并當特定事件或特定條件滿足時進入第二個狀態。
在嵌入式系統的程序設計中,應該注意的另一個問題是函數的可重入問題, 可重入函數可以被遞歸調用,可以同時被兩個或多個進程調用,這就要求在編譯的時候要為可重入函數提供一個模擬堆棧區。
圖二是設計中采用狀態機這種設計方法設計的系統程序中LCD顯示部份。下面是對圖二的解釋。
其中菜單1是顯示歡迎界面(就是上面提到的狀態);菜單2是發送短消息;菜單3是記錄發送短消息內容的;菜單4是用來讀取接收到的短消息。具體的狀態轉移過程是這樣的,當顯示處于歡迎界面的時候,在這個狀態下,如向下的按鍵被按下(這就是一個事件)或發送短消息的鍵被按下,則系統狀態轉移到菜單2(發生了一次狀態轉移,下面和這是類似的,故相應的分析省略了。);在這個狀態下,當向下按鍵被按下或系統要輸入發送短消息的內容時候,系統狀態從菜單2進入菜單3;在這個狀態下,當向下的鍵盤被按下,系統的狀態轉移到菜單4;讀取短消息結束時,系統狀態返回到歡迎界面。實際的系統還有返回按鍵等,這里只是用這個圖簡單說明采用狀態機的程序設計方法。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- ARM7嵌入式系統于車輛調度中的設計
- 嵌入式開發教程之基于ARM7的LCD設計與實現
- 嵌入式實時操作系統FreeRTOS在ARM7上移植實現
- 基于ARM嵌入式系統的Socket通信設計 25次下載
- 基于ARM7與uClinux嵌入式智能終端系統_艾紅 0次下載
- ARM7在嵌入式應用中啟動 11次下載
- ARM7嵌入式系統的中斷設計與中斷處理優化 198次下載
- 32位ARM7嵌入式硬件平臺簡介
- ARM7在嵌入式應用中啟動程序的實現
- ARM7內核上的uCOS II嵌入式系統移植
- ARM7嵌入式系統在車輛調度中的應用
- ARM7嵌入式系統在車輛調度中的應用
- ARM7系統中實現CF卡存儲的文件系統設計
- 基于ARM7的嵌入式系統上開發USB接口的詳細資料
- ARM7系統中實現CF卡存儲的文件系統設計
- 基于時間觸發多任務調度器的嵌入式系統設計與應用 1958次閱讀
- 該如何正確選擇嵌入式操作系統 2707次閱讀
- 關于嵌入式技術的一些基礎知識 3145次閱讀
- 嵌入式系統在車用電子的發展與應用詳解 6695次閱讀
- 基于ARM嵌入式系統的數字音頻播放系統設計 4052次閱讀
- 關于嵌入式系統8大關鍵特性詳解 1059次閱讀
- ARM嵌入式系統硬件設計及應用實例詳解 1w次閱讀
- 嵌入式開發工具有哪些_五款嵌入式開發工具推薦 4w次閱讀
- 想學嵌入式開發必須要學哪些知識點 3w次閱讀
- 一文看懂嵌入式開發與c++開發有什么不同 2.3w次閱讀
- 基于μC/OSII和ARM7 中斷機制的IRQ中斷響應機制改進及優化解決方案 1993次閱讀
- 概述及匯總ARM的嵌入式操作系統 2951次閱讀
- 成為ARM嵌入式系統硬件高手的要素 1546次閱讀
- 基于ARM7系列芯片嵌入式平臺上實現的設計方案 2362次閱讀
- 基于32位低端嵌入式系統的圖像采集模塊 1411次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多