EDA维基  > 所属分类  >  PSoC4   
[0] 评论[0] 编辑

可重构嵌入式系统设计与实现:基于Cypress PSoC4 BLE智能互联平台

   

PSOC4PSOC4
    本书基于Cypress公司的PSoC4 BLE嵌入式平台,该平台以ARM Cortex-M0处理器为内核,集成了模拟可编程阵列和数字可编程阵列,并且新集成了低功耗蓝牙模块,使得该平台成为物联网应用的极佳选择。本书共14章,主要包括可重构嵌入式系统设计导论、可重构嵌入式系统基本设计流程、Cortex-M0 CPU结构、Cortex-M0指令集、AHB-Lite总线结构分析、Cortex-M0低功耗特性、Cortex-M0汇编语言编程基础、中断系统的构建和实现、C语言代码设计与优化方法、电容感应触摸控制模块原理及实现、低功耗蓝牙模块原理及实现、通用数字块原理及实现、模拟子系统原理及实现,以及FreeRTOS原理及应用等内容。 本书反映了基于Cypress公司的PSoC可编程片上系统发展的最新成果,系统化和模块化地介绍了PSoC4 BLE内所集成的ARM Cortex-M0 CPU硬核处理器的结构及指令集、PSoC4 BLE内各个功能单元的结构,以及基于PSoC Creator 4.1软件的片上系统的设计流程。 本书注意理论和实践相结合,同时给出了大量的设计实例,使读者能够掌握这一新的设计技术,以便推动电子系统设计方法的创新。




目录

前    言编辑本段


        随着半导体技术的发展和芯片集成度的提高,越来越多的厂商开始提供在单芯片上实现复杂系统的解决方案,即基于PSoC的解决方案。这种解决方案提高了设计的可靠性,缩短了系统设计周期,降低了设计成本,极大地满足了市场对产品竞争力的要求。
        作为全球知名的半导体公司,美国Cypress公司率先在业界实现了完全意义上的PSoC解决方案,即在单芯片上实现了MCU、数字和模拟系统的高度集成。PSoC技术的不断发展,将大大推动电子系统设计方法的创新,并且对未来嵌入式系统设计领域带来深远的影响。Cypess的PSoC4 BLE集成了ARM公司的 Cortex-M0 CPU核。这种集成高性能Cortex-M0 CPU的片上可编程系统,极大地改善了片上系统的整体性能,拓宽了片上可编程系统的应用领域,进一步满足了不同用户的需求,尤其是在物联网方面的应用。
        本书全面系统地介绍了Cypress公司的PSoC4 BLE可编程片上系统体系结构。通过系统介绍其系统结构和设计流程,使读者能够系统且全面地掌握PSoC的体系结构和实现方法。本书共14章,主要包括可重构嵌入式系统设计导论、可重构嵌入式系统基本设计流程、Cortex-M0 CPU结构、Cortex-M0指令集、AHB-Lite总线结构分析、Cortex-M0低功耗特性、Cortex-M0汇编语言编程基础、中断系统的构建和实现、C语言代码设计与优化方法、电容感应触摸控制模块原理及实现、低功耗蓝牙模块原理及实现、通用数字块原理及方法实现、模拟子系统原理及实现,以及FreeRTOS原理及应用等内容。
        在本书的编写过程中,引用和参考了Cypress公司新一代的研究成果和设计文档等资料。参加本书编写的还有王中正、汤宗美和张艳辉。此外,本书写作得到了Cypress公司的大力帮助,为本书的编写提供了数据手册、技术参考资料和PSoC4 BLE开发板。此外,在编写FreeRTOS原理及应用一章的内容时,参考了一些网上作者的研究成果(已经进行了说明),在此也向他们的辛勤工作表示感谢。
        本书的完稿也意味着,Cypress PSoC系列书籍形成了一个完整的框架结构,用于满足国内不同层次的读者对PSoC4 BLE新技术的需要。在本书的出版过程中,得到了电子工业出版社编辑和领导的帮助与指导,在此向电子工业出版社的各位朋友表示深深的谢意。
        由于编者水平有限,编写时间仓促,书中难免有疏漏之处,敬请读者批评指正。

                                                                                                                                       作者
                                                                                                                                 2018年8月

目    录编辑本段



第1章  可重构嵌入式系统设计导论    1
1.1  可重构嵌入式系统的背景和优势    1
1.1.1  传统的嵌入式系统构建方法    1
1.1.2  可重构嵌入式系统构建方法    2
1.1.3  PSoC性能比MCU更优越    4
1.2  可重构嵌入式系统的设计重用    5
1.3  PSoC4 BLE的结构及功能    6
1.4  PSoC4 BLE设计流程    9
1.4.1  硬件设计流程    9
1.4.2  软件设计流程    10
1.5  PSoC4 BLE的硬件连接    11
第2章  可重构嵌入式系统基本设计流程    13
2.1  软件的下载和安装    13
2.2  建立新的设计工程    16
2.3  在原理图中添加嵌入式硬件设计    18
2.3.1  在原理图中添加数字输出端口    18
2.3.2  在原理图中添加片外外设注解    19
2.3.3  对硬件设计进行处理    24
2.3.4  查看分配的引脚位置    25
2.4  为嵌入式硬件开发软件应用    26
2.5  下载设计到目标系统    27
第3章  Cortex-M0 CPU结构    28
3.1  ARM处理器类型    28
3.2  Cortex-M系列处理器概述    29
3.2.1  Cortex-M系列处理器的特点    29
3.2.2  Cortex-M系列处理器的性能参数    29
3.3  Cortex-M0处理器的性能和结构    30
3.3.1  Cortex-M0处理器的性能    30
3.3.2  Cortex-M0处理器的结构    31
3.4  Cortex-M0处理器的寄存器组    33
3.4.1  通用寄存器    33
3.4.2  堆栈指针    34
3.4.3  程序计数器    34
3.4.4  链接寄存器    34
3.4.5  组合程序状态寄存器    35
3.4.6  中断屏蔽特殊寄存器    36
3.4.7  特殊寄存器    36
3.5  Cortex-M0存储器空间映射    37
3.6  Cortex-M0程序镜像原理及生成方法    39
3.7  Cortex-M0处理器的端及分配    40
3.8  Cortex-M0处理器异常及处理    41
3.8.1  异常处理    41
3.8.2  异常优先级    41
3.8.3  向量表    42
3.8.4  异常类型    43
3.8.5  PSoC4中断源    44
3.8.6  PSoC4中断触发方式    45
3.8.7  固定功能模块和UDB的中断布线    46
第4章  Cortex-M0指令集    48
4.1  Thumb指令集    48
4.2  Cortex-M0汇编语言格式    49
4.3  寄存器访问指令:MOVE    50
4.4  存储器访问指令:LOAD    51
4.5  存储器访问指令:STORE    54
4.6  多数据访问指令:LDM和STM    55
4.7  堆栈访问指令:PUSH和POP    56
4.8  算术运算指令    57
4.8.1  加法指令    57
4.8.2  减法指令    59
4.8.3  乘法指令    60
4.8.4  比较指令    60
4.9  逻辑操作指令    61
4.10  移位操作指令    62
4.10.1  右移指令    62
4.10.2  左移指令    64
4.11  反序操作指令    65
4.12  扩展操作指令    66
4.13  程序流控制指令    67
4.14  存储器屏蔽指令    68
4.15  异常相关指令    69
4.16  休眠相关指令    69
4.17  其他指令    69
4.18  数据插入和对齐操作    70
第5章  AHB-Lite总线结构分析    71
5.1  总线及分类    71
5.1.1  总线的概念    71
5.1.2  总线的分类    71
5.2  ARM AMBA系统总线    72
5.3  AMBA3 AHB-Lite总线    73
5.3.1  AHB-Lite概述    73
5.3.2  AHB-Lite总线操作    73
5.4  AHB-Lite总线结构    74
5.4.1  全局信号    75
5.4.2  AHB-Lite主设备接口    75
5.4.3  AHB-Lite从设备接口    77
5.4.4  地址译码器和多路选择器    78
5.5  AHB-Lite总线时序    79
5.5.1  无等待基本读传输    80
5.5.2  有等待基本读传输    80
5.5.3  无等待基本写传输    81
5.5.4  有等待基本写传输    81
5.6  硬件实现    82
第6章  Cortex-M0低功耗特性    83
6.1  低功耗要求    83
6.2  Cortex-M0低功耗特性及优势    83
6.2.1  Cortex-M0低功耗特性概述    83
6.2.2  Cortex-M0低功耗结构    84
6.3  Cortex-M0休眠模式    84
6.4  唤醒中断控制器    86
6.5  降低功耗的其他方法    87
6.6  PSoC4 BLE低功耗特性    87
6.6.1  休眠模式    88
6.6.2  深度休眠模式    89
6.6.3  冬眠模式    90
6.6.4  停止模式    91
6.7  功耗降低技术    91
6.7.1  关闭未使用的组件    92
6.7.2  以较低速度运行组件    92
6.7.3  降低供电电压    92
6.7.4  使用PSoC器件控制电流路径    92
6.7.5  使用DMA传输数据    93
6.8  其他功耗模式中需要注意的事项    93
6.8.1  时钟    93
6.8.2  看门狗定时器    94
6.8.3  GPIO    95
6.8.4  深度休眠模式和冬眠模式下的电压调节器    96
6.8.5  调试接口    96
第7章  Cortex-M0汇编语言编程基础    97
7.1  Keil MDK开发套件    97
7.1.1  下载MDK开发套件    97
7.1.2  安装 MDK开发套件    99
7.1.3  MDK程序处理流程    100
7.2  Cortex-M0汇编语言程序设计    102
7.2.1  建立新设计工程    102
7.2.2  修改编译器设置    102
7.2.3  添加汇编文件    103
7.2.4  汇编语言语法说明    106
7.2.5  添加C设计代码    111
7.3  设计的硬件调试和运行    111
7.4  汇编语言其他常用语法介绍    114
7.4.1  标识符的命名规则    114
7.4.2  变量    114
7.4.3  常数    115
7.4.4  EQU命令    116
7.4.5  IMPORT/EXTERN命令    116
7.4.6  子程序调用    117
7.4.7  宏定义和使用    117
第8章  中断系统的构建和实现    119
8.1  设计定时器中断系统    119
8.1.1  建立新的设计工程    119
8.1.2  构建定时器中断硬件系统    120
8.1.3  配置定时器中断组件    120
8.1.4  设置定时器中断优先级    121
8.1.5  使用自动生成的ISR    121
8.1.6  创建自定义的ISR    123
8.2  设计GPIO中断系统    125
8.2.1  建立新的设计工程    125
8.2.2  构建GPIO中断硬件系统    126
8.2.3  配置GPIO中断组件    126
8.2.4  添加引脚约束    128
8.2.5  编写GPIO 的ISR    128
8.2.6  设计下载    129
8.3  有关中断的高级主题    129
8.3.1  异常事件    129
8.3.2  中断延迟    130
8.3.3  优化中断代码    131
8.3.4  带有内置中断的组件    131
8.3.5  强制中断向量编号    131
8.3.6  Systick定时器    133
8.3.7  中断嵌套    134
第9章  C语言代码设计与优化方法    135
9.1  全局和本地变量    135
9.1.1  全局变量    135
9.1.2  局部变量    136
9.1.3  静态变量    136
9.2  编译器优化设置选项    137
9.3  属性—attribute    139
9.4  LDR和STR指令    139
9.5  函数参数和结果    141
9.6  C语言和汇编混合编程    142
9.6.1  内嵌汇编的语法    142
9.6.2  自动变量    144
9.6.3  全局和静态变量    144
9.6.4  函数参数    146
9.7  特殊功能指令    148
9.8  结构体的对齐处理    148
9.9  编译器库    149
9.9.1  使用标准的C语言库    150
9.9.2  使用MicroLIB库进行编译    151
9.9.3  不使用库进行编译    151
9.10  放置代码和变量    152
9.10.1  链接脚本文件    152
9.10.2  放置程序    156
9.10.3  一般性考虑    157
第10章  电容感应触摸控制模块原理及实现    159
10.1  CapSense基本原理    159
10.2  电容式触摸感应方法    161
10.3  CapSense部件    162
10.3.1  按键(零维)    162
10.3.2  滑条(一维)    163
10.3.3  触摸屏/触摸板(二维)    163
10.3.4  接近度传感器(三维)    164
10.4  屏蔽电极和保护传感器    165
10.5  PSoC4中的CSD模块    166
10.5.1  GPIO单元的电容-电流转换器    166
10.5.2  开关时钟发生器    168
10.5.3  电流-数字转换器    168
10.5.4  模拟多路器    169
10.5.5  屏蔽电极    169
10.5.6  CMOD的预充电    170
10.6  电容感应触摸的设计与实现    171
10.6.1  建立新的设计工程    171
10.6.2  在原理图中添加设计元件    171
10.6.3  配置元件参数    172
10.6.4  配置系统时钟    174
10.6.5  编写软件代码    175
10.6.6  配置引脚约束    177
第11章  低功耗蓝牙模块原理及实现    179
11.1  低功耗蓝牙子系统(BLESS)    179
11.1.1  BLESS特性    179
11.1.2  BLESS框架和构成    180
11.1.3  BLE状态    180
11.2  标准服务与自定义服务    181
11.3  健康温度计硬件系统的设计与实现    182
11.3.1  建立新的设计工程    182
11.3.2  添加并配置BLE组件    183
11.3.3  添加和配置数字引脚组件    187
11.3.4  添加中断组件    188
11.3.5  添加和配置温度测量元件    189
11.3.6  添加引脚约束    193
11.3.7  修改系统时钟频率    193
11.4  健康温度计软件的设计与实现    194
11.4.1  配置固件    194
11.4.2  系统初始化    196
11.4.3  BLE事件处理程序    197
11.4.4  系统的正常操作模式    199
11.4.5  系统的低功耗工作状态    199
11.4.6  传感器仿真    200
11.5  系统硬件配置    200
11.6  编程器件    200
11.7  更新编程器固件    201
11.8  使用CySmart中心仿真工具    201
11.9  CySmart手机应用    204
第12章  通用数字块原理及实现    206
12.1  通用数字块功能及特性    206
12.2  UDB内部功能块    207
12.2.1  PLD模块结构    208
12.2.2  PLD宏单元    209
12.3  数据通道模块    210
12.3.1  工作寄存器    210
12.3.2  动态数据通道配置RAM    211
12.4  状态和控制模块    212
12.5  基于UDB实现3位计数器设计    212
12.5.1  建立新的PSoC工程    213
12.5.2  添加自定义3位计数器IP核    213
12.5.3  调用自定义3位计数器元件    216
12.5.4  配置系统所用元件    217
12.5.5  连接设计中的所有元件    219
12.5.6  配置引脚    221
12.5.7  编程及调试    222
12.5.8  静态时序分析    222
第13章  模拟子系统原理及实现    224
13.1  模拟子系统框架及功能    224
13.1.1  模拟子系统框架    224
13.1.2  高精度参考    224
13.1.3  SAR ADC    225
13.1.4  低功耗比较器    226
13.1.5  微型连续时间模块    226
13.1.6  LCD直接驱动模块    226
13.1.7  温度传感器    228
13.2  同相模拟增益放大器的原理及实现    228
13.2.1  建立新的设计工程    228
13.2.2  在原理图中添加模拟组件    229
13.2.3  修改元件参数    230
13.2.4  连接系统中的所有元件    232
13.2.5  引脚分配    233
13.2.6  添加软件控制代码    235
13.2.7  设计下载与测试    235
第14章  FreeRTOS原理及应用    236
14.1  嵌入式和实时的概念    236
14.2  FreeRTOS架构概述    237
14.2.1  FreeRTOS的功能    237
14.2.2  硬件注意事项    237
14.3  任务调度概述    240
14.3.1  任务优先级和就绪列表    240
14.3.2  系统节拍器(时钟)    241
14.4  任务    242
14.4.1  任务控制块    242
14.4.2  任务设置    244
14.5  列表    245
14.6  队列    248
14.7  信号灯和互斥    250
14.8  实现    251
14.9  移植FreeRTOS到PSoC4 BLE    252
14.9.1  下载FreeRTOS源码    252
14.9.2  建立一个新的设计工程    252
14.9.3  修改编译器设置    253
14.9.4  添加FreeRTOS源文件到工程    254
14.9.5  在原理图中添加硬件组件    255
14.9.6  添加引脚约束文件    255
14.9.7  在主文件中添加应用代码    256
14.9.8  下载设计到目标器件    256

附件列表


9787121351044.jpg
 
PSOC4

0

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签

暂无标签

同义词

暂无同义词