即时嵌入式系统之软体合成工具设计

上传人:工**** 文档编号:486258288 上传时间:2023-05-07 格式:DOC 页数:20 大小:3.75MB
返回 下载 相关 举报
即时嵌入式系统之软体合成工具设计_第1页
第1页 / 共20页
即时嵌入式系统之软体合成工具设计_第2页
第2页 / 共20页
即时嵌入式系统之软体合成工具设计_第3页
第3页 / 共20页
即时嵌入式系统之软体合成工具设计_第4页
第4页 / 共20页
即时嵌入式系统之软体合成工具设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《即时嵌入式系统之软体合成工具设计》由会员分享,可在线阅读,更多相关《即时嵌入式系统之软体合成工具设计(20页珍藏版)》请在金锄头文库上搜索。

1、即時嵌入式系統之軟體合成工具設計即時嵌入式系統之軟體合成工具設計1Design of a Software Synthesis Tool for Real-Time Embedded Systems李宗演1吳宜穆2張劍平3熊博安4蔡加春1李文達1Trong-YenLeeI-MuWuChien-Pin ChangPao-Ann HsiungChia-Chun TsaiWen-TaLee1國立台北科技大學電子工程系、2大霸電子股份有限公司3國防大學中正理工學院電子工程研究所、4國立中正大學資訊工程學系摘要本文的研究重點在於發展一個具圖形化的使用者介面之即時嵌入式系統軟體合成工具,為了可描述設計系統

2、所使用之中斷處理的動作與每一個任務的即時限制,因此我們提出以中斷式時間派翠網路(Interrupt Time Petri Nets, ITPN)的方法來描述系統模型,同時提出具中斷處理能力的類似動態排程(Interrupt-Based Quasi-Dynamic Scheduling, IQDS)演算法,將中斷動作與即時的行程作有效的排程,當找出有效排程之後利用產生程式碼(Code Generation)演算法產生包含中斷相關指令的單晶片C語言程式碼。在嵌入式軟體合成工具中,我們設計出一個高親和度之圖形化的使用者介面,它提供使用者一個視窗化的設計介面,可以簡易的描繪系統模型與參數之設定,並內建

3、一些常用的函式提供給系統設計者,以減少軟體設計與開發的時間。最後我們使用電腦溫度量測與四相步進馬達控制為例子來驗證本工具之正確性與方便性。關鍵詞:嵌入式系統、具中斷處理能力的類似動態排程、軟體合成。投稿受理時間: 92 年 10 月 15 日 審查通過時間: 92 年 12 月 24 日ABSTRACTIn this Thesis, we try to bridge this gap by developing a software synthesis tool with a graphical user interface for designing real-time embedded s

4、ystems. We propose an Interrupt Time Petri Nets (ITPN) model for real-time embedded software requirements modeling. ITPN can handle both interrupt behavior and real-time constraints on tasks in a real-time embedded system. An Interrupt-Based Quasi-Dynamic Scheduling (IQDS) algorithm is proposed to f

5、ind valid task schedules satisfying interrupt behavior specifications and real-time constraints in a real time embedded system. We use a Code Generation algorithm to produce micro-controller (8051) C program code. The graphical user interface makes our tool more user-friendly. This tool supports the

6、 Windows OS environment and can be used for system model input and easy setting of system parameters. Several common function calls also be installed into the tool for reducing development time in the system design process. Finally, we give two examples: Digital Thermometer with Micro-controller and

7、 Four-phase Stepping Motor Controller to illustrate the correctness of our methodology and the increase in productivity provided by our real-time embedded software synthesis tool. 2臺北科技大學學報第三十七之一期Keywords:Embedded System, Interrupt-Based Quasi-Dynamic Scheduling, Software Synthesis.壹、前言近年來由於電子產品的外觀要

8、求短、小、輕、薄,功能也要求更多樣性,除此之外更重視成本與開發時間的減少,在這些需求促使之下嵌入式系統(Embedded System)的技術不斷的開發與進步以滿足電子產品的需求。舉凡日常生活中食、衣、住、行、育、樂各方面所看到的、用到的東西,如飛機、電磁爐、數位像機、投影機、血壓計、數位溫度計和遊戲機等都為嵌入式系統1 2,它在設計方面不像桌上型電腦是由零組件組裝而成,而是以軟硬體共同設計(Hardware/Software Co-design)的方式,將要求的系統規格(System Specification)經一致化的描述(Unified Repre- sentation),透過分析的機

9、制將系統功能做適當的分割(Partition)成硬體與軟體部分,然後藉由軟體和硬體的合成工具將軟體和硬體合成出來,最後再將軟體與硬體結合模擬(Co- Emulation)做最後的整合與調整。嵌入式軟體合成是一個自動化的設計(Automatic Design)技術,大致上分成三個步驟,第一步驟為:利用系統模型(System Model)來描述軟體的結構;第二步驟為:根據系統模型的描述來對即時任務作排程(Schedule),進而獲得有效的系統排程,此系統排程稱之為可排程(Schedulable),最後一個步驟為:將可排程的即時任務根據系統模型所描述的軟體結構自動化的產生相對應程式碼,以供嵌入式系統

10、使用。即時嵌入式系統之軟體合成工具設計3在文獻3 4 5中,使用的系統模型中缺少對中斷的表示與描述。但實際上,微控制器的程式碼中含有中斷相關指令。因此在系統模型中應該加入對中斷指令的表示與描述,如此一來合成出的程式碼更可直接使用於微控制器中。近年來由於視窗程式設計的興起,使得人與機器的介面從文字變成圖形,這不只讓使用者更容易使用與學習。由於先前嵌入式軟體合成工具是利用文字編輯方式來描述系統模型,與使用者的親和性(User-Friendly)較差6,所以當發展嵌入式軟體合成工具時,在使用者介面(User Interface)方面,若能採圖形編輯方式將可讓使用者更容易、更直覺的編輯所需的嵌入式軟體

11、,也使維護與新增更方便。本文的研究重點著重於提出嵌入式軟體合成方法,並依此方法論發展嵌入式軟體合成工具,並且設計一個高親和度(Friendly)的使用者介面。在系統模型方面,利用派翠網路並擴增其元件,加入對中斷的表示與描述,以中斷式時間派翠網路(Interrupt Time Petri Nets, ITPN)作為系統模型,提出以具中斷處理能力的類似動態排程(Interrupt-Based Quasi-Dynamic Scheduling, IQDS)演算法根據系統模型找出有效的排程,此方法可較有系統且簡單的共用於分解自由選擇之派翠網路(Free Choice Petri Net, FCPN)與

12、複雜選擇之派翠網路(Complex Choice Petri Net, CCPN)找出可能路徑,然後利用產生程式碼 (Code Generation)演算法產生包括中斷指令的程式碼,最後根據這些方法設計出嵌入式軟體合成工具,並且設計一個高親和度(Friendly)的圖形之使用者編輯系統的介面。本文於第一節中簡介嵌入式系統合成工具的發展。第二節中介紹了嵌入式軟體合成工具的相關研究。第三節說明軟體合成之系統架構,包含了系統模型、系統架構與系統的設計。第四節以實例驗證,舉出電腦數位溫度量測與四相步進馬達控制的兩個實例以證明嵌入式軟體合成工具的實用性。最後為本文提出的結論與未來研究之方向。貳、相關研究

13、嵌入式軟體合成是藉由一個可行的排程方法,將行程(Process)依序排列,以滿足設計者所提出的功能要求、即時的限制與記憶體容量的限制。嵌入式軟體結構通常包括資料計算(Data Computations);和控制結構(Control Structures),其中控制結構又包含了資料相依控制(Data-Dependent Controls),如:if-then-else或while-do-loops,必須依測試值或一些資料來決定下一個運算稱之;和即時控制(Real- Time Controls),如優先權(Priority)、中斷(Interrupt)與觸發行為(Trigger Actions)等

14、,這些動作是發生於內部(Internal)或外部(External)4臺北科技大學學報第三十七之一期的事件(Events)0。對於排程而言,只包含資料計算的排程,稱為靜態排程(Static Schedule),排程中增加了資料相依控制的排程,稱為類似靜態排程(Quasi-Static Schedule),若包含即時控制的排程,就稱為動態排程(Dynamic Schedule)。嵌入式軟體合成的過程中,首先必須定義出系統模型,作為使用者描繪系統的標準,接著利用排程的方法,將行程適當的排程,最後根據排程的結果與模型的描述,映對出符合微控制器種類的程式碼。如表一所示為常見的圖形表示法之功能比較,可以

15、看出派翠網路的優勢,它是以直觀的圖形方式描繪系統,更以簡單的數學定義和數學運算作為分析系統的方法,更減少學習上的困難度7 8 9,所以在先前的研究當中3 4 5 6 10 ,都將派翠網路作為系統模型,並且根據實際需要加以變形。在11中作者提出一個以Co-design Finite State Machine (CFSM)為架構的嵌入式系統軟硬體設計工具POLIS,但是此架構並不容易的被延伸到其他一般的架構上。一般在派翠網路中決定激發順序的合成問題是一個很難的問題,所以目前的研究都是將派翠網路的模型簡化或是變形。很多的合成技術相繼被提出,在5中作者使用派翠網路的子類別為Free-Choice P

16、etri Nets (FCPN),作為系統模型,並提出針對FCPN的類似靜態排程演算法。FCPN可描繪出軟體架構,並可藉由類似靜態的排程演算法,合成出程式碼,但嵌入式軟體大部分都為即時軟體,且為循環執行的程式,此模型未將即時限制(Real-Time Constraint)的特點表示出來,也無法對即時行程作排班,所以在3中,作者提出以FCPN延伸的Time Free-Choice Petri Nets (TFCPN)作為系統模型,最大的差別於系統模型的轉移上加入最早的激發時間(Earliest Firing Time; EFT)與最晚激發時間(Latest Firing Time, LFT),其用意是限制轉移在最晚激發時間前,一定要將權杖轉到下一個位置,如此一來就可計算

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号