描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121340499丛书名: 物联网与人工智能应用开发丛书
第1章 微控制器开发基础 001
1.1 微控制器的发展与趋势 002
1.2 ARM Cortex-M微控制器内核 006
1.2.1 ARM与Cortex处理器的发展 006
1.2.2 Cortex-M家族成员 007
1.2.3 Cortex-M内核技术特点与优势 010
1.3 CMSIS微控制器外设库 014
1.4 Cortex-M集成开发环境和调试工具 018
1.4.1 集成开发环境 018
1.4.2 调试工具 019
1.5 恩智浦LPC5411X系列低功耗通用微控制器 021
1.5.1 家族成员与功能概要 021
1.5.2 系统框图与内存映射 023
1.5.3 评估板与扩展板介绍 024
1.6 小结 025
第2章 MCUXpresso软件与工具开发套件 027
2.1 MCUXpresso IDE集成开发环境 028
2.1.1 MCUXpresso IDE的主要特性 029
2.1.2 安装MCUXpresso IDE 029
2.1.3 初识MCUXpresso IDE 031
2.2 MCUXpresso Config Tools配置工具 033
2.2.1 SDK生成器工具 033
2.2.2 Pins Tool引脚分配工具 036
2.2.3 Clocks Tool时钟配置工具 037
2.3 MCUXpresso SDK软件开发套件 038
2.3.1 架构分析 038
2.3.2 文件目录 040
2.3.3 外设驱动命名与依赖 041
2.3.4 外设驱动API 043
2.4 实例:Hello world 052
2.5 小结 058
第3章 微控制器的启动过程 059
3.1 上电启动后硬件自动执行的操作序列 061
3.2 从复位中断向量进入C程序的世界 062
3.2.1 复位中断函数概述 062
3.2.2 详解LPC54114的启动代码 064
3.3 LPC54114的BootLoader 075
3.3.1 BootLoader概述 075
3.3.2 BootLoader在LPC54114上的应用 076
3.4 小结 081
第4章 时钟子系统与管理 083
4.1 LPC54114的片上时钟系统 084
4.1.1 时钟源 085
4.1.2 上电后默认情况下的时钟系统 086
4.1.3 使用PLL获取更高频率的时钟信号 087
4.2 MCUXpresso SDK时钟管理API 090
4.2.1 常用时钟管理API 090
4.2.2 MCUXpresso SDK应用程序中配置时钟的典型框架 094
4.3 MCUXpresso时钟配置工具Clock Tool简介 095
4.3.1 概述 095
4.3.2 在Clock Tool中创建LPC54114Xpresso板配置工程 097
4.4 实例:使用PLL倍频输出产生系统时钟 102
4.5 小结 106
第5章 IO子系统与中断 107
5.1 IO子系统的相关硬件模块 108
5.1.1 IOCON IO引脚配置模块 108
5.1.2 GPIO通用输入/输出模块 109
5.1.3 PINT 引脚中断模块 110
5.1.4 INPUT MUX 输入复用器 110
5.2 MCUXpresso SDK中的GPIO与PINT驱动 111
5.2.1 GPIO驱动API 112
5.2.2 PINT驱动API 113
5.3 MCUXpresso时钟配置工具Pin Tool应用 116
5.3.1 概述 116
5.3.2 在MCUXpresso SDK工程中用Pin Tool分配引脚功能 117
5.4 实例:通过按键控制LED 121
5.5 小结 125
第6章 DMA原理与应用 127
6.1 DMA控制器概述 128
6.2 DMA特性和内部框图 128
6.2.1 LPC5411x DMA特性 128
6.2.2 DMA内部框图 129
6.3 DMA 外部引脚描述 130
6.4 DMA的几个概念和功能说明 131
6.4.1 DMA的工作原理 131
6.4.2 DMA请求和触发 131
6.4.3 DMA传输描述符 134
6.4.4 DMA传输模式 136
6.4.5 DMA低功耗模式 139
6.5 DMA模块的SDK驱动介绍 140
6.6 实例:从DMA Memory到Memory的数据传输 144
6.6.1 环境准备 145
6.6.2 代码分析 145
6.6.3 实验现象 148
6.7 小结 149
第7章 ADC数模转换器原理与应用 151
7.1 逐次逼近型ADC工作原理和过程 153
7.2 ADC数模转换器常用性能指标 154
7.3 ADC特性和内部框图 155
7.3.1 ADC特性 155
7.3.2 ADC内部框图 156
7.4 ADC外部引脚描述 156
7.5 ADC功能说明 157
7.5.1 ADC时钟 157
7.5.2 转换序列 158
7.5.3 触发转换 159
7.5.4 转换模式 159
7.5.5 转换输出 160
7.5.6 偏移误差校准 161
7.6 ADC模块的SDK驱动介绍 161
7.7 实例:使用ADC测量内部温度 164
7.7.1 环境准备 164
7.7.2 代码分析 165
7.7.3 现象描述 170
7.8 小结 171
第8章 USART异步串行通信接口原理与应用 173
8.1 USART控制器概述 174
8.2 USART模块特性和内部框图 175
8.2.1 LPC5411x USART特性 175
8.2.2 LPC5411x USART内部框图 176
8.3 Flexcomm接口概述 176
8.3.1 Flexcomm功能说明 177
8.3.2 Flexcomm内部框图 177
8.4 USART外部引脚描述 178
8.4.1 USART模块引脚功能定义 178
8.4.2 USART引脚配置说明 179
8.5 USART基本功能说明 179
8.5.1 USART模块初始化 180
8.5.2 USART的时钟源与波特率配置 180
8.5.3 收发控制 182
8.5.4 低功耗模式下USART的唤醒 182
8.6 USART模块的SDK驱动介绍 183
8.7 USART数据收发 189
8.7.1 环境准备 190
8.7.2 代码分析 191
8.7.3 现象描述 195
8.8 小结 195
第9章 SPI同步串行通信接口原理与应用 197
9.1 SPI控制器概述 198
9.2 SPI特性和内部框图 198
9.2.1 LPC5411x SPI特性 198
9.2.2 SPI内部框图 199
9.3 SPI 外部引脚描述 200
9.4 SPI功能说明 201
9.4.1 SPI工作模式 201
9.4.2 SPI时钟源和数据传输速率 203
9.4.3 超出16位的数据传输 204
9.4.4 低功耗模式下SPI唤醒 205
9.4.5 SPI数据帧延迟 205
9.5 SPI模块的SDK驱动介绍 208
9.6 实例:SPI读/写外部Flash 214
9.6.1 实验目的和环境准备 215
9.6.2 代码分析 216
9.6.3 实验现象 224
9.7 小结 225
第10章 I2C总线接口与应用 227
10.1 I2C控制器概述 228
10.2 I2C特性和内部框图 229
10.2.1 LPC5411x I2C特性 229
10.2.2 I2C内部框图 229
10.3 I2C外部引脚描述 230
10.4 I2C功能说明 232
10.4.1 I2C协议简介 232
10.4.2 I2C总线速率和时钟延伸 233
10.4.3 I2C的寻址方式和低功耗唤醒 235
10.4.4 I2C的死锁和超时机制 238
10.5 I2C模块的SDK驱动 241
10.6 实例:I2C中断方式实现数据收发 249
10.6.1 实验目的和硬件电路设计 249
10.6.2 实例软件设计 250
10.6.3 main文件 251
10.6.4 现象描述 255
10.7 小结 255
第11章 I2S总线协议与应用 257
11.1 I2S总线协议简介 258
11.2 I2S特性和内部框图 260
11.2.1 I2S特性 260
11.2.2 I2S内部框图 261
11.3 I2S外部引脚描述 262
11.4 I2S功能说明 262
11.4.1 I2S时钟 263
11.4.2 数据速率 263
11.4.3 数据帧格式和模式 264
11.4.4 FIFO缓冲区的使用方法 266
11.5 I2S模块的SDK驱动介绍 267
11.6 实例:使用I2S中断方式传输播放音频 271
11.6.1 环境准备 271
11.6.2 代码分析 272
11.6.3 现象描述 276
11.7 小结 277
第12章 FlashlAP在应用编程模块的应用 279
12.1 IAP在应用编程的通用基础知识 280
12.2 IAP命令执行详解 280
12.3 IAP模块的SDK驱动介绍 283
12.4 使用IAP驱动读/写内部Flash 284
12.4.1 环境准备 284
12.4.2 代码分析 284
12.4.3 现象描述 287
12.5 小结 287
第13章 FreeRTOS实时多任务操作系统原理与应用 289
13.1 嵌入式操作系统综述 290
13.1.1 裸跑与使用操作系统的对比 290
13.1.2 嵌入式操作系统基本概念 291
13.2 FreeRTOS实时多任务操作系统介绍 294
13.2.1 FreeRTOS实时多任务操作系统特色 294
13.2.2 FreeRTOS基本功能解读 295
13.2.3 FreeRTOS的软件授权 298
13.3 FreeRTOS的底层结构与ARM平台的移植 298
13.3.1 FreeRTOS源码结构分析 299
13.3.2 内核配置头文件 301
13.3.3 移植宏定义文件 302
13.3.4 ARM平台的移植实现 304
13.3.5 tick定时器——fsl_tickless相关内容说明 308
13.3.6 portasm.s汇编 310
13.4 MCUXpresso SDK中基于FreeRTOS的外设驱动 310
13.4.1 具有操作系统功能的驱动介绍 310
13.4.2 FreeRTOS下的USART发送与接收 312
13.5 LPC5411x SDK中的FreeRTOS例程分析 315
13.5.1 环境准备 315
13.5.2 Main函数分析 315
13.5.3 FreeRTOS的多任务代码分析 317
13.5.4 操作系统环境的调试与实验说明 320
13.6 小结 321
第14章 异构双核处理器框架与应用 323
14.1 多处理器计算 324
14.2 异构双核 325
14.2.1 双核总线架构 325
14.2.2 内核管理 326
14.2.3 内核间通信 327
14.2.4 双核程序布局 327
14.3 双核应用分析 329
14.3.1 基于双核的安全启动 329
14.3.2 运用双核进行显示后处理 330
14.4 多处理器系统服务框架 331
14.4.1 多核管理模块(mcmgr) 331
14.4.2 轻型远端处理器通信框架(RPMsg-Lite) 335
14.4.3 嵌入式远程过程调用(eRPC) 337
14.5 双核应用开发 339
14.5.1 工程配置 339
14.5.2 预定义宏 340
14.5.3 双核启动 341
14.6 实例:双核远程过程调用 346
14.6.1 环境准备 346
14.6.2 代码分析 347
14.6.3 实验结果 349
14.7 小结 351
第15章 微控制器低功耗设计 353
15.1 系统能耗分析 355
15.1.1 动态功耗分析 356
15.1.2 动态功耗指标 357
15.1.3 静态功耗分析 360
15.1.4 静态功耗指标 362
15.1.5 休眠和唤醒 363
15.1.6 系统能耗估算 363
15.2 微控制器低功耗特性 365
15.2.1 系统模块电压调节 365
15.2.2 数字外设时钟控制 366
15.3 微控制器低功耗应用设计方法 366
15.3.1 硬件设计 366
15.3.2 软件设计 367
15.4 MCUXPRESSO SDK功耗管理库 374
15.5 小结 376
第16章 基于LPC54114和SDK的可穿戴设备原型设计 379
16
中国经济已经由高速增长阶段转向高质量发展阶段,正处在转变发展方式、优化经济结构、转换增长动力的攻关期。习近平总书记在党的十九大报告中明确指出,要坚持新发展理念,主动参与和推动经济全球化进程,发展更高层次的开放型经济,不断壮大我国的经济实力和综合国力。
对于我国的集成电路产业来说,当前正是一个实现产业跨越式发展的重要战略机遇期,前景十分光明,挑战也十分严峻。在政策层面,2014年《国家集成电路产业发展推进纲要》发布,提出到2030年产业链主要环节达到国际先进水平,实现跨越发展的发展目标;2015年,国务院提出“中国制造2025”,将集成电路产业列为重点领域突破发展首位;2016年,国务院颁布《“十三五”国家信息化规划》,提出构建现代信息技术和产业生态体系,推进核心技术超越工程,其中集成电路被放在了首位。在技术层面,目前全球集成电路产业已进入重大调整变革期,中国集成电路技术创新能力和中高端芯片供给水平正在提升,中国企业设计、封测水平正在加快迈向阵营。在应用层面,5G移动通信、物联网、人工智能等技术逐步成熟,各类智能终端、物联网、汽车电子及工业控制领域的需求将推动集成电路的稳步增长,因此集成电路产业将成为这些产品创新发展的战略制高点。
展望“十三五”,中国集成电路产业必将迎来重大发展,特别是党的十九大提出要加快建设制造强国,加快发展先进制造业,推动互联网、大数据、人工智能和实体经济深度融合等新的要求,给集成电路发展开拓了新的发展空间,使得集成电路产业由技术驱动模式转化为需求和效率优先模式。在这样的大背景下,通过高层次的全球合作来促进我国国内集成电路产业的崛起,将成为我们发展集成电路的一个重要抓手。
在推进集成电路产业发展的过程中,建立创新体系、构建产业竞争力,终都要落实在人才上。人才培养是集成电路产业发展的一个核心组成部分,我们的政府、企业、科研和出版单位对此都承担着重要的责任和义务。所以我们非常支持工业和信息化部人才交流中心、恩智浦(中国)管理有限公司、电子工业出版社共同组织出版这套“物联网与人工智能应用开发丛书”。这套丛书集中了众多一线工程师和技术人员的集体智慧和经验,并且经过了行业专家学者的反复论证。我希望广大读者可以将这套丛书作为日常工作中的一套工具书,指导应用开发工作,还能够以这套丛书为基础,从应用角度对我们未来产业的发展进行探索,并与中国的发展特色紧密结合,服务中国集成电路产业的转型升级。
刁石京 工业和信息化部电子信息司司长
2018年1月
序二
随着摩尔定律逐步逼近极限,以及云计算、大数据、物联网、人工智能、5G等新兴应用领域的兴起,细分领域竞争格局加快重塑,围绕资金、技术、产品、人才等全方位的竞争加剧,当前全球集成电路产业进入了发展的重大转型期和变革期。
自2014年《国家集成电路产业发展推进纲要》发布以来,随着“中国制造2025”“互联网 ”、大数据等国家战略的深入推进,国内集成电路市场需求规模进一步扩大,产业发展空间进一步增大,发展环境进一步优化。在市场需求拉动和国家相关政策的支持下,我国集成电路产业继续保持平稳快速、稳中有进的发展态势,产业规模稳步增长,技术水平持续提升,资本运作渐趋活跃,国际合作层次不断提升。
集成电路产业是一个高度全球化的产业,发展集成电路需要强调自主创新,也要强调开放与国际合作,中国不可能关起门来发展集成电路。
集成电路产业的发展需要知识的不断更新。这一点随着云计算、大数据、物联网、人工智能、5G等新业务、新平台的不断出现,已经显得越来越重要、越来越迫切。由工业和信息化部人才交流中心、恩智浦(中国)管理有限公司与电子工业出版社共同组织编写的“物联网与人工智能应用开发丛书”,是我们产业开展国际知识交流与合作的一次有益尝试。我们希望看到更多国内外企业持续为我国集成电路产业的人才培养和知识更新提供有效的支撑,通过各方的共同努力,真正实现中国集成电路产业的跨越式发展。
丁文武
2018年1月
序三
尽管有些人认为全球集成电路产业已经迈入成熟期,但随着新兴产业的崛起,集成电路技术还将继续演进,并长期扮演核心关键角色。事实上,到现在为止还没有出现集成电路的替代技术。
中国已经成为全球的集成电路市场,产业布局基本合理,各领域进步明显。2016年,中国集成电路产业出现了三个里程碑事件:,中国集成电路产业次出现制造、设计、封测三个领域销售规模均超过1000亿元,改变了多年来始终封测领头,设计和制造跟随的局面;第二,设计业超过封测业成为集成电路产业的组成部分,这是中国集成电路产业向好发展的重要信号;第三,中国集成电路制造业增速首次超过设计业和封测业,达到快。随着中国经济的增长,中国集成电路产业的发展也将继续保持良好态势。未来中国将保持世界电子产品生产大国的地位,对集成电路的需求还会维持在高位。与此同时,我们也必须认识到,国内集成电路的自给率不高,在很长一段时间内对外依存度会停留在较高水平。
我们要充分利用当前物联网、人工智能、大数据、云计算加速发展的契机,实现我国集成电路产业的跨越式发展,一是要对自己的发展有清醒的认识;二是要保持足够的定力,不忘初心、下定决心;三是要紧紧围绕产品,以产品为中心,高端通用芯片必须面向主战场。
产业要发展,人才是决定性因素。目前我国集成电路产业的人才情况不容乐观,人才缺口很大,人才数量和质量均需大幅度提升。与市场、资本相比,人才的缺失是中国集成电路产业面临的变量。人才的成长来自知识的更新和经验的积累。我国一直强调产学研结合、全价值链推动产业发展,加强企业、研究机构、学校之间的交流合作,对于集成电路产业的人才培养和知识更新有非常正面的促进作用。由工业和信息化部人才交流中心、恩智浦(中国)管理有限公司与电子工业出版社共同组织编写的这套“物联网与人工智能应用开发丛书”,内容涉及安全应用与微控制器固件开发、电机控制与USB技术应用、车联网与电动汽车电池管理、汽车控制技术应用等物联网与人工智能应用开发的多个方面,对于专业技术人员的实际工作具有很强的指导价值。我对参与丛书编写的专家、学者和工程师们表示感谢,并衷心希望能够有越来越多的国际优秀企业参与到我国集成电路产业发展的大潮中来,实现全球技术与经验和中国市场需求的融合,支持我国产业的长期可持续发展。
魏少军 教授
清华大学微电子所所长
2018年1月
序四
千里之行 始于足下
人工智能与物联网、大数据的完美结合,正在成为未来十年新一轮科技与产业革命的主旋律。随之而来的各个行业对计算、控制、连接、存储及安全功能的强劲需求,也再次把半导体集成电路产业推向了中国乃至全球经济的风口浪尖。
历次产业革命所带来的冲击往往是颠覆性的改变。当我们正为目不暇接的电子信息技术创新的风起云涌而喝彩,为庞大的产业资金在政府和金融机构的热推下,正以前所未有的规模和速度投入集成电路行业而惊叹的同时,不少业界有识之士已经敏锐地意识到,构成并驱动即将到来的智能化社会的每一个电子系统、功能模块、底层软件乃至检测技术都面临着巨大的量变与质变。毫无疑问,一个以集成电路和相应软件为核心的电子信息系统的深度而全面的更新换代浪潮正在向我们走来。
如此的产业巨变不仅引发了人工智能在不远的将来是否会取代人类工作的思考,更加现实而且紧迫的问题在于,我们每一个人的知识结构和理解能力能否跟得上这一轮技术革新的发展步伐?内容及架构更新相对缓慢的传统教材以及漫无边际的网络资料,是否足以为我们及时勾勒出物联网与人工智能应用的重点要素?在如今仅凭独到的商业模式和靠免费获取的流量,就可以瞬间增加企业市值的IT盛宴里,我们的工程师们需要静下心来思考在哪些方面练好基本功,才能在未来翻天覆地般的技术变革时代立于不败之地。
带着这些问题,我们在政府和国内众多知名院校的热心支持与合作下,精心选题,推敲琢磨,策划了这一套以物联网与人工智能的开发实践为主线,以集成电路核心器件及相应软件开发的应用为基础的科技系列丛书,以期对在人工智能新时代所面对的一些重要技术课题提出抛砖引玉式的线索和思路。
本套丛书的准备工作始终得到了工业和信息化部电子信息司刁石京司长,国家集成电路产业投资基金股份有限公司丁文武总裁,清华大学微电子所所长魏少军教授,工业和信息化部人才交流中心王希征主任、李宁副主任,电子工业出版社党委书记、社长王传臣的肯定与支持,恩智浦半导体的任霞女士、张伊雯女士、陈劼女士,以及恩智浦半导体各个产品技术部门的技术专家们为丛书的编写组织工作付出了大量的心血,电子工业出版社的董亚峰先生、徐蔷薇女士为丛书的编辑出版做了精心的规划。著书育人,功在后世,借此机会表示衷心的感谢。
未来已来,新一代产业革命的大趋势把我们推上了又一程充满精彩和想象空间的科技之旅。在憧憬人工智能和物联网即将给整个人类社会带来的无限机遇和美好前景的同时,打好基础,不忘初心,用知识充实脚下的每一步,又何尝不是一个主动迎接未来的良好途径?
郑力
写于2018年拉斯维加斯CES科技展会现场
前言
在万物互联的时代,物联网和传感器网络所产生的海量数据,可为人工智能的“大脑”做出准确的决策提供重要依据。在医疗、工业和教育等各行各业产生巨大变革的当今时代,人工智能和物联网这两个领域的技术碰撞出的能量,将改变人类的生活方式。对嵌入式开发者而言,要抓住变化带来的机遇,既要修炼好内功,熟练掌握微控制器、软件和算法,同时也要补充好网络、存储和云计算等相关知识,这样的挑战是前所未有的。采用新的方法学和有效的工具来提高学习和开发效率,是物联网时代嵌入式开发的必经之路。
长期以来,单片机工程师们为使用寄存器编程,或是调用库函数编程,哪一种方法更好而争论不休,各持己见。笔者于2005年开始接触嵌入式开发,十余年的学习和工作期间,先后经历了以上两种开发模式,对这
评论
还没有评论。