嵌入式系統設計基礎

2021-12-29 科學出版社東北分社

嵌入式系統以單晶片化為發展目標,迅速將傳統電子系統引領到智能化現代電子系統時代。嵌入式系統具有集成度高、體積小、功能強、可靠性高、價格低廉等優點,目前廣泛應用於工業測控、航空航天、智能儀器儀表、通信系統、醫療、汽車、信息技術、家用電器等領域。

20 世紀 70 年代,以微處理器為核心的微型計算機不僅具有型小、價廉、可靠性高的特點,還具有高速數值計算能力,從而引起了控制專業人士的極大興趣。為了區別於原有的通用計算機系統,我們把嵌入對象體系中實現對象體系智能化控制的計算機,稱作嵌入式計算機系統,簡稱嵌入式系統。因此,嵌入式系統誕生於微型計算機時代,嵌入性本質是將一個計算機嵌入一個對象體系中。


通用計算機系統的技術要求是高速、海量的數值計算;技術發展方向是總線速度的無限提升, 存儲容量的無限擴大。而嵌入式系統的技術要求則是對象的智能化控制能力;技術發展方向是與對象系統密切相關的嵌入性能、控制能力與控制的可靠性。因此,必須獨立地發展通用計算機系統與嵌入式計算機系統,這就形成了現代計算機技術發展的兩大分支。


隨兩大分支的飛速並行發展,通用計算機系統進入盡善盡美階段,除集中精力發展通用計算機系統的軟、硬體技術外,還基於高速海量的數據、文件處理能力改進作業系統。由於嵌入式系統要嵌入對象體系中,實現的是對象的智能化控制,因此,嵌入式系統的單晶片化特性迅速將傳統電子系統引領到智能化現代電子系統時代。


關於嵌入式系統(embedded system)的定義很多,較通俗的定義是嵌入對象體系中的專用計算機系統。此定義強調嵌入式系統的三個基本要素:嵌入性、專用性與計算機系統。

電氣電子工程師協會(Institute of Electrical and Electronics Engineers, IEEE)對嵌入式系統的定義為「用於控制、監視或者輔助設備、機器和車間運行的裝置」(原文為devices used to control, monitor, or assist the operation of equipment, machinery or plants)。此定義強調嵌入式系統的應用目的:一種完成特定功能的「裝置」,該裝置能夠在沒有人工幹預的情況下獨立地進行實時監測和控制。從技術角度定義,也是國內較權威的定義是「以應用為中心、以計算機技術為基礎、軟體硬體可剪裁,且適應系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統」。嵌入式系統是針對具體應用而定製的專用計算機系統,採用「量體裁衣」的方式把所需的功能嵌入各種應用系統中。


嵌入式系統是將先進的計算機技術、半導體技術、電子技術與各個行業的具體應用相結合後的產物。這決定了嵌入式系統是技術密集、資金密集、高度分散、不斷創新的知識集成系統。嵌入式系統是針對特定的應用需求而設計的專用計算機系統,這決定了它必然有其自身的特點。嵌入式系統的顯著特點主要包括以下幾個方面。


1.體積小、功耗低、集成度高


嵌入式系統需嵌入特定的設備中,面向特定系統應用,往往對系統的體積和功耗有嚴格的要求,特別是對可攜式儀器儀表和手機之類的需移動的嵌入式產品,對系統的體積和功耗的要求更為嚴格。系統通常都具有功耗低、體積小、集成度高等特點,能夠把通用計算機系統中許多由板卡完成的任務集成在晶片內部,從而有利於嵌入式系統小型化,移動能力也大大增強,與計算機網絡和通信系統的結合也越來越緊密。


2.可靠性高、實時性強


嵌入式系統與通用計算機系統不同,嵌入式系統運行環境差異很大,有些應用場合的環境十分惡劣,系統可能運行在高溫、高壓下,也可能運行在零下幾十度的冰天雪地中,這就要求嵌入式系統必須有更高的可靠性。很多嵌入式系統都需要及時響應各種事件,不斷地對所處環境的變化做出反應,而且要實時地得到計算結果,不能產生過多延遲,保證系統的實時性。可以想像,如果汽車的剎車系統不能對剎車信號及時做出反應將會導致什麼後果。


3.專用性強、設計效率高


嵌入式系統的硬體、 軟體均是面向特定應用對象和任務設計的, 具有很強的專用性,與通用計算機構造的通用計算和信息處理平臺不同,嵌入式系統提供的功能及其面對的應用和過程都是預知的。通過充分考慮嵌入式系統對功能、可靠性、成本、體積和功耗方面的特殊要求,使嵌入式系統滿足對象要求的最小硬體和軟體配置,滿足特殊用途的需求。


嵌入式系統對成本、體積和功耗有嚴格的要求,由於資源(內存、 I/O(輸入/輸出)埠等)有限,因此對嵌入式系統的硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘, 力爭在有限的資源上實現更高的性能。嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,應具有較長的生命周期。 

4.硬體高性能配置、軟體固態化存儲


嵌入式硬體力爭在同樣矽片面積上實現更高的性能,並可根據用戶具體要求對晶片配置進行剪裁和添加。嵌入式軟體通常都固化在存儲器或嵌入式處理器中,而不是存儲於磁碟等磁性載體中,以提高執行速度和系統可靠性。由於嵌入式系統一般應用於小型電子裝置,並且系統資源相對有限,所以內核較傳統的作業系統要小得多,比如 μC/OS作業系統,核心內核只有 8.3KB,而 Windows 的內核要比其大得多。所以還要求高質量和高可靠性的軟體代碼,以滿足系統的執行速度與實時性要求。


5.需要宿主機-目標機的開發模式


嵌入式系統一般只能運行應用程式,不具備自主開發程序的能力,所以嵌入式系統常採用宿主機-目標機的開發模式。通常將通用計算機作為宿主機,嵌入式系統作為目標機,宿主機安裝開發環境和調試工具,用於程序的開發與修改,目標機執行程序進行驗證與測試,此過程需要反覆多次。

本文摘編自《嵌入式系統設計基礎》(李肅義 等編著. 北京:科學出版社,2021.6)一書文前及第1章內容。 


目 錄
前言
第 1 章 嵌入式系統概述
1.1 嵌入式系統簡介 
1.1.1 嵌入式系統定義
1.1.2 嵌入式系統特點
1.1.3 嵌入式系統組成
1.1.4 嵌入式系統分類
1.2 嵌入式處理器 
1.2.1 MCU
1.2.2 MPU
1.2.3 DSP
1.2.4 SoC
1.3 嵌入式作業系統 
1.4 嵌入式系統的應用和發展 
1.4.1 嵌入式系統的應用

1.4.2 嵌入式系統的發展
本章小結
習題
第 2 章 嵌入式系統工程設計
2.1 嵌入式系統的項目開發生命周期
2.1.1 概述
2.1.2 需求分析
2.1.3 方案設計
2.1.4 項目執行
2.1.5 項目結題
2.2 嵌入式系統的工程設計方法
2.2.1 面向過程思想
2.2.2 面向對象思想
2.2.3 面向對象建模基礎
2.2.4 基於 UML 的車載 GPS 終端設計
本章小結
習題
第 3 章 8 位嵌入式 MCU 晶片硬體基礎
3.1 8051 單片機的基本組成 
3.2 8051 中央處理器 
3.2.1 運算器
3.2.2 控制器
3.3 8051 存儲器 
3.3.1 程序存儲器
3.3.2 數據存儲器
3.4 8051 的 I/O 埠
3.5 8051 的中斷系統
3.5.1 中斷技術的優勢及中斷系統的功能
3.5.2 中斷系統結構
3.5.3 中斷處理過程
3.6 8051 的定時器/計數器 
3.6.1 定時器/計數器的結構和功能
3.6.2 方式寄存器和控制寄存器
3.6.3 定時/計數器的工作方式
3.7 8051 的串行口 
3.7.1 串行口結構及控制寄存器
3.7.2 串行口的工作方式
3.7.3 波特率設計
3.7.4 串行口應用
3.8 8051 的最小系統
3.9 MCS-51 擴展基礎
3.9.1 單片機擴展及系統結構
3.9.2 外部存儲器擴展
3.9.3 外部簡單 I/O 擴展
3.9.4 外部 A/D 擴展
本章小結
習題
第 4 章 嵌入式 C 程序設計基礎及編碼規範
4.1 C51 簡介
4.1.1 C51 特點
4.1.2 C51 程序結構
4.1.3 C51 關鍵字
4.2 C51 程序設計基礎 
4.2.1 數據類型
4.2.2 變量定義
4.2.3 特殊功能寄存器及位變量定義
4.2.4 絕對地址訪問
4.2.5 基本運算與流程控制
4.2.6 宏定義與文件包含
4.2.7 函數
4.2.8 C51 程序設計實例
4.3 嵌入式 C 語言編碼規範
本章小結
習題
第 5 章 ARM 體系結構與指令集簡介
5.1 ARM 處理器
5.1.1 ARM 處理器簡介
5.1.2 典型 ARM 系列處理器
5.1.3 ARM 微處理器特點
5.2 ARM 處理器體系結構
5.2.1 嵌入式微處理器體系結構
5.2.2 ARM 微處理器工作模式及狀態
5.2.3 ARM 微處理器的寄存器
5.2.4 ARM 微處理器的異常處理
5.2.5 ARM 支持的數據類型和存儲模式
5.3 ARM Cortex-M3 處理器
5.3.1 ARM Cortex-M3 組成結構
5.3.2 ARM Cortex-M3 寄存器組
5.3.3 ARM Cortex-M3 操作模式和特權級別
5.3.4 ARM Cortex-M3 的異常和中斷
5.3.5 ARM Cortex-M3 存儲器系統
5.4 ARM 指令系統簡介
5.4.1 ARM 指令格式
5.4.2 ARM 尋址方式
5.4.3 ARM 指令分類
本章小結
習題
第 6 章 STM32 基本原理
6.1 STM32 性能和結構
6.1.1 STM32 性能
6.1.2 STM32 內部結構
6.1.3 STM32 晶片封裝和引腳功能
6.2 STM32 存儲地址映射
6.3 STM32 系統控制模塊
6.3.1 系統啟動模式
6.3.2 系統復位
6.3.3 系統時鐘
6.3.4 時鐘設置相關主要寄存器
6.4 STM32F103 中斷系統
6.4.1 嵌套向量中斷控制器
6.4.2 STM32F103 中斷優先級分組與向量表
6.4.3 STM32F103 外部中斷/事件控制器
6.4.4 EXTI 相關寄存器
6.5 通用輸入/輸出埠
6.5.1 GPIO 基本結構
6.5.2 GPIO 寄存器
6.5.3 GPIO 復用
6.6 定時器
6.6.1 基本定時器
6.6.2 基本定時器相關寄存器
6.6.3 通用定時器的內部結構
6.6.4 通用定時器相關寄存器
6.6.5 高級定時器
6.7 模數轉換
6.7.1 ADC 特性
6.7.2 ADC 內部結構
6.7.3 ADC 相關寄存器簡介
6.8 STM32F103 的最小系統
本章小結
習題
第 7 章 STM32 庫函數及應用舉例
7.1 STM32 庫函數簡介
7.1.1 STM32 庫函數概述
7.1.2 固件庫函數文件描述
7.1.3 STM32 編碼規範
7.1.4 外設的初始化和設置
7.2 STM32 常用庫函數
7.2.1 通用輸入/輸出庫函數
7.2.2 外部中斷/事件控制器庫函數
7.2.3 通用定時器庫函數
7.3 STM32 庫函數編程實例
7.3.1 STM32 GPIO 庫函數編程實例
7.3.2 STM32 EXTI 庫函數編程實例
7.3.3 STM32 TIM 庫函數編程實例
本章小結
習題
第 8 章 嵌入式實時作業系統 μC/OS 在 STM32 上的移植
8.1 嵌入式實時作業系統概述
8.1.1 嵌入式作業系統簡介
8.1.2 常用嵌入式實時作業系統簡介
8.2 μC/OS-II 實時作業系統簡介
8.2.1 μC/OS-II 實時作業系統的結構
8.2.2 任務及其調度
8.2.3 信號量與郵箱
8.2.4 消息隊列、信號量集和軟體定時器
8.3 μC/OS-II 實時作業系統的移植
本章小結
習題
參考文獻 

▲上下滑動查看更多

  

 

ISBN 978-7-03-066793-9

責任編輯:姜紅 韓海童

 

本書首先介紹嵌入式系統基本概念及開發設計方法,然後以 8 位微控制器為基礎,介紹晶片的內部組成、結構、資源等嵌入式系統硬體基本知識,再詳細介紹嵌入式程序設計基礎及編碼規範,最後介紹 32 位 ARM 嵌入式系統的開發方法。本書共分 8 章,每章後附習題,便於讀者學習嵌入式系統知識,掌握嵌入式系統應用開發基本技術。


本書結構緊湊、語言簡練,講解由淺入深、通俗易懂,適合作為高等學校相關專業的本科生和研究生教材,也可供從事嵌入式系統開發應用的工程技術人員、科研人員學習和參考。

一起閱讀科學!

科學出版社東北分社│微信ID:gh-d324682890c0

專業品質  學術價值

原創好讀  科學品味

點擊「閱讀原文」可購買本書!

相關焦點

  • 嵌入式及物聯網基礎實驗系統
    摘 要:針對目前高校嵌入式人才培養難度大的問題,將開源創客平臺Arduino引入嵌入式實驗教學中,研製了嵌入式及物聯網基礎實驗系統,3年的實驗教學表明:實驗系統降低了嵌入式學習的門檻和難度,在嵌入式人才培養教學過程中發揮了重要作用。
  • 嵌入式系統設計與應用教與學(大綱+教案+視頻)
    通過本課程的學習,使學生了解有關嵌入式系統的基本原理和設計方法,初步掌握嵌入式系統開發的過程、開發工具使用及常用的基本理論知識,如:交叉編譯、文件處理、進程管理、串口通信、網絡通信、嵌入式設備驅動等,使學生對於嵌入式系統的開發有一個系統的知識支撐,後續能夠快速投入嵌入式相關的工作開發。
  • 嵌入式系統的面面觀
    從技術的角度定義:以應用為中心,以計算機技術為基礎,軟體硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、重量、功耗嚴格要求的專用計算機系統。簡而言之,是含有處理器的專用軟硬體系統,具有自主的信息處理能力( 信息裝備)。從系統的角度定義:嵌入式系統是設計完成複雜功能的硬體和軟體,並使 其緊密耦合在一起的計算機系統。
  • 優秀嵌入式系統設計的秘訣
    隨著嵌入式系統不斷普及,我們可以從積累的開發知識中獲得巨大優勢,構建更出色的系統。工程師一刻也沒忘記交付能同時滿足質量、時間安排和預算目標的項目的需求。一個事半功倍的方法 就是借鑑嵌入式系統開發人員社區多年來累計的經驗教訓。下面我們就來了解一些為嵌入式開發帶來了最佳實踐的重要經驗。大家隨用隨取哈。
  • ARM7嵌入式系統中Bootloader分析與設計
    在嵌入式系統開發中Bootloader常常是嵌入式系統開發中可能遇到的第一個技術難點。應用程式運行環境能否正確構建,內核能否啟動成功,都取決於Bootloader能否正確的工作。一個功能完善的嵌入式系統Bootloader還要求能夠提供系統更新的能力,以及為了實現這一操作所需要的一個簡單的命令控制臺。
  • 嵌入式系統課程的教與學
    本課程的主要任務是學習嵌入式系統基本理論及其應用,學習嵌入式系統的組成及應用的知識;培養分析與設計嵌入式系統的基本能力;培養自學、分析問題和解決問題的能力,以及認真負責的工作態度和嚴謹細緻的工作作風。二、理論教學基本要求學生學完本課程後,應達到如下要求:1.熟悉嵌入式系統的基本概念;掌握ARM微處理器體系結構的基礎知識。
  • 基於CPCI的嵌入式系統的電源設計
    1 引言 嵌入式系統廣泛應用於控制和通信領域。而這些系統運行速度高,系統較複雜,常常集成超大規模FPGA器件、DSP器件、DDR存儲器以及各種接口電路。這對電源的輸出電壓值、功耗、電壓精度、上電順序以及電源完整性提出更高的要求。
  • 嵌入式作業系統是什麼_嵌入式作業系統有哪些
    嵌入式作業系統負責嵌入式系統的全部軟、硬體資源的分配、任務調度,控制、協調並發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。   接下來跟隨小編來了解一下常用的十款嵌入式作業系統吧。
  • 嵌入式系統設計的三個層次,你處在哪一層?
    計算機硬體平臺性能的大幅度提高,使很多複雜算法和方便使用的界面得以實現,大大提高了工作效率,給複雜嵌入式系統輔助設計提供了物理基礎。豐富的IP內核模塊庫為快速地設計專用集成電路和單片系統以及儘快佔領市場提供了基本保證。  軟體技術的進步,特別是嵌入式實時作業系統EOS(Embedded Operation System)的推出,為開發複雜嵌入式系統應用軟體提供了底層支持和高效率開發平臺。EOS是一種功能強大、應用廣泛的實時多任務系統軟體。
  • 按鍵與菜單在嵌入式系統中的設計與應用
    根據實際不同的設計,本文主要介紹了在嵌入式系統中按鍵的軟、硬體設計及菜單和程序模式之間的關係。二、按鍵的軟、硬體設計在嵌入式系統中,按鍵是常用的人機互動接口,其硬體電路設計的質量直接關係著最終產品的使用,決定著用戶對產品的第一印象,所以,決不可輕視按鍵設計在電路中的作用。
  • 關於嵌入式系統的分類與特點
    美國著名未來學家尼葛洛龐帝99年1月訪華時預言,4~5年後嵌入式智能(電腦) 工具將是PC和網際網路之後最偉大的發明。我國著名嵌入式系統專家沈緒榜院士98年11月在武漢全國第11次微機學術交流會上發表的《計算機的發展與技術》一文中,對未來10年以嵌入式晶片為基礎的計算機工業進行了科學的闡述和展望。
  • 嵌入式設備上的文件系統優化設計
    嵌入式Linux作業系統在未來的手持智能設備中將扮演著非常重要的角色,使嵌入式Linux的應用和研究不斷的深入。由於Microsoft公司的Windows作業系統佔據了桌面作業系統絕大多數份額,而手持智能設備與PC機的數據交換又在所難免,因此,絕大多數的大容量嵌入式智能設備必須採用與PC機兼容的FAT/FAT32文件系統。
  • 官宣|嵌入式系統設計工程技術人員能力認證考試中心正式揭牌!
    2021年11月19日,全國首個嵌入式系統設計工程技術人員能力認證考試中心
  • 設計嵌入式系統時選用NI LabVIEW的10大理由
  • 嵌入式機車車輛車載播放系統軟體設計與實現
    Qt/Embedded(簡稱QT/E)是一個專門為嵌入式系統設計圖形用戶界面的工具包,是NOKIA公司的圖形化界面開發工具Qt的嵌入式版本,它通過QtAPI與LinuxI/O以及Framebuffer直接交互,擁有較高的運行效率,而且整體採用面向對象編程,擁有良好地體系架構和編程模式。
  • 嵌入式系統高級C語言編程
    內容簡介  《嵌入式系統高級C語言編程》將主要介紹針對嵌入式系統的基於C語言的軟體項目開發的流程,較為複雜的c語言編程知識和技巧,編程風格和調試習慣
  • GitHub標星139K的:「嵌入式Linux系統開發教程」
    各部分內容如下:第一部分為基礎知識篇:主要講解嵌入式系統與Linux 相關的基礎知識第1章為嵌入式系統基礎,主要講解嵌入式相關的概念、歷史、應用及前景;第2章為Linux概論,主要是與Linux基礎相關的知識,如Linux桌面系統、Linux常用軟體的使用及Linux常見命令等;第3章為ARM體系架構,主要介紹ARM架構的相關知識,如ARM 指令集、ARM
  • 第一屆全國大學生嵌入式晶片與系統設計競賽暨2018年中國嵌入式技術創新應用高端論壇在南京順利舉行
    為了加強全國高校學生在嵌入式集成電路及其應用系統設計領域的創新設計與工程實踐能力
  • 嵌入式系統概述及與單片機區別說明
    嵌入式系統的全稱是嵌入式系統。英語是嵌入式系統。它是一種「為特定應用而設計的專用計算機系統,完全嵌入在受控設備中」。根據英國電氣工程師學會的定義,嵌入式系統是用於工廠運行的控制、監控或輔助設備、機器或設備。從這裡我們可以看出兩點。首先,嵌入式不是通用設備。
  • 嵌入式系統測試題(附詳細解析)
    A)  嵌入式系統與具體應用緊密結合,具有很強的專用性 B)  嵌入式系統通常包含在非計算機設備(系統)中,具有隱蔽性 C)  嵌入式系統的軟硬體資源往往受到嚴格的限制 D)  嵌入式系統性能較低,價格也比較便宜【解析】:與人們日常使用的個人計算機相比,嵌入式系統具有許多不同的特點