汽車電子 S32K 系列微控制器 — 基於 ARM Cortex-M4F 內核

王宜懷,邵長星,黃熙

  • 出版商: 電子工業
  • 出版日期: 2018-09-01
  • 定價: $528
  • 售價: 8.5$449
  • 語言: 簡體中文
  • 頁數: 400
  • 裝訂: 平裝
  • ISBN: 7121348411
  • ISBN-13: 9787121348419
  • 相關分類: ARM單晶片
  • 已絕版

買這商品的人也買了...

商品描述

本書基於恩智浦(NXP)公司於2017年推出的面向汽車電子的S32K系列微控制器,以構件化底層驅動為基礎闡述S32K系列微控制器應用程序的設計方法,內容涉及汽車電子技術基礎,S32K系列微控制器的基本特性,ARM Cortex-M4F的相關知識,底層驅動構件設計規範,以及S32K系列微控制器的Systick、PDB、LPIT、LTMR、RTC、FTM、Flash、ADC、CMP、SPI、I2C、DMA、CAN等模塊的程序設計方法。

作者簡介

王宜懷,男,1962年2月生,博士,教授、博士生導師、網絡工程系主任;蘇州大學嵌入式系統與物聯網研究所所長;蘇州市政協常委、中國農工民主黨蘇州市委常委;江蘇省計算機學會嵌入式系統與物聯網專業委員會主任、中國軟件行業協會嵌入式系統分會理事。主要研究方向:嵌入式系統、物聯網與智能控制技術。

目錄大綱

第1章概述(1)
1.1汽車電子技術的基本概念(1)
1.2我國汽車電子發展概況(2)
1.3恩智浦公司在汽車電子市場中的地位(3)
1.4面向汽車電子的S32K系列微控制器簡介(3)
1.4.1 S32K系列微控制器的型號標識(4)
1.4.2 S32K系列微控制器的簡明特性與結構框圖(4)
1.4 .3 S32K系列微控制器的共性資源列表(6)

第2章ARM Cortex-M4F微控制器(7)
2.1 ARM Cortex-M4F微控制器簡介(7)
2.1.1 ARM Cortex-M4F微控制器內部結構概要(8)
2.1.2 ARM Cortex-M4F微控制器存儲器映像(10)
2.1.3 ARM Cortex-M4F微控制器的寄存器(10)
2.2指令系統(14 )
2.2.1指令簡表與尋址方式(15)
2.2.2數據傳送類指令(16)
2.2.3數據操作類指令(18)
2.2.4跳轉控制類指令(21)
2.2.5其他指令(22)
2.3指令集與機器碼對應表(23)
2.4 GNU彙編語言的基本語法(25)
2.4.1 ARM-GUN彙編語言格式( 26)
2.4.2常用偽指令簡介(27)

第3章存儲映像、中斷源與硬件最小系統(30)
3.1 S32K144存儲映像與中斷源(30)
3.1.1 S32K144存儲映像(30)
3.1.2 S32K144中斷源(32)
3 .2 S32K144的引腳功能(35)
3.3.1硬件最小系統引腳(36)
3.2.2 I/O端口資源類引腳(36)
3.3 S32K144硬件最小系統原理圖(37 )
3.3.1電源及其濾波電路(37)
3.3.2復位電路及復位功能(37)
3.3.3晶振電路(38)
3.3.4 SWD接口電路(38)

第4章GPIO及程序框架(39)
4.1通用I/O接口的基本概念及連接方法(39)
4.1.1 I/O接口的概念(39)
4.1.2通用I/O (40 )
4.1.3上拉/下拉電阻與輸入引腳的基本接法(40)
4.1.4輸出引腳的基本接法(41)
4.2端口控制模塊與GPIO模塊的編程結構( 41)
4.2.1端口控制模塊――決定引腳復用功能(41)
4.2.2 GPIO模塊的對外引腳與內部寄存器(44)
4.2.3 GPIO基本編程步驟與基本打通程序(45)
4.3 GPIO驅動構件封裝方法與規範(46)
4.3.1設計GPIO驅動構件的必要性及GPIO驅動構件封裝要點分析(46)
4.3.2底層驅動構件封裝規範概要與構件封裝的前期準備(48)
4.3.3 S32K144的GPIO驅動構件源碼及解析(49)
4.4利用構件方法控制LED閃爍(60)
4.4.1 light構件設計(60)
4.4.2 light構件測試工程主程序(63)
4.5工程文件組織框架與第一個C語言工程分析(65)
4.5.1工程框架及所含文件簡介(66)
4.5.2鏈接文件常用語法及鏈接文件解析(67)
4.5.3機器碼文件解析(71)
4.5.4芯片上電啟動運行過程解析(72)
4.6第一個彙編語言工程:控制小燈閃爍(75)
4.6.1彙編工程文件的組織(76 )
4.6.2彙編語言GPIO驅動構件及使用方法(76)
4.6.3彙編語言Light構件及使用方法(82)
4.6.4彙編語言Light構件測試工程主程序及彙編工程運行過程(84)

第5章嵌入式硬件構件與底層驅動構件基本規範(86)
5.1嵌入式硬件構件(86)
5.1.1嵌入式硬件構件的概念及其分類(87)
5.1. 2基於嵌入式硬件構件的電路原理圖設計簡明規則(87)
5.2嵌入式底層驅動構件的概念與層次模型(90)
5.2.1嵌入式底層驅動構件的概念(90)
5.2.2嵌入式硬件構件和軟件構件的層次模型(91)
5.3底層驅動構件的封裝規範(91)
5.3.1構件設計的基本思想與基本原則(92)
5.3.2編碼風格基本規範(93)
5.3.3構件公共要素文件(96)
5.3.4頭文件的設計規範(98)
5. 3.5源文件的設計規範(99)
5.4硬件構件及底層軟件構件的重用與移植方法(100)
5.4.1硬件構件在實際系統中的應用(100)
5.4.2底層驅動構件的移植(101)

第6章串行通信模塊及第一個中斷程序結構(103)
6.1異步串行通信的通用基礎知識(103)
6.1.1串行通信的基本概念( 104)
6.1.2 RS-232總線標準(105)
6.1.3 TTL電平到RS-232電平轉換電路(106)
6.1.4串行通信編程模型(107)
6.2 UART驅動構件及使用方法(108)
6.2.1 UART引腳分析(108)
6.2.2 UART驅動構件基本要素分析與頭文件(109)
6.2.3 printf的設置方法與使用( 113)
6.3 ARM Cortex-M4F中斷機制及S32K144中斷編程(113)
6.3.1關於中斷的通用基礎知識(113)
6.3.2 ARM Cortex-M4F非內核中斷編程結構(115)
6.3.3 S32K144中斷編程步驟(以串口接收中斷為例) (116 )
6.4 UART驅動構件的設計方法(118)
6.4.1 UART模塊編程結構(118)
6.4.2 UART驅動構件源文件(123)

第7章Timer模塊(132)
7.1 ARM Cortex-M4F內核定時器(Systick) (132)
7.1.1 Systick定時器模塊的編程結構(133)
7.1.2 Systick驅動構件設計及測試工程(134)
7.2延時定時器( PDB)模塊(136)
7.2.1 PDB模塊功能概述(136)
7.2.2 PDB驅動構件及使用方法(136)
7.2.3 PDB驅動構件的設計(139)
7.3低功耗中斷定時器(LPIT)模塊(143)
7.3.1 LPIT模塊功能概述(143)
7.3.2 LPIT驅動構件及使用方法(143)
7.3.3 LPIT驅動構件設計(145)
7 .4低功耗定時器(LPTMR)模塊(150)
7.4.1 LPTMR模塊功能概述(150)
7.4.2 LPTMR驅動構件及使用方法(150)
7.4.3 LPTMR驅動構件的設計(152)
7.5實時時鐘(RTC)模塊(155)
7.5.1 RTC模塊功能概述(155)
7.5.2 RTC驅動構件及使用方法(156 )
7.5.3 RTC驅動構件的設計(160)

第8章PWM模塊和FTM模塊(169)
8.1脈寬調製、輸入捕捉與輸出比較的通用基礎知識(169)
8.1.1 PWM的通用基礎知識(169)
8.1.2輸入捕捉與輸出比較的通用基礎知識(172)
8.2 FTM模塊的基本知識(172)
8.2.1 FTM模塊概述(172)
8.2. 2 FTM模塊的技術要點(173)
8.3 FTM驅動構件及使用方法(174)
8.3.1 FTM模塊的脈寬調製、輸入捕捉和輸出比較的外部引腳(174)
8.3.2 FTM驅動構件頭文件及使用方法(175)
8.4 FTM驅動構件的設計(183)
8.4.1 FTM模塊編程結構(183)
8.4.2 FTM驅動構件設計(187)

第9章Flash模塊(196)
9.1 Flash存儲器的基礎知識(196)
9.1.1 Flash存儲器的特性(196)
9.1.2 Flash存儲器的編程模式(197)
9.1.3 Flash存儲器的基本操作(197)
9.2 Flash驅動構件及其使用方法(197)
9.2.1 Flash驅動構件頭文件解析(197)
9.2.2 Flash驅動構件的使用方法(200)
9.3 Flash保護(201)
9 .3.1 Flash模塊保護的含義及保護函數的使用說明(201)
9.3.2 Flash模塊加密方法與去除密碼方法(202)
9.4 Flash驅動構件的設計(203)
9.4.1 Flash模塊編程結構(203)
9.4.2 Flash驅動構件設計技術要點(207)
9.4.3 Flash驅動構件封裝要點分析(209)
9.4.4 Flash驅動構件的源文件(flash.c ) (210)

第10章ADC模塊與CMP模塊(218)
10.1模/數轉換器(ADC)模塊(218)
10.1.1 ADC模塊的通用基礎知識(218)
10.1.2 ADC模塊驅動構件及使用方法(221)
10.1.3 ADC驅動構件的設計(225)
10.2比較器(CMP)模塊(233)
10.2.1 CMP模塊的通用基礎知識(233)
10. 2.2 CMP驅動構件及使用方法(234)
10.2.3 CMP驅動構件的設計(238)

第11章SPI模塊與I2C模塊(244)
11.1串行外設接口(SPI)模塊(244 )
11.1.1 SPI模塊的通用基礎知識(244)
11.1.2 SPI驅動構件及使用方法(247)
11.1.3 SPI驅動構件的設計(252)
11.2集成電路互連(I2C )總線模塊(262)
11.2.1 I2C模塊的通用基礎知識(262)
11.2.2 I2C驅動構件及使用方法(267)
11.2.3 I2C驅動構件的設計(273)

第12章DMA模塊(291)
12.1 DMA模塊通用基礎知識(291)
12.1.1 DMA模塊的基本概念(291)
12.2.1 DMA模塊的基本操作(292)
12.2 DMA驅動構件及其使用方法(293)
12.2.1 DMA源(293)
12.2.2 DMA驅動構件封裝要點(294)
12.2.3 DMA驅動構件頭文件(dma.h) (295)
12.2. 4 DMA驅動構件的使用方法(299)
12.2.5 DMA驅動構件測試實例(299)
12.3 DMA驅動構件的設計(300)
12.3.1 DMA模塊編程結構(300)
12.3. 2 DMA驅動構件源程序(309)

第13章FlexCAN模塊(314)
13.1 CAN總線的基礎知識(314)
13.1.1 CAN總線協議的歷史概況(314)
13.1.2 CAN總線硬件系統的典型電路(315)
13.1.3 CAN總線協議的基本概念(317)
13.1.4 CAN總線規範的幀結構(319)
13.1.5 CAN總線的位時間(323)
13.1.6 FlexCAN模塊的操作模式(324)
13.1.7 FlexCAN模塊的仲裁處理、匹配處理及報文緩衝區管理(325)
13.2 FlexCAN驅動構件及使用方法(326)
13.2.1 FlexCAN驅動構件頭文件的解析(326)
13.2.2 FlexCAN驅動構件的頭文件(327)
13.2.3 FlexCAN驅動構件的使用方法(330)
13.2. 4 FlexCAN驅動構件的測試實例(331)
13.3 FlexCAN驅動構件的設計(331)
13.3.1 FlexCAN模塊編程結構(331)
13.3.2 FlexCAN驅動構件的源程序(353)

第14章系統時鐘與其他功能模塊(361)
14.1時鐘系統模塊(361)
14.1.1時鐘系統概述(361)
14.1.2時鐘模塊概要與編程要點(364)
14.2電源模塊(365 )
14.2.1電源模式控制(365)
14.2.2電源模式轉換(365)
14.3校驗模塊(366)
14.3.1 CRC模塊簡介(367)
14.3.2 CRC校驗和的生成步驟(367)
14.3.3 CRC模塊的主要寄存器(367)
14.4看門狗模塊(368)
14 .5復位模塊(369)
14.5.1上電複位(POR) (369)
14.5.2系統復位源(370)
14.5.3調試復位(371)

附錄A S32K144芯片引腳復用功能(372)
附錄B最小硬件系統原理圖(376)
附錄C printf的常用格式(377)
附錄D S32DS集成開發環境簡明使用方法(380)
附錄E SWD-Programmer快速指南(384)
附錄F術語和縮寫(386)
參考文獻(388)