內容簡介
本書以智能電子産品控製器軟件開發的崗位要求和職業能力為導嚮,以高職高專院校單片機控製係統開發課程的教學要求為依據,進行教學內容的編寫。全文共分為兩個部分:模塊一和模塊二。模塊一為單片機控製電子産品開發基礎,包括6個任務; 模塊二為單片機控製電子産品開發實戰,包括智能鬧鍾程序、電風扇控製器程序、智能小車程序的開發與測試3個任務及其子任務。
作者簡介
牛俊英,女,順德職業技術學院電信學院專職教師,副教授,長期從事電子産品,特彆是傢用電子産品的設計與開發,長期從事高等職業教育單片機類課程的教學,具有豐富的實踐和教學經驗。
目錄
目錄
導論
0��1電子企業的企業架構
0��2單片機控製器項目開發流程
0��3項目軟件開發典型工作任務與職業能力分析
0��4教材內容安排
模塊一單片機控製電子産品開發基礎
任務1��1單片機端口初始化
任務目標
知識鏈接
1��1��1單片機及開發平颱介紹
1��1��2單片機C語言簡單介紹
1��1��3數據類型
1��1��4常量
1��1��5單片機初始化簡介
1��1��6思考與練習
任務實施
任務1��2上電蜂鳴器鳴叫一聲
任務目標
知識鏈接
1��2��1變量
1��2��2運算符與錶達式
1��2��3程序設計結構及流程圖繪製
1��2��4if分支結構
1��2��5switch分支結構
1��2��6思考與練習
任務實施
任務1��3指示燈初始化顯示
任務目標
知識鏈接
1��3��1循環結構概述
1��3��2while語句
1��3��3do while語句
1��3��4for語句
1��3��5break和continue語句
1��3��6思考與練習
任務實施
任務1��4數碼管初始化顯示
任務目標
知識鏈接
1��4��1函數概述
1��4��2函數使用實例
1��4��3中斷函數
1��4��4變量的作用域和生存期
1��4��5數組
1��4��6LED顯示程序開發
1��4��7思考與練習
任務實施
任務1��5自檢程序開發
任務目標
知識鏈接
1��5��1結構體、共用體和位段結構
1��5��2指針
1��5��3按鍵類彆及識彆原理
1��5��4按鍵程序處理
任務實施
任務1��6連接綫檢測工具程序開發與測試
任務目標
知識鏈接
1��6��1功能說明書的解讀與撰寫
1��6��2控製器完整程序開發與測試
任務實施
模塊二單片機控製電子産品開發實戰
任務2��1智能鬧鍾程序的開發與測試
子任務2��1��1電子智能鬧鍾的需求分析及産品功能說明書
任務目標
知識鏈接
任務實施
子任務2��1��2電子智能鬧鍾的硬件設計及電路分析
任務目標
知識鏈接
任務實施
子任務2��1��3智能鬧鍾係統軟件整體框架及初始化
任務目標
知識鏈接
任務實施
子任務2��1��4開發智能鬧鍾的LCD顯示界麵
任務目標
知識鏈接
任務實施
子任務2��1��5開發時鍾顯示模塊
任務目標
知識鏈接
任務實施
子任務2��1��6開發智能鬧鍾搖擺次數檢測及處理程序
任務目標
知識鏈接
任務實施
子任務2��1��7開發按鍵模塊
任務目標
知識鏈接
任務實施
子任務2��1��8智能鬧鍾完整程序開發與測試
任務目標
知識鏈接
任務實施
任務2��2電風扇控製器程序的開發與測試
子任務2��2��1項目立項
任務目標
知識鏈接
任務實施
子任務2��2��2電風扇控製器工作模式控製
任務目標
知識鏈接
任務實施
子任務2��2��3完整程序開發、測試及項目驗收
任務目標
任務實施
任務2��3智能小車
子任務2��3��1功能需求分析
任務目標
知識鏈接
任務實施
子任務2��3��2小車行走程序開發
任務目標
知識鏈接
任務實施
子任務2��3��3傳感器信息采集與處理
任務目標
知識鏈接
任務實施
子任務2��3��4完整程序開發
任務目標
知識鏈接
任務實施1完成循跡、避障的智能小車
任務實施2智能小車競賽
附錄A連綫檢測器原理圖
附錄B電子智能鬧鍾係統原理圖
附錄C電風扇控製器原理圖
附錄D智能小車原理圖
參考文獻
前言/序言
單片機控製電子産品項目開發
前言
本教材針對一門省級資源精品共享課,邀請企業開發部部長共同編寫。依據電子産品控製器開發與設計崗位的職業要求,根據工程師在實際工作中對單片機應用的要求,以典型智能電子産品及白色傢電為載體,以電控器開發任務中單片機的使用為中心,設計學習性的常見處理任務,精選教材內容。在教材編寫過程中,貫徹瞭以下原則:
1.以典型的智能電子産品為載體,依照由淺入深、能力逐步提升的原則組織,涉及瞭産品軟件開發的全過程,層次遞進地完成瞭從基礎職業能力的培養到創新與可持續發展能力的提升。
2.注重實際工作任務的設計,按功能說明書的編製、程序設計、程序開發、功能測試等步驟編寫教材,貼近企業真實情況。
3.重視職業能力的培養和提升,以完成完整的商業級程序為目標,除瞭基本的單片機及編程知識,教材更注重介紹真實産品程序設計的思路和方法,落腳於提升學生的職業能力。
本書由牛俊英負責編製提綱和統稿工作,並編寫模塊一的前4個任務和模塊二的任務2,宋玉宏編寫模塊二的任務1,陳瑾彬開發瞭模塊一的學習闆並編寫瞭導言和模塊一的後兩個任務,李景照編寫模塊二的任務3,楊德青負責瞭模塊二涉及的控製器的硬件設計及製作。同時陳瑾彬對全文提齣修改意見。
本書教學參考學時為80學時,模塊1建議學時為40學時,模塊2的任務1和任務2各為20學時,模塊2的任務3建議在課外開展。教學過程中建議采用理論教學一體化教學法,實施過程性考核。
由於編者水平有限,加之時間倉促,本書難免會有疏漏和不妥之處,懇請廣大讀者批評指正。
編者
2016年11月
《嵌入式係統硬件設計與實踐》 一、本書內容概要 本書是一本麵嚮電子工程、自動化、計算機科學及相關專業的學生和工程師的進階教材,深入剖析瞭嵌入式係統硬件設計的核心原理、關鍵技術和實際應用。全書圍繞“從理論到實踐,從基礎到進階”的邏輯展開,旨在幫助讀者構建紮實的硬件設計基礎,掌握現代嵌入式係統設計的流程和方法,並能夠獨立完成具有挑戰性的嵌入式項目。 本書共分為十六章,內容涵蓋瞭從基本的數字電路理論到復雜的SoC(System on Chip)設計,從低功耗設計到高可靠性設計,從接口電路設計到嵌入式操作係統硬件支持等多個維度。我們力求理論講解透徹,結閤豐富的實例,讓讀者在理解原理的同時,也能掌握實際操作技巧。 二、詳細內容介紹 第一部分:嵌入式係統硬件設計基礎 第一章:數字邏輯基礎與時序分析 本章將迴顧並深化數字邏輯的基本概念,包括布爾代數、邏輯門、組閤邏輯電路(如譯碼器、多路選擇器、加法器)和時序邏輯電路(如觸發器、寄存器、計數器)。 重點將放在時序分析上,講解建立時間和保持時間的概念,時鍾信號的作用,以及如何分析和避免競爭冒險和亞穩態問題。 介紹常用的數字邏輯設計工具,如VHDL/Verilog HDL語言的基礎語法及其在FPGA/ASIC設計中的初步應用。 通過簡單的時序邏輯電路設計實例,讓讀者理解時序控製在嵌入式係統中的重要性。 第二章:存儲器接口與訪問機製 深入分析各種類型的存儲器,包括SRAM、DRAM、Flash Memory(NOR/NAND)、EEPROM等,講解它們的內部結構、讀寫時序和電氣特性。 詳細介紹存儲器與CPU的接口電路設計,包括地址總綫、數據總綫和控製信號的設計與匹配。 講解存儲器映射(Memory Mapping)的概念,以及CPU如何通過地址解碼來訪問不同的存儲器區域。 介紹緩存(Cache)的工作原理和對係統性能的影響,以及如何設計高效的存儲器訪問控製器。 通過實際存儲器接入電路的設計示例,引導讀者理解如何根據係統需求選擇閤適的存儲器類型和設計接口。 第三章:輸入/輸齣(I/O)接口電路設計 本章將聚焦於嵌入式係統中常見的I/O接口電路設計,包括GPIO(General Purpose Input/Output)、中斷控製器、DMA(Direct Memory Access)控製器等。 詳細講解GPIO的配置、工作模式(如推挽輸齣、開漏輸齣、輸入上拉/下拉)以及如何通過GPIO實現簡單的輸入檢測和輸齣控製。 深入剖析中斷機製,講解中斷的産生、響應、優先級管理和中斷嚮量錶的作用,以及如何設計高效的中斷處理硬件。 詳細介紹DMA的工作原理,包括DMA請求、傳輸模式(如單次傳輸、周期傳輸、塊傳輸)以及如何配置DMA控製器以減輕CPU的負擔,提升數據傳輸效率。 通過設計基於GPIO的LED指示燈和按鍵輸入電路,以及基於中斷的外部事件響應係統,讓讀者掌握I/O接口電路的基本設計。 第四章:時鍾與復位電路設計 本章是理解嵌入式係統穩定運行的關鍵。我們將深入講解各種時鍾源,包括晶振、RC振蕩器、PLL(Phase-Locked Loop)等,以及它們的選型和特性。 詳細闡述時鍾信號的分配、緩衝和分頻,以及如何設計低抖動、高穩定性的時鍾樹。 重點講解復位電路的設計,包括上電復位、外部復位和看門狗復位,以及如何確保係統在異常情況下能夠可靠地恢復。 介紹時鍾和復位信號的時序要求,以及如何避免時鍾和復位信號的衝突。 通過設計一個包含晶振、時鍾發生器和基本復位邏輯的電路,讓讀者理解時鍾和復位電路的設計要點。 第五章:電源管理與低功耗設計 隨著便攜式設備和物聯網設備的興起,低功耗設計已成為嵌入式係統硬件設計的重中之重。本章將係統介紹電源管理的基本概念和技術。 講解不同類型的電源轉換器,包括LDO(Low Dropout Regulator)、DC-DC開關電源,以及它們的效率、紋波和噪聲特性。 深入探討低功耗設計策略,包括動態電壓調整(DVS)、動態頻率調整(DFS)、時鍾門控(Clock Gating)、電源門控(Power Gating)等。 介紹嵌入式係統中的低功耗模式,如休眠模式、待機模式等,以及如何通過硬件設計來支持這些模式的快速切換。 通過分析一個低功耗嵌入式設備的功耗構成,並提齣相應的優化方案,讓讀者掌握低功耗設計的實際方法。 第二部分:嵌入式係統硬件關鍵模塊設計 第六章:ADC與DAC接口設計 本章將詳細介紹模數轉換器(ADC)和數模轉換器(DAC)的工作原理、關鍵參數(如分辨率、采樣率、綫性度、轉換時間)及其選型。 深入講解ADC/DAC與微控製器的接口電路設計,包括模擬信號的調理(如放大、濾波)、參考電壓的生成和數字接口(如SPI、I2C)的配置。 討論采樣定理、混疊效應以及抗混疊濾波器的設計。 通過設計一個采集模擬傳感器信號並輸齣控製信號的係統,讓讀者理解ADC/DAC在數據采集和控製中的應用。 第七章:通信接口電路設計(UART, SPI, I2C) 本章重點介紹嵌入式係統中常用的串行通信接口:UART(通用異步收發傳輸器)、SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)。 詳細講解每種接口的工作原理、通信協議、信號時序和電氣特性。 介紹這些接口在連接傳感器、外部存儲器、顯示器等設備時的實際應用。 講解如何設計和配置相應的硬件接口電路,以及如何進行通信參數的設置(如波特率、時鍾頻率、地址)。 通過實例演示,如使用UART與PC進行通信,使用SPI驅動SPI Flash,使用I2C讀取溫度傳感器數據。 第八章:通信接口電路設計(USB, Ethernet, CAN) 在上一章的基礎上,本章將進一步深入探討更復雜的通信接口,包括USB(Universal Serial Bus)、Ethernet(以太網)和CAN(Controller Area Network)。 詳細介紹USB協議的層次結構、總綫拓撲、設備類型(如HID、CDC)以及主機和設備端接口電路的設計。 講解以太網接口的工作原理、MAC層和PHY層,以及如何連接以太網控製器和物理接口。 深入分析CAN總綫的工作原理、幀格式、衝突檢測和仲裁機製,以及在汽車電子、工業控製等領域中的應用。 通過設計一個簡單的USB設備接口或CAN通信節點,讓讀者瞭解這些高級接口的設計要點。 第九章:顯示驅動與人機交互接口 本章將聚焦於嵌入式係統中常見的顯示技術和人機交互方式。 詳細介紹LCD(Liquid Crystal Display)和OLED(Organic Light-Emitting Diode)顯示屏的工作原理、驅動接口(如RGB、MIPI DSI)和時序控製。 講解觸摸屏(電阻式、電容式)的原理、接口(如SPI、I2C)及其與主控芯片的連接。 介紹其他常見的人機交互設備,如按鍵、編碼器、指示燈等,以及如何設計相應的接口電路。 通過驅動一個簡單的LCD顯示屏並響應觸摸輸入,讓讀者掌握顯示和交互接口的設計。 第十章:傳感器信號處理與采集 傳感器是嵌入式係統感知外部世界的“眼睛”和“耳朵”。本章將深入探討各種傳感器的接口和信號處理技術。 介紹常見傳感器類型,如溫度、濕度、壓力、加速度、光照等,以及它們的測量原理和輸齣信號類型(模擬/數字)。 詳細講解傳感器與微控製器接口的連接方式,包括直接連接、通過ADC/DAC轉換、或通過專用傳感器接口(如I2C, SPI)。 討論信號調理技術,如放大、濾波、偏置補償等,以提高測量精度和抗乾擾能力。 介紹傳感器數據融閤和校準技術,以及如何提高整體測量係統的性能。 通過設計一個多傳感器數據采集係統,讓讀者掌握傳感器接口設計和信號處理的實踐技巧。 第三部分:嵌入式係統高級設計與應用 第十一章:FPGA在嵌入式係統中的應用 本章將介紹FPGA(Field Programmable Gate Array)作為嵌入式係統硬件加速和定製化功能實現的重要平颱。 講解FPGA的基本結構、邏輯單元、布綫資源和配置方式。 重點介紹使用VHDL/Verilog HDL進行硬件描述語言(HDL)編程,設計數字邏輯電路,並將其映射到FPGA上。 討論FPGA在嵌入式係統中實現高性能數據處理、定製化接口、硬件加速器等方麵的優勢。 通過設計一個簡單的FPGA模塊,例如一個數據處理單元或一個高速接口控製器,來演示其應用。 第十二章:SoC(System on Chip)架構與設計 本章將深入探討現代嵌入式係統中普遍采用的SoC架構。 講解SoC的核心組成部分,包括CPU核、GPU、DSP、存儲控製器、通信接口、外圍設備等,以及它們之間的互連方式(如AMBA總綫)。 討論SoC的設計流程,包括IP核選型、係統集成、驗證和物理實現。 介紹SoC在功耗、性能和成本方麵的權衡。 通過分析一個典型SoC的框圖,讓讀者理解SoC設計的復雜性和關鍵技術。 第十三章:嵌入式係統中的總綫與互連技術 本章將係統介紹嵌入式係統中常用的總綫和互連技術。 詳細講解片內總綫,如AHB(Advanced High-performance Bus)、APB(Advanced Peripheral Bus)等,以及它們在SoC內部通信中的作用。 介紹片外總綫,如DDR、PCIe、QSPI等,以及它們在擴展係統功能、連接外部設備中的重要性。 討論總綫的仲裁機製、數據傳輸協議和性能優化。 通過對比不同總綫的特性和應用場景,幫助讀者選擇閤適的技術。 第十四章:硬件調試與測試方法 成功的嵌入式項目離不開有效的硬件調試和測試。本章將介紹相關的技術和方法。 講解常用的調試工具,如邏輯分析儀、示波器、JTAG/SWD調試器,以及它們在信號測量、時序分析和故障診斷中的應用。 介紹硬件仿真的概念和常用仿真工具。 討論單元測試、集成測試和係統測試的策略和流程。 講解如何設計測試電路和測試用例,以確保硬件設計的正確性和可靠性。 通過一個實際的硬件調試案例,演示如何定位和解決硬件問題。 第十五章:嵌入式係統中的安全性設計 隨著網絡攻擊的增加,嵌入式係統的安全性設計變得越來越重要。本章將探討相關的硬件層麵安全技術。 介紹常見的安全威脅,如側信道攻擊、固件篡改、非法訪問等。 講解硬件安全模塊(HSM)的作用,包括加密加速、安全啓動、密鑰管理等。 討論安全啓動(Secure Boot)機製,防止未經授權的固件運行。 介紹安全存儲(Secure Storage)技術,保護敏感數據。 通過分析一個安全加固的嵌入式設備設計,讓讀者理解硬件安全設計的重要性。 第十六章:嵌入式係統硬件設計的未來趨勢 本章將展望嵌入式係統硬件設計的未來發展方嚮。 討論低功耗、高性能、高集成度等持續性的設計目標。 探討人工智能(AI)和機器學習(ML)在硬件設計中的應用,例如AI加速器、智能優化工具等。 介紹RISC-V等開放指令集架構(ISA)的興起及其對嵌入式硬件生態的影響。 展望物聯網(IoT)、5G、邊緣計算等新興技術對嵌入式硬件提齣的新挑戰和機遇。 鼓勵讀者持續學習和探索,跟上技術發展的步伐。 三、本書特點 理論與實踐相結閤: 本書不僅深入淺齣地講解嵌入式係統硬件設計的理論基礎,更注重通過豐富的實例和工程實踐來鞏固和提升讀者的動手能力。 內容全麵且深入: 覆蓋瞭嵌入式係統硬件設計的各個關鍵環節,從基礎數字電路到SoC架構,從通信接口到安全性設計,內容廣博且不乏深度。 麵嚮實際應用: 強調實際工程中的設計思路、方法和技巧,幫助讀者解決實際開發中遇到的問題。 循序漸進的組織結構: 全書內容按照由淺入深、由易到難的邏輯順序組織,便於不同層次的讀者進行學習。 前沿技術展望: 最後一章對未來嵌入式硬件設計趨勢的探討,為讀者指明瞭學習和研究的方嚮。 四、目標讀者 高等院校電子工程、自動化、計算機科學、通信工程等專業的本科生和研究生。 從事嵌入式係統硬件設計、開發和測試的工程師。 對嵌入式係統硬件感興趣的愛好者和項目開發者。 五、學習本書的收獲 通過學習本書,讀者將能夠: 深刻理解嵌入式係統硬件設計的核心原理和關鍵技術。 掌握多種常用接口電路的設計和實現方法。 具備分析和解決嵌入式係統硬件問題的能力。 能夠獨立完成中小型嵌入式硬件項目的開發。 為進一步學習嵌入式軟件開發或更高級的硬件設計奠定堅實基礎。 瞭解嵌入式係統硬件設計的最新發展動態和未來趨勢。 本書緻力於成為您在嵌入式係統硬件設計領域探索的有力夥伴,引導您從理論走嚮實踐,從入門走嚮精通。