娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月01日(星期日)

2021年06月01日 | ARM7嵌入式系統在車輛調度中的應用范疇

發布者:Mingyue1314 來源: eefocus關鍵字:ARM7  嵌入式系統  車輛調度 手機看文章 掃描二維碼
隨時隨地手機看文章

一、車輛調度系統的整體設計:


整個系統包括四個部分(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;讀取短消息結束時,系統狀態返回到歡迎界面。實際的系統還有返回按鍵等,這里只是用這個圖簡單說明采用狀態機的程序設計方法。


五、硬件設計:


為了從分利用S3C44B0X的時鐘頻率高的特點,減小S3C44B0X在取指和存取數據的延遲,系統中采用將代碼固化在FLASH中,并在系統啟動后將代碼從FLASH拷貝到SDRAM中運行。并且系統中采用PDIUSBD12做為通信主站和PC上的系統監控部分之間通信。比起RS232串行通信方式,速度有很大的液提高。尤其在調度的車輛數量比較多的時候其速度優勢是比較明顯的。


六、總結:


經過系統的運行,系統達到了設計的要求。


關鍵字:ARM7  嵌入式系統  車輛調度 引用地址:ARM7嵌入式系統在車輛調度中的應用范疇

上一篇:ARM和FPGA的光纖信號分析儀設計
下一篇:嵌入式系統設計必備的ARM仿真器知識

推薦閱讀

USART1程序很多,看看USART2程序。注意紅色部分,首先要使能相關端口的時鐘。因為USART2可以映射成不同的端口,所以要端口映射。結合你自己的開發板,設置正確的映射口.(正點原子的是PA03PA02.)STM32F103ZE默認的USART2就是PA03PA02,如果配置映射,USART2端口是PD05PD06了。程序在正點原子開發板SRAM中調試通過,開發環境IAR5.30.void USART2_Initialise...
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************* File Name : stm32f10x_encoder.c * Author : IMS Systems Lab * Date First Issued : 21/11/07* Description : This file contains the software implementation for the* ...
據外媒報道,從今年夏季開始,寶馬Driving Assistant Professional套件將增加一些新功能,讓高速公路駕駛變得更加自動化。而此類新功能是寶馬在自動駕駛領域努力的成果,此前,寶馬曾與Mobileye、德爾福(Delphi)或英特爾(Intel)等合作伙伴在自動駕駛領域已經合作了相當長的一段時間。(圖片來源:bmwblog.com)通過提供此類新功能,寶馬向全自動駕駛...
近日,西安比亞迪半導體有限公司成立,注冊資本100萬元,經營范圍含半導體分立器件制造;電子元器件制造;集成電路芯片及產品制造;安防設備銷售;安全系統監控服務;合同能源管理等。該公司由比亞迪半導體股份有限公司全資持股。 據了解,比亞迪半導體西安研發中心即將啟用,與此同時,比亞迪半導體打磨出一款更高性能的IGBT6.0芯片,并計劃于西安研發中...

史海拾趣

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 监利县| 柞水县| 梁河县| 申扎县| 辽中县| 色达县| 陆良县| 双柏县| 务川| 内江市| 犍为县| 邓州市| 湘阴县| 仁布县| 重庆市| 得荣县| 方城县| 固阳县| 宿迁市| 大城县| 洛浦县| 兴义市| 吉水县| 东辽县| 融水| 阿合奇县| 嘉峪关市| 瓮安县| 孟州市| 缙云县| 廊坊市| 眉山市| 辽源市| 中山市| 密山市| 泽普县| 顺昌县| 宜兰县| 乳山市| 松阳县| 红原县|