
作 者:何宾 编著6 b2 ]) O' Z: \5 S. ~$ z 出 版 社:化学工业出版社 出版时间:2012-10-1 ![]() 内容简介 《Cortex-M3可编程片上系统原理及应用》系统化、模块化地介绍了Cypress公司的PSoC5内所集成的ARMCortex-M3CPU硬核处理器结构及指令集、PSoC5内各个功能单元的结构以及基于PSoCCreator 2.0软件的片上系统的设计流程。主要内容包括:PSoC设计导论,PSoC5 CPU及存储子系统,PSoC5 CPU指令系统,PSoC5公共资源,PSoC编程和调试接口功能,基于PSoCCreator的程序设计,定时器、计数器和PWM模块,LCD显示驱动模块,FC总线模块,USB总线模块,通用数字块UDB,模拟前端模块,ADC和DAC模块,电容感应模块,数字滤波器模块和uC-OS/Ⅲ操作系统。本书可作为从事Cypress可编程片上系统设计的设计人员的参考用书,也可作为大学本科生和研究生教材,同时也可作为Cypress公司相关内容的培训教材。为方便读者学习,本书附赠光盘,包含书中源程序和教学课件。8 ~5 `5 ] J5 [6 W7 C 目录 "第1章 PSoC设计导论 1 1.1 微控制器基础 1. d9 M8 F, n5 Q2 T! X3 f$ p 1.1.1 微控制器的涵义 1; I% h4 D/ [% q# w 1.1.2 微控制器编程语言 2 1.2 可编程片上系统PSoC概述 3 1.2.1 PSoC发展概述 3 1.2.2 PSoC设计方法 59 R) k1 K! L- ` 1.3 PSoC5设计流程 7 u2 w" c5 }- A, v 1.3.1 硬件设计流程 8& R* E) K i4 @: N( q; Y ` 1.3.2 软件设计流程 9 N( W" \$ R/ s ~# x 1.4 PSoC5的结构及功能 10 1.4.1 PSoC5系统结构概述 10$ y0 E* M' G$ C5 b& B# d 1.4.2 数字子系统结构及功能 10 1.4.3 模拟子系统结构及功能 13 1.4.4 输入/输出引脚功能 147 a. h1 M8 z+ c5 K' ~ 1.5 PSoC5器件概述 15( X" |! X2 G' R/ a5 Z 1.5.1 PSoC5引脚分布 15 1.5.2 PSoC5器件分类和资源 16 第2章 PSoC5 CPU及存储子系统 19) D f3 G5 H# J" C* q" j 2.1 Cortex-M3内核结构概述 19. U9 J1 w; E9 b8 A' v5 V* W 2.1.1 Cortex-M3内核结构特性 19 2.1.2 流水线结构 20 2.1.3 寄存器 20 2.1.4 操作模式 23 2.1.5 SysTick定时器 23 2.1.6 存储器空间映射 23, {0 a, g- L/ V3 f1 _6 m1 C 2.1.7 异常及处理 26; [. U. S" ~; F2 b+ f 2.2 嵌套向量中断控制器 26- M! J& t5 W& a: m, T, w, g 2.2.1 中断控制器的特性 26% Y0 I# u# D a 2.2.2 中断使能 28) K0 T) Q9 D1 ^; ~- M7 j 2.2.3 中断优先级 29 2.2.4 电平/脉冲中断 30 2.2.5 中断的执行 30; @* Z1 t: @5 B6 ~' ~ 2.2.6 PSoC5中断特性 313 v* p, |1 b5 k- u) Q$ p! f2 p 2.2.7 中断控制器和功耗模式 340 q9 U) P; z1 l1 _# Y" y; s9 I 2.3 高速缓存控制器 357 @# \/ l: i. ^; s# B: W 2.4 PHUB和DMA控制器 364 _5 ~ v! w( S b3 l 2.4.1 PHUB 367 ]4 G" K4 j f 2.4.2 DMA控制器 38 2.4.3 访问DMAC 44 2.4.4 DMAC传输模式 45' ]+ v# O H( p, h 2.4.5 PHUB和DMAC寄存器列表 46: I3 p5 x3 i8 }! s9 w" Z 2.5 PSoC5存储器系统 47 2.5.1 SRAM存储器结构及功能 47 2.5.2 非易失性锁存器结构及功能 48 2.5.3 Flash程序存储器结构及功能 49 2.5.4 EEPROM存储器结构及功能 50 第3章 PSoC5 CPU指令系统 51 3.1 Cortex-M3指令寻址模式 51 3.2 Cortex-M3 CPU指令集 53 3.2.1 Cortex-M3指令集概述 53 3.2.2 CMSIS函数 54/ s0 b- L# W7 Z1 d% f- X 3.2.3 存储器访问指令 54! W5 H& P# H8 a! E 3.2.4 通用数据处理指令 61 3.2.5 乘法和除法指令 69; c& T9 g) U9 }* `( o5 C 3.2.6 饱和指令 71 3.2.7 比特位操作指令 72 3.2.8 分支和控制指令 74 3.2.9 杂项操作指令 77# v; n4 I" e6 @5 i- O 3.3 Cortex-M3 汇编语言编程模型 80 第4章 PSoC5公共资源 82 4.1 时钟管理 82 4.1.1 内部振荡器 83 4.1.2 外部振荡器 84 4.1.3 DSI时钟 86 4.1.4 相位锁相环 867 k) b; X0 C8 V; |; p0 B 4.1.5 USB时钟 86: l! u# R8 K( p' M 4.2 电源管理 87 4.2.1 电源模式 87+ x* o) b; Y/ c; _6 C 4.2.2 电源监控 89 4.3 看门狗定时器 89+ Q! V2 G- \. P1 L9 t 4.4 复位 90 4.4.1 复位模块功能介绍 90 4.4.2 复位源 91 4.5 I/O系统和布线资源 92; v4 X6 k; J. p5 h* D4 M# E! K 4.5.1 I/O系统特性 92 4.5.2 I/O驱动模式 94 4.5.3 DSI控制数字I/O 972 U7 o- ?/ B% J 4.5.4 模拟I/O引脚 99 4.5.5 LCD驱动引脚 100: L$ P9 h0 D+ S( V% K6 t 4.5.6 电容感应触摸引脚 100& |( G8 V3 S1 L) S- ^* e 4.5.7 SIO功能和特性 100 4.5.8 上电时I/O配置 101 4.5.9 过电压容限 101 4.5.10 端口中断控制器单元 102 第5章 PSoC编程和调试接口功能 104 5.1 测试控制器 104 5.1.1 测试控制器结构 104/ y& v8 i- k# W9 q 5.1.2 SWD接口规范 104 5.1.3 PSoC5 SWD的特性 106+ G2 i5 y6 S. x" ~: B( ] 5.2 Cortex-M3调试和跟踪 107& D7 x" T8 w; L. F0 ~ 5.2.1 内核调试 1085 ~, I' F2 `1 y, S: k" k- ]$ N 5.2.2 系统调试 109: i1 f7 j- B8 s" U 5.3 非易失性存储器编程 110 第6章 基于PSoC Creator的程序设计 112 6.1 PSoC Creator软件功能 112# w e& m- o) I, B' x7 \% |4 K6 r 6.2 汇编语言GPIO控制程序的设计 113$ Y" v3 n) Z. C! o 6.2.1 创建和配置工程 113. C/ U* {7 l: q 6.2.2 查看和设置公共资源 114. a( ~& W0 J" O9 h 6.2.3 编写GPIO汇编语言控制程序 115 6.3 C语言GPIO控制程序的设计 119, m8 {" X( U9 H! g 6.3.1 使用C语言指针对GPIO端口控制 120. R; D1 [: N- { 6.3.2 调用API函数对GPIO端口控制 120 y5 q5 A$ {3 c7 l6 v 6.3.3 PSoC5的SRAM内函数定位 1264 R3 q$ i& u' K' o& t6 B/ e4 y: g 6.4 中断服务程序的设计 1281 w7 ^1 t; ]& c) k 6.4.1 创建和配置工程 1289 [! z# Y% ?3 R) I% I! g! r* f 6.4.2 添加IP核资源到设计 128/ W9 L3 O9 L% \+ t/ e/ n' G. C) u/ d 6.4.3 IP核参数配置和连接 129 6.4.4 中断服务程序的设计 131) k: ~! R) F+ {/ T5 E 6.4.5 下载并调试工程 133 第7章 定时器、计数器和PWM模块 134 7.1 定时器模块特性 1346 Y; Y5 W9 u- E 7.2 定时器模块结构 134 7.2.1 时钟选择 135 7.2.2 使能/禁止模块 136 7.2.3 输入信号特性 136 7.2.4 操作模式 137( L) l1 P |8 ]2 V7 q( |( c1 a* ` 7.2.5 中断使能 141. `2 L9 k' q9 e* v) O0 O 7.2.6 寄存器列表 141 7.3 PWM控制LED显示的实现 142 7.3.1 创建和配置工程 142 7.3.2 编写软件程序 1468 K3 F: t' g; G2 B 7.3.3 编程及调试 147 第8章 LCD显示驱动模块 148 8.1 LCD的工作原理 148 8.1.1 LCD物理结构 148 8.1.2 LCD液晶分类 1492 F1 i4 v7 z4 `# @6 e1 Y. Z6 z/ @ 8.2 LCD驱动特性 1545 l: l1 n! ?8 c) a$ V" Q5 S 8.3 LCD驱动系统 154 8.4 LCD功能描述 155. @3 |0 [) S/ i6 A2 U( o J 8.4.1 LCD DAC 155 8.4.2 LCD配置选项 156 8.4.3 LCD驱动模块 1568 s" l3 _8 V! U5 H( ^( y& D 8.4.4 UDB 159 8.4.5 DMA 159 8.5 段式LCD显示的实现 160+ \) F* q/ F# a% h+ M 8.5.1 段式LCD的功能 160: S T& L" E' T 8.5.2 段式LCD的参数配置 162 8.5.3 编写软件程序 167 8.5.4 编程及调试 169; b0 w3 _8 B4 m/ [; w. s" h1 ?4 D 第9章 I2C总线模块 170# f; b/ A: [2 l9 `1 M8 N& T2 x) ?5 b 9.1 I2C总线模块概述 170 9.2 I2C总线实现原理 171: j7 T% j1 o9 \3 i* P" h 9.2.1 I2C总线模块结构 171 9.2.2 典型的I2C数据传输 171 9.2.3 I2C总线寄存器及操作 172 9.3 I2C总线操作模式 173 9.3.1 从模式 173- l. E2 `, e. h& u) |* R 9.3.2 主模式 174 9.3.3 多主模式 1758 p/ U: U: k$ ?2 K1 l 9.4 I2C模块通信的实现 1763 y# z0 C4 U0 d" w! ~ 9.4.1 系统实现原理 176 9.4.2 创建和配置工程 177 9.4.3 编写软件程序 1810 r6 i( R+ f( ~) Y! H 9.4.4 编程及调试 183 第10章 USB总线模块 1842 U" Z b7 I& }( Y 10.1 USB总线模块概述 184' A7 z3 O" P7 H) G5 }% N* Z 10.2 USB模块结构 184% a9 D s9 j; Q% o$ p, | 10.2.1 串行接口引擎SIE 185 10.2.2 仲裁器 186 10.3 USB模块工作条件 1876 ^4 T+ @, P2 U1 k' E6 _4 f5 g, g 10.3.1 工作频率 187: a* s9 x! i4 ~- ]% v% | 10.3.2 工作电压 188' \. m# P; m% ? 10.3.3 收发器 188 10.3.4 端点 188 10.3.5 传输类型 188) d r/ q/ B- s7 v9 |. { 10.3.6 中断 189 10.4 逻辑传输模式 189 10.4.1 非DMA访问 190. @7 H7 Q" x2 @' k/ B$ h 10.4.2 手工DMA访问 190 10.4.3 控制端点的逻辑传输 193* l4 i. ?; L$ i2 H; ~! g 10.5 PS/2和CMOS I/O模式 1940 _( _4 l& J% N$ Z 10.6 USB模块寄存器列表 194 10.7 USB人体学输入设备的实现 195 10.7.1 人体接口设备的原理 1959 b! S) ?0 k, D2 ]; p G 10.7.2 创建和配置工程 200 _/ @' L+ d% R! `" W: ] 10.7.3 编写软件程序 204 10.7.4 编程及调试 205; z' X8 i2 R" u M$ u+ ?* u0 C1 h 第11章 通用数字块UDB 207 11.1 通用数字块概述 207% `2 j5 `& q8 U7 R8 Q+ V+ S8 ? 11.2 UDB模块结构 208 11.2.1 PLD模块结构及宏单元 2086 b' ~" `& B+ ~$ D 11.2.2 数据通道模块 209, \+ I2 G/ X/ N: F( C$ V; c 11.2.3 状态和控制模块 212' f8 k. ?; r! n) W! v( }& } 11.3 交通灯控制电路的设计与实现 213 11.3.1 交通灯设计原理 213- i' T) I5 F }& O 11.3.2 交通灯控制电路的设计 213/ ^" A5 W# v% G- {8 g: p- \ 11.3.3 引脚分配 218# t8 i( k1 \% _) a! I+ L 11.3.4 设计下载与测试 218* P/ j5 }+ D+ b: r 11.4 静态时序分析 218 第12章 模拟前端模块 220 12.1 模拟比较器 220 12.1.1 输入和输出接口 2208 \* A8 r0 r! f$ h& ^ 12.1.2 LUT 220% B' a0 a0 b' y G 12.2 运算放大器模块 221 12.3 可编程SC/CT模块 223 12.3.1 单纯的放大器 224' \& B. n( r# H4 T% A 12.3.2 单位增益 225 12.3.3 可编程增益放大器 225 12.3.4 互阻放大器 227 12.3.5 连续时间混频器 2287 T; t$ `' u" O 12.3.6 采样混频器 228 12.3.7 Δ-Σ调制器 230 12.3.8 跟踪和保持放大器 231! T4 Q$ `+ [% ]# f6 A W 12.4 精密参考源 231 12.5 基于混频器的精确整流实现 233+ {, w8 N3 p c) q; O% K 12.5.1 整流器设计原理 2338 Y; \$ l$ U# Z! H* F( w) [( e; } 12.5.2 创建和配置工程 233, W N! J: Z: p& a9 C. g6 v. V2 y 12.5.3 编写软件程序 2377 U% [' E a6 ^& J- W/ F 12.5.4 编程及调试 237 第13章 ADC和DAC模块 238 13.1 Δ-ΣADC模块 238 13.1.1 Δ-ΣADC模块概述 238# J1 c9 v& g# B% o' q 13.1.2 Δ-ΣADC结构 2391 ]6 W! E4 u* w' A4 y 13.1.3 Δ-Σ ADC操作模式 241" v/ R) l2 i" C$ X& J- ^ 13.2 SAR ADC模块 242 h7 O9 U& x4 t$ | 13.2.1 SAR ADC模块概述 2424 P2 n! I( \3 ^3 c7 y5 ^5 y; k* | 13.2.2 SAR ADC模块的工作原理 242 13.3 DAC模块 243 13.4 基于SAR ADC的数字电压表实现 246 13.4.1 创建和配置工程 246% E' _" {( V* ^, I4 i 13.4.2 编写软件程序 249 13.4.3 编程及调试 2509 m. r C9 V, |& _. V: q9 r$ o 13.5 基于Δ-Σ ADC的数字电压表实现 251, ?2 m0 W9 S; i& h# } 13.5.1 创建和配置工程 251 13.5.2 编写软件程序 253! \" V" U7 @' u) C5 X+ z, o, g 13.5.3 编程及调试 254; X5 K2 J; Y' Z$ v- K; n+ H# [5 Y; M 13.6 IDAC值显示的实现 254, c9 `+ O- X1 A9 C( C, H3 w' |/ Z 13.6.1 创建和配置工程 2551 G# m' J; R: }) Q 13.6.2 编写软件程序 258 13.6.3 编程及调试 258/ R) x, `$ F }1 n6 O$ o 第14章 电容感应模块 259 14.1 电容感应模块的结构 259- Z* \3 K5 U. B9 Q9 | 14.2 电容感应Δ-Σ算法 262 14.3 电容感应触摸的实现 263 14.3.1 创建和配置工程 263- J9 b+ g Q# N5 Y6 H& y 14.3.2 编写软件程序 266 14.3.3 编程及调试 267 第15章 数字滤波器模块 268 15.1 数字滤波器模块概述 268* T9 {$ ?, O3 M 15.2 数字滤波器模块结构 269 15.2.1 控制器 2691 y, Z- ?& \/ w' Z8 w+ M& n0 f 15.2.2 FSM RAM 270 15.2.3 数据通道 272 W8 ]- k8 g5 \- Q J 15.2.4 地址计算单元 273 15.2.5 总线接口和寄存器描述 274 15.3 基于DFB的数字滤波器实现 276 15.3.1 系统结构概述 2760 g' u/ ^$ p, ?" w2 F. l5 } 15.3.2 元件参数配置 276; u7 d* a$ G* s0 u 15.3.3 DMA配置向导 280: C7 H3 h4 }/ e! m- F" v6 B. c 15.3.4 编写软件程序 282 15.3.5 编程及调试 283 第16章 μC-OS/III操作系统 284. y0 P7 I* h: D, y x 16.1 μC-OS/III操作系统概述 284 16.1.1 操作系统的作用 2840 @& n' i: w+ | M9 |; [& n 16.1.2 μC-OS/III操作系统内核特征 285+ J/ k; [+ [! ^& f! S 16.1.3 μC/OS-III操作系统文件的结构 288 16.1.4 μC/OS-III操作系统应用程序结构分析 289 16.2 μC-OS/III操作系统内核及功能 296 16.2.1 单任务和多任务处理 296 16.2.2 临界区 3001 s* S) s1 Q* D/ h+ @ 16.2.3 任务管理 300 16.2.4 准备列表 301 16.2.5 调度 301 16.2.6 上下文切换 3027 Z% J4 L; J- @) C0 j' b3 ] 16.2.7 中断管理 3024 V$ e! @- }1 o5 ?+ v2 D0 b0 h 16.2.8 等待列表 303" z! q6 e7 H/ y- T% S 16.2.9 时间管理 303 16.2.10 定时器管理 303& } C1 o! {, q; p+ d 16.2.11 资源管理 3049 O; A; l% H" q# {2 e 16.2.12 消息传递 3054 {) F- W7 f, Z( h7 E: c3 w3 l 16.2.13 多个对象等待处理 307 16.2.14 存储器管理 308 16.3 PSoC5硬件系统的构建 309* G2 B) {( I2 r+ O9 j1 I8 D$ g' v5 J 16.4 添加中断代码到ISR中 310 16.4.1 添加中断代码到ProbeUART_TxISR.c中 3103 a! M! Z: T4 n1 J( m/ N# x2 S 16.4.2 添加中断代码到ProbeUART_RxISR.c中 311 16.5 配置引脚 3117 J& f% r7 C- \9 ~8 T 16.6 运行设计 312+ C- [9 l# V) x/ i4 \# c 16.7 启动μC/Probe工具 313! W; C0 S" ^/ A+ Y 参考文献 316" 当当网购买链接 亚马逊网购买链接 电子书籍下载链接 |
MCSDK FOC应用详解
STM32F10xxx 正交编码器接口应用笔记 及源代码
基于STM32定时器ETR信号的应用示例
STM32 生态系统|基于STM32WB的低功耗蓝牙应用(一)
《无刷直流电机控制应用 基于STM8S系列单片机》
STM32定时器触发SPI逐字收发之应用示例
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
【STM32图书分享之九】—《STM32F 32位ARM微控制器应用设计与实践》
无刷直流电机控制应用+基于STM8S系列单片机---电子书
RE:【STM32图书分享之十八】—《Cortex-M3可编程片上系统原理及应用》
无法下载呀