
作 者:何宾 编著 出 版 社:化学工业出版社2 m# q$ m. Y6 v7 c8 E 出版时间: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公司相关内容的培训教材。为方便读者学习,本书附赠光盘,包含书中源程序和教学课件。 目录 "第1章 PSoC设计导论 11 f0 [2 J* m) p6 }7 a, I& |' d5 l 1.1 微控制器基础 1 1.1.1 微控制器的涵义 1# \" o$ b3 |" V# [9 ? 1.1.2 微控制器编程语言 2 1.2 可编程片上系统PSoC概述 36 G; z" }4 I; a% d1 \ e5 D 1.2.1 PSoC发展概述 3 1.2.2 PSoC设计方法 5 1.3 PSoC5设计流程 7 1.3.1 硬件设计流程 8, u+ q/ q5 K& ~ 1.3.2 软件设计流程 9 1.4 PSoC5的结构及功能 10 1.4.1 PSoC5系统结构概述 10 1.4.2 数字子系统结构及功能 10$ i0 ~- H) i/ ]: o; \ 1.4.3 模拟子系统结构及功能 13( i& ?- r( m8 _' h! t 1.4.4 输入/输出引脚功能 14 1.5 PSoC5器件概述 15: q; t6 x& @; v4 n6 q 1.5.1 PSoC5引脚分布 151 K# [" Z, {& b8 G 1.5.2 PSoC5器件分类和资源 16 第2章 PSoC5 CPU及存储子系统 19 2.1 Cortex-M3内核结构概述 195 b' I# B) I2 p8 ?% f* k 2.1.1 Cortex-M3内核结构特性 19 2.1.2 流水线结构 20& e @- w% T7 k( a- I1 r5 m' r 2.1.3 寄存器 20 2.1.4 操作模式 23 2.1.5 SysTick定时器 23' z7 }1 V. j# ?: `8 V 2.1.6 存储器空间映射 23) N" F0 A6 x! W \3 r 2.1.7 异常及处理 266 w2 C& O2 P& Z- s% w 2.2 嵌套向量中断控制器 26' s; X7 H( g( C5 z, ]2 u" y8 U 2.2.1 中断控制器的特性 264 \% Z+ `& r2 q: V- q- ~5 ]8 { 2.2.2 中断使能 28! S. S3 d) s% F8 ^! w' u/ N 2.2.3 中断优先级 29 2.2.4 电平/脉冲中断 30- H9 W9 E% Q+ e; d. d 2.2.5 中断的执行 30 2.2.6 PSoC5中断特性 31 2.2.7 中断控制器和功耗模式 34 2.3 高速缓存控制器 35% O# f" H2 _1 i4 f0 X. } 2.4 PHUB和DMA控制器 36 2.4.1 PHUB 36 2.4.2 DMA控制器 382 C P( O- [2 Z* h. [8 S 2.4.3 访问DMAC 448 {4 ~# J5 H3 u7 g 2.4.4 DMAC传输模式 45 2.4.5 PHUB和DMAC寄存器列表 46 2.5 PSoC5存储器系统 47 2.5.1 SRAM存储器结构及功能 47' g3 \0 n+ y3 q R! V- e 2.5.2 非易失性锁存器结构及功能 48( Z2 }' u' X. o- | 2.5.3 Flash程序存储器结构及功能 49$ H0 G& y7 l# e( \2 H$ u5 g 2.5.4 EEPROM存储器结构及功能 50 第3章 PSoC5 CPU指令系统 51 3.1 Cortex-M3指令寻址模式 519 V; y) g4 @" j {8 S5 O$ b 3.2 Cortex-M3 CPU指令集 53" M z5 O1 j8 H* {) k4 @1 @, A3 i 3.2.1 Cortex-M3指令集概述 53 3.2.2 CMSIS函数 54 3.2.3 存储器访问指令 54 3.2.4 通用数据处理指令 610 [; [/ S0 G- K8 G/ u: ] 3.2.5 乘法和除法指令 69' W7 p7 |- i$ I 3.2.6 饱和指令 71 3.2.7 比特位操作指令 72/ [/ M# p3 b. D3 g: F2 s% g9 m( X 3.2.8 分支和控制指令 74' e/ u3 T7 u6 D3 S$ W 3.2.9 杂项操作指令 77 3.3 Cortex-M3 汇编语言编程模型 80 第4章 PSoC5公共资源 820 m$ v# J' {: r4 |7 X/ R L# s7 _. c 4.1 时钟管理 82: s! K7 X7 O$ R; v+ G# f' E2 t, G 4.1.1 内部振荡器 83! t/ Z6 O) _2 q, o/ G 4.1.2 外部振荡器 84# C. C' l0 @; c/ c. D! {& ? 4.1.3 DSI时钟 86) j" v0 r. z7 }2 z1 `, f3 @ 4.1.4 相位锁相环 86) F+ ^4 D1 L; N$ K 4.1.5 USB时钟 86- w2 O7 E+ d* Q) H; }3 I 4.2 电源管理 87 4.2.1 电源模式 876 @' A- D* r9 E- | 4.2.2 电源监控 89 4.3 看门狗定时器 89 4.4 复位 909 g( }3 m) ]* k T: K, N 4.4.1 复位模块功能介绍 90 4.4.2 复位源 91 4.5 I/O系统和布线资源 92 4.5.1 I/O系统特性 923 K3 _( V5 {2 K7 W 4.5.2 I/O驱动模式 94 4.5.3 DSI控制数字I/O 97 4.5.4 模拟I/O引脚 99' r; k" [* m' j7 H: ?1 ? 4.5.5 LCD驱动引脚 100 m: [# P( u& C/ Q% s 4.5.6 电容感应触摸引脚 100! R0 e7 L- F- W; t$ _; Y3 Q 4.5.7 SIO功能和特性 1005 w# ]9 Y! ^. @% W4 b2 _ 4.5.8 上电时I/O配置 1018 L: c5 b5 g9 W/ \' ]% ]! n 4.5.9 过电压容限 101 4.5.10 端口中断控制器单元 102. G/ y( F/ E) z) H# l8 v 第5章 PSoC编程和调试接口功能 104 5.1 测试控制器 104 5.1.1 测试控制器结构 104 5.1.2 SWD接口规范 1049 }8 u" \1 T6 X$ ~1 S7 E6 H& a6 c% C 5.1.3 PSoC5 SWD的特性 106( i2 C3 C! m' x3 R/ O1 r 5.2 Cortex-M3调试和跟踪 107! X& [) W# Q. D& w7 h& v4 x9 {$ f 5.2.1 内核调试 108. J/ p; [: ^/ u5 J 5.2.2 系统调试 109 5.3 非易失性存储器编程 110! {: d4 i' I1 ?6 r/ G 第6章 基于PSoC Creator的程序设计 112 6.1 PSoC Creator软件功能 112! V9 ^/ k5 h' }4 z% Z7 A3 v0 T 6.2 汇编语言GPIO控制程序的设计 113! m w/ i! V; A* B, x 6.2.1 创建和配置工程 113 6.2.2 查看和设置公共资源 114 A6 q' I7 a" I 6.2.3 编写GPIO汇编语言控制程序 115# a. L: y7 e" {! ~, {: \( b- a 6.3 C语言GPIO控制程序的设计 119 6.3.1 使用C语言指针对GPIO端口控制 120 6.3.2 调用API函数对GPIO端口控制 120 6.3.3 PSoC5的SRAM内函数定位 126 6.4 中断服务程序的设计 128; n5 @, m7 q& x; j8 K! g5 b 6.4.1 创建和配置工程 128 6.4.2 添加IP核资源到设计 1284 M- ]. @) e( l) y 6.4.3 IP核参数配置和连接 129 6.4.4 中断服务程序的设计 1317 j4 I* T# q8 P) R 6.4.5 下载并调试工程 133 第7章 定时器、计数器和PWM模块 134( D$ C- \! C9 F* y/ x n9 o* O' X 7.1 定时器模块特性 1345 }. M. F2 q$ l6 ?9 M2 L 7.2 定时器模块结构 134* r" S! n+ H' p: u k- |8 ` 7.2.1 时钟选择 135 7.2.2 使能/禁止模块 136. ^5 i7 B g& P 7.2.3 输入信号特性 1364 B0 v! y5 I1 i1 ~) Y D 7.2.4 操作模式 137 7.2.5 中断使能 1411 Z' B& G! |- i 7.2.6 寄存器列表 141 7.3 PWM控制LED显示的实现 142$ i( Q- V: l/ y 7.3.1 创建和配置工程 142) z F7 I+ m5 q0 N' N; f* @! R. U 7.3.2 编写软件程序 146 7.3.3 编程及调试 147- y: X0 A% R+ [+ U 第8章 LCD显示驱动模块 1487 [9 V3 H7 K. _ 8.1 LCD的工作原理 1485 C' \/ \) @. s: l* g 8.1.1 LCD物理结构 148* T7 f* ?# v b1 v 8.1.2 LCD液晶分类 149/ G3 v5 B/ b ~8 j: z 8.2 LCD驱动特性 154 8.3 LCD驱动系统 154 8.4 LCD功能描述 155 8.4.1 LCD DAC 1552 j( h8 Q8 c. s! c% \6 V* x8 w/ \ 8.4.2 LCD配置选项 156 8.4.3 LCD驱动模块 156 8.4.4 UDB 159$ ] O( \( G# ?% Y 8.4.5 DMA 159 8.5 段式LCD显示的实现 160 8.5.1 段式LCD的功能 1602 N0 c! B1 U! A, \$ @9 F8 x; n 8.5.2 段式LCD的参数配置 162 8.5.3 编写软件程序 167 V! D% H, o# D) M6 k 8.5.4 编程及调试 169 第9章 I2C总线模块 1707 v9 f' |0 W6 S j( X" ~ A 9.1 I2C总线模块概述 170# U: u3 n& Q' C3 F% r 9.2 I2C总线实现原理 171 9.2.1 I2C总线模块结构 171 9.2.2 典型的I2C数据传输 171 9.2.3 I2C总线寄存器及操作 1723 B( J& z6 [+ l/ j 9.3 I2C总线操作模式 173" v* x O" h/ Z! w5 ~. y; v7 R 9.3.1 从模式 173 9.3.2 主模式 174 9.3.3 多主模式 175/ q- z8 R2 b& Q0 H 9.4 I2C模块通信的实现 1762 Y+ j b4 z( R5 u, t# }7 N2 p. R) i+ G+ b 9.4.1 系统实现原理 176 9.4.2 创建和配置工程 177# ^- o) c! ?$ N% U& X" H( J 9.4.3 编写软件程序 181 9.4.4 编程及调试 183# W6 ]5 _6 [7 E; n% w3 Q3 I 第10章 USB总线模块 184 10.1 USB总线模块概述 184 10.2 USB模块结构 184 10.2.1 串行接口引擎SIE 185( i; f9 q9 B4 v& D/ u' L& S8 M 10.2.2 仲裁器 186( J9 p) z. G8 K, @, Y; H3 M 10.3 USB模块工作条件 187 10.3.1 工作频率 187 10.3.2 工作电压 1889 O" r/ t' w1 O! u% r: [9 d 10.3.3 收发器 188 10.3.4 端点 188& p. |0 \4 r- U) p" x 10.3.5 传输类型 188# U9 s! @( Z4 m6 s! N 10.3.6 中断 189 10.4 逻辑传输模式 189# e! r4 n- Q1 C% a" K' \ 10.4.1 非DMA访问 1906 b2 \- y% ?6 M0 h z9 B 10.4.2 手工DMA访问 190 10.4.3 控制端点的逻辑传输 193+ x% E$ N4 ~ B6 l) u( {2 _ 10.5 PS/2和CMOS I/O模式 1943 K- J6 k' j( M. j1 V 10.6 USB模块寄存器列表 194$ C! W; H: J1 r% t% q% u4 W 10.7 USB人体学输入设备的实现 195 10.7.1 人体接口设备的原理 195 10.7.2 创建和配置工程 200 10.7.3 编写软件程序 204 10.7.4 编程及调试 205 第11章 通用数字块UDB 207 11.1 通用数字块概述 207% g: _* t; \8 \ 11.2 UDB模块结构 208 11.2.1 PLD模块结构及宏单元 208 11.2.2 数据通道模块 2091 _2 K/ k1 Z3 R8 ]2 C, N; G 11.2.3 状态和控制模块 2125 Q" Y7 d7 O3 G3 b/ o. h4 u0 l5 g 11.3 交通灯控制电路的设计与实现 213- j' } b4 g) m 11.3.1 交通灯设计原理 213 11.3.2 交通灯控制电路的设计 2134 Q5 C4 N2 f+ v- m6 O" J+ i' G 11.3.3 引脚分配 218( y" `% Z; i$ c( @ 11.3.4 设计下载与测试 218$ H# G1 f# K& E& k 11.4 静态时序分析 2180 u9 c& V9 [" O2 w 第12章 模拟前端模块 220 12.1 模拟比较器 2209 A" q- e) b! P) [- Y 12.1.1 输入和输出接口 220$ c6 f7 H" k& q# g/ w 12.1.2 LUT 220' @7 f# F P. D1 P2 R7 R 12.2 运算放大器模块 2219 ?/ k' Y8 ~/ P+ L& k/ t. \ 12.3 可编程SC/CT模块 223 12.3.1 单纯的放大器 224 12.3.2 单位增益 225 12.3.3 可编程增益放大器 225 12.3.4 互阻放大器 227 12.3.5 连续时间混频器 2287 w. ?" T+ B" A# x( r 12.3.6 采样混频器 2283 f1 Z' J/ @) q2 ~4 c+ } 12.3.7 Δ-Σ调制器 230! R4 [. [+ t2 z } 12.3.8 跟踪和保持放大器 231$ f# f1 E. N0 \0 V2 [3 V 12.4 精密参考源 231 12.5 基于混频器的精确整流实现 233 12.5.1 整流器设计原理 2331 h8 r5 H' p0 x' m' d6 P, Z 12.5.2 创建和配置工程 233 12.5.3 编写软件程序 237 12.5.4 编程及调试 2373 U+ |1 i+ C& W, E N/ H; { 第13章 ADC和DAC模块 238 13.1 Δ-ΣADC模块 238' r: o5 {! Y4 A0 a0 i 13.1.1 Δ-ΣADC模块概述 238 13.1.2 Δ-ΣADC结构 239 13.1.3 Δ-Σ ADC操作模式 241# s0 y) }0 H0 G# l 13.2 SAR ADC模块 2425 @2 ^0 t5 _% L# ~4 T 13.2.1 SAR ADC模块概述 242 13.2.2 SAR ADC模块的工作原理 242 13.3 DAC模块 243. k! g1 a1 N7 t- K# p B0 C; c2 d% E! K 13.4 基于SAR ADC的数字电压表实现 246 13.4.1 创建和配置工程 246 13.4.2 编写软件程序 2498 t+ ?5 `7 B1 s, c( }. A3 `1 i# q 13.4.3 编程及调试 250 13.5 基于Δ-Σ ADC的数字电压表实现 251 A6 f# m9 [! c- n 13.5.1 创建和配置工程 251 13.5.2 编写软件程序 253 13.5.3 编程及调试 254 13.6 IDAC值显示的实现 254 13.6.1 创建和配置工程 255 13.6.2 编写软件程序 258 13.6.3 编程及调试 258 第14章 电容感应模块 259' Y5 F! _! W4 O* g6 B4 y8 t 14.1 电容感应模块的结构 259$ Y1 b4 \, b& o; S. P 14.2 电容感应Δ-Σ算法 262+ U: K( z+ B- x& ~% {2 f 14.3 电容感应触摸的实现 263, {' ` U0 J1 c8 U1 G 14.3.1 创建和配置工程 2635 O5 t6 e7 h3 |" R% m0 w 14.3.2 编写软件程序 266 14.3.3 编程及调试 267- W7 b( g4 E) M% Z% E 第15章 数字滤波器模块 268' c; q* g6 z! [: f( P, i 15.1 数字滤波器模块概述 2687 `+ T% l# ?, I9 g4 U" F3 ~ 15.2 数字滤波器模块结构 2691 h# E& z' F* I* Z 15.2.1 控制器 269 15.2.2 FSM RAM 270- ]4 S" @( v* {" E' r; i. y% I 15.2.3 数据通道 2728 ?( [% s1 ?) Z% | 15.2.4 地址计算单元 2735 ?& b& o" K4 `4 ] 15.2.5 总线接口和寄存器描述 274' r7 F/ B# u& ] m0 [ 15.3 基于DFB的数字滤波器实现 276 15.3.1 系统结构概述 276" J& Q7 {) O3 j8 s 15.3.2 元件参数配置 276 15.3.3 DMA配置向导 280 15.3.4 编写软件程序 2825 |3 P9 W5 Y+ B/ }7 |2 O0 x1 T 15.3.5 编程及调试 283" ~6 h" o( d1 g$ j 第16章 μC-OS/III操作系统 284 16.1 μC-OS/III操作系统概述 284) x7 Y8 Q& \$ }0 y. l. S& J d* m, d 16.1.1 操作系统的作用 284, }% l) r9 t3 M1 W1 ^0 i 16.1.2 μC-OS/III操作系统内核特征 2858 z- }2 m: r) X4 H& @ 16.1.3 μC/OS-III操作系统文件的结构 288. J1 G0 A, k" S1 }* I 16.1.4 μC/OS-III操作系统应用程序结构分析 289) g3 G6 j% V9 C0 e$ k# F+ ? 16.2 μC-OS/III操作系统内核及功能 296 16.2.1 单任务和多任务处理 296: a. g2 H& b) M& ]; t5 x# a 16.2.2 临界区 300; O" |, m8 @5 J' z 16.2.3 任务管理 300! Z2 }2 q5 w4 J3 n 16.2.4 准备列表 301 16.2.5 调度 301 16.2.6 上下文切换 302 16.2.7 中断管理 302 16.2.8 等待列表 303, b$ D3 C# Z. M `! B1 v; n 16.2.9 时间管理 303 16.2.10 定时器管理 303 16.2.11 资源管理 304 16.2.12 消息传递 305. V6 s* G- c9 r, D& N 16.2.13 多个对象等待处理 307 16.2.14 存储器管理 308 16.3 PSoC5硬件系统的构建 309 16.4 添加中断代码到ISR中 310 16.4.1 添加中断代码到ProbeUART_TxISR.c中 310 16.4.2 添加中断代码到ProbeUART_RxISR.c中 3112 d' L9 c2 v) J( T) { 16.5 配置引脚 311 16.6 运行设计 312& I; L/ B7 Z: c" M& r/ b* X/ y! n 16.7 启动μC/Probe工具 313 参考文献 316"8 q% e1 m4 L, c/ Y, l( j- p i 当当网购买链接 亚马逊网购买链接2 `7 q; W8 j5 R4 P5 J$ g' X 电子书籍下载链接 |
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可编程片上系统原理及应用》
无法下载呀