作 者:何宾 编著 出 版 社:化学工业出版社+ W- \# X& i1 V2 Z9 \$ d, j6 g 出版时间: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公司相关内容的培训教材。为方便读者学习,本书附赠光盘,包含书中源程序和教学课件。( }" n; b) }) {/ Q 目录5 X5 T8 q" I4 L: E8 n9 C; v- U* f$ f "第1章 PSoC设计导论 1% |& y* g9 W; l+ P) C 1.1 微控制器基础 1, F* |# Z% T' D+ J9 q& O6 e" P8 y# ] 1.1.1 微控制器的涵义 1; e1 @! x' d; o" A/ Q) f% e1 P 1.1.2 微控制器编程语言 2$ t% u; ^$ ]$ J5 J# y2 h 1.2 可编程片上系统PSoC概述 3 1.2.1 PSoC发展概述 3 1.2.2 PSoC设计方法 5 |9 i9 o. ?, N8 X8 r. S6 H 1.3 PSoC5设计流程 7- W& \9 R( R# F) i- h$ v( t 1.3.1 硬件设计流程 82 }- n8 m |; m' m 1.3.2 软件设计流程 91 Z+ g X+ x$ B9 N& Z 1.4 PSoC5的结构及功能 10 1.4.1 PSoC5系统结构概述 10 1.4.2 数字子系统结构及功能 10 1.4.3 模拟子系统结构及功能 13 1.4.4 输入/输出引脚功能 14: V- y4 N, o3 L# e& _9 X+ F 1.5 PSoC5器件概述 15- U7 J5 \& ]/ V. t9 }2 j 1.5.1 PSoC5引脚分布 15 1.5.2 PSoC5器件分类和资源 164 Z$ G: {1 j" o& v! c( \( d 第2章 PSoC5 CPU及存储子系统 19# y; H A( |0 d8 e5 k( a R 2.1 Cortex-M3内核结构概述 190 ~% H; M' W6 a0 H8 t' V) a 2.1.1 Cortex-M3内核结构特性 19% P/ f% v# i5 k% q 2.1.2 流水线结构 20* t& w8 q) E5 z& I- C, u% w6 j1 F 2.1.3 寄存器 20 2.1.4 操作模式 23 2.1.5 SysTick定时器 23 2.1.6 存储器空间映射 23 2.1.7 异常及处理 26 2.2 嵌套向量中断控制器 26: E) K/ m4 f4 Y9 d7 C 2.2.1 中断控制器的特性 26 2.2.2 中断使能 288 s& E4 q" ]7 \4 P O' j$ t 2.2.3 中断优先级 29 2.2.4 电平/脉冲中断 307 A/ l R8 S4 x5 V7 w 2.2.5 中断的执行 30, M4 ]8 \+ O: O/ i8 T 2.2.6 PSoC5中断特性 311 o) P" n# U- J7 l7 @ 2.2.7 中断控制器和功耗模式 342 y5 T3 X2 j0 P, ~$ _ @ 2.3 高速缓存控制器 35# A5 X, e% W" y. c9 Z8 E 2.4 PHUB和DMA控制器 36 2.4.1 PHUB 36) I$ G, L1 `# l/ C- v 2.4.2 DMA控制器 38 `# ?9 f) n! C5 a 2.4.3 访问DMAC 44 2.4.4 DMAC传输模式 45# ^0 X$ k, m h# t1 {/ D* D 2.4.5 PHUB和DMAC寄存器列表 46: T6 }; F- s; u 2.5 PSoC5存储器系统 477 H/ {! y0 m- t( D; i 2.5.1 SRAM存储器结构及功能 47 2.5.2 非易失性锁存器结构及功能 48 2.5.3 Flash程序存储器结构及功能 491 ?3 t( P0 S; J1 F' T; ^0 V 2.5.4 EEPROM存储器结构及功能 50. X" K) ?$ H, ?0 T5 r# S) e 第3章 PSoC5 CPU指令系统 51 a8 u% _. f& E0 g7 k+ S2 K% { 3.1 Cortex-M3指令寻址模式 515 X9 y& Z) u$ j1 ` [ 3.2 Cortex-M3 CPU指令集 53$ W! B& p: p0 x5 ^6 S5 n' r/ e 3.2.1 Cortex-M3指令集概述 530 ?; _0 y8 r/ ~; ~ 3.2.2 CMSIS函数 549 u8 h2 {7 h7 _ 3.2.3 存储器访问指令 541 }. E: A6 N; p& P2 I$ _ 3.2.4 通用数据处理指令 61 3.2.5 乘法和除法指令 69 3.2.6 饱和指令 71 3.2.7 比特位操作指令 72 3.2.8 分支和控制指令 74- `) Z. P0 Z/ M. E 3.2.9 杂项操作指令 770 n! }* B9 G$ u# {1 v' i2 l6 @" z 3.3 Cortex-M3 汇编语言编程模型 80 第4章 PSoC5公共资源 82+ ~+ J$ E$ C/ Z3 |. [ 4.1 时钟管理 829 \* n* v- p6 c2 ~" v 4.1.1 内部振荡器 83! {/ _& S) D7 F2 n/ G 4.1.2 外部振荡器 84+ ]! L. N* J* o" m9 d& C 4.1.3 DSI时钟 86 4.1.4 相位锁相环 86$ C6 T4 n$ k3 f( w1 T, ?9 e: P- @) N 4.1.5 USB时钟 86 4.2 电源管理 87 4.2.1 电源模式 875 i7 z9 I- J! `1 H2 v7 X 4.2.2 电源监控 89 4.3 看门狗定时器 89$ w& Y: {7 G3 z' |& t 4.4 复位 90 4.4.1 复位模块功能介绍 90 4.4.2 复位源 91 4.5 I/O系统和布线资源 92$ W% J- W; ], P# C 4.5.1 I/O系统特性 92$ ~& i' L! o& l# n8 a0 r 4.5.2 I/O驱动模式 94# w+ R$ _- [# q: ^% J) a& o 4.5.3 DSI控制数字I/O 97 4.5.4 模拟I/O引脚 992 k& A3 e- J7 k7 S( l 4.5.5 LCD驱动引脚 100 4.5.6 电容感应触摸引脚 100 4.5.7 SIO功能和特性 100 4.5.8 上电时I/O配置 101* e5 L8 i" t9 q" e; j' ~ 4.5.9 过电压容限 1013 \ ]7 J' }! M2 K9 W& S4 A 4.5.10 端口中断控制器单元 102 第5章 PSoC编程和调试接口功能 104+ U7 T" i; |6 u$ c9 ] 5.1 测试控制器 1045 _' u; J& ~) N2 c" ~ 5.1.1 测试控制器结构 104 5.1.2 SWD接口规范 104* Z+ q1 N) k/ `$ n& p 5.1.3 PSoC5 SWD的特性 106 5.2 Cortex-M3调试和跟踪 107( V7 S3 u' p& m, u' b% ^2 s 5.2.1 内核调试 1088 t4 @9 J G0 K! o4 }( \3 _ 5.2.2 系统调试 109$ X; ?1 v1 e* W! }8 v 5.3 非易失性存储器编程 1105 V% x Z9 g$ V8 w, h. l+ N5 w F 第6章 基于PSoC Creator的程序设计 112/ s! j) ]& U# x, T' S2 |3 F5 H8 Y4 } 6.1 PSoC Creator软件功能 112( G7 ^8 Y" ^$ o' O' [: g) |( n* C 6.2 汇编语言GPIO控制程序的设计 113' A n; Y: D' W0 W5 R* V( ?, m+ e$ l* b 6.2.1 创建和配置工程 113+ }$ H1 N; T. ~6 |( P8 _ `* B 6.2.2 查看和设置公共资源 114$ L( t2 B v! z. z; `; X 6.2.3 编写GPIO汇编语言控制程序 115 6.3 C语言GPIO控制程序的设计 119 6.3.1 使用C语言指针对GPIO端口控制 1205 M- i! b* [) m1 a2 h5 G 6.3.2 调用API函数对GPIO端口控制 120 6.3.3 PSoC5的SRAM内函数定位 126 6.4 中断服务程序的设计 128 6.4.1 创建和配置工程 128 6.4.2 添加IP核资源到设计 1288 P% z" Y4 G) U1 ^* Z% `3 q 6.4.3 IP核参数配置和连接 129 6.4.4 中断服务程序的设计 131 6.4.5 下载并调试工程 133 第7章 定时器、计数器和PWM模块 134 7.1 定时器模块特性 134 7.2 定时器模块结构 134: X% Y/ k5 q8 @% S* |' m 7.2.1 时钟选择 135 7.2.2 使能/禁止模块 1367 o% u- Y; x g- T! p' B 7.2.3 输入信号特性 136 g( |% s/ q8 Q 7.2.4 操作模式 1372 f' k W/ H5 N9 r 7.2.5 中断使能 141$ X" M& }+ u/ T4 @+ l; x, S4 b5 ] 7.2.6 寄存器列表 141 z; {. O) _) J" g) O+ d 7.3 PWM控制LED显示的实现 142 7.3.1 创建和配置工程 142 7.3.2 编写软件程序 1469 T* _2 q+ [9 v6 y* c. h 7.3.3 编程及调试 147 第8章 LCD显示驱动模块 148& ?" Q3 V& w' r 8.1 LCD的工作原理 148 8.1.1 LCD物理结构 148' _* y8 Y- m* T8 N; Q6 d. Q 8.1.2 LCD液晶分类 149 8.2 LCD驱动特性 154 8.3 LCD驱动系统 154 8.4 LCD功能描述 155) u3 h; I6 o. y0 a! }' D 8.4.1 LCD DAC 155 8.4.2 LCD配置选项 156, Y! f6 ^& G, R. |" v! X 8.4.3 LCD驱动模块 156/ M6 m: n5 ?1 C8 P0 d 8.4.4 UDB 159 8.4.5 DMA 159( ^& h, }( @5 e 8.5 段式LCD显示的实现 160 8.5.1 段式LCD的功能 160 8.5.2 段式LCD的参数配置 162 8.5.3 编写软件程序 167 8.5.4 编程及调试 169 第9章 I2C总线模块 1708 Q, `% o1 y: `4 x 9.1 I2C总线模块概述 170 9.2 I2C总线实现原理 171$ M! ~0 {- c, Q h" |4 { 9.2.1 I2C总线模块结构 171 9.2.2 典型的I2C数据传输 171 9.2.3 I2C总线寄存器及操作 1724 G+ m7 _& z: T; i 9.3 I2C总线操作模式 173 9.3.1 从模式 173 9.3.2 主模式 174 9.3.3 多主模式 175 9.4 I2C模块通信的实现 176 9.4.1 系统实现原理 176 9.4.2 创建和配置工程 1778 v% J' _: F& Y/ \* g 9.4.3 编写软件程序 181 9.4.4 编程及调试 183 第10章 USB总线模块 184 10.1 USB总线模块概述 184/ F0 j G4 V, R- @, _" J2 s) h 10.2 USB模块结构 1846 W% F8 C' {. M' T5 N- I" O 10.2.1 串行接口引擎SIE 185 10.2.2 仲裁器 1867 M7 v `% ]9 q. n 10.3 USB模块工作条件 187 10.3.1 工作频率 187* K, a4 N5 |. c$ ` 10.3.2 工作电压 188/ ?# F" D% K% ^9 s# `4 f 10.3.3 收发器 188. ?1 K* i5 V! Z; l" @+ G5 I 10.3.4 端点 188- l/ i! `. P$ u& I$ q 10.3.5 传输类型 188- v/ X k c: t% @" t) s& f 10.3.6 中断 1896 N! O+ z; W/ i: ]$ m 10.4 逻辑传输模式 189 10.4.1 非DMA访问 1909 J+ S) B% [, @2 { 10.4.2 手工DMA访问 190 10.4.3 控制端点的逻辑传输 193: [/ y2 T* c; Y S* r( b 10.5 PS/2和CMOS I/O模式 194 10.6 USB模块寄存器列表 194 10.7 USB人体学输入设备的实现 195 10.7.1 人体接口设备的原理 195 d/ v- A# }* R6 e& {( C 10.7.2 创建和配置工程 200 10.7.3 编写软件程序 204 10.7.4 编程及调试 205$ O4 r1 l. i( w/ B7 Q- ~ 第11章 通用数字块UDB 207 11.1 通用数字块概述 207 11.2 UDB模块结构 208) }4 D: L) q0 @5 J. A- @ 11.2.1 PLD模块结构及宏单元 208- _4 J- t) Z0 f4 B. C 11.2.2 数据通道模块 209: g( Y4 c, n+ b7 z* U: c 11.2.3 状态和控制模块 212+ B. a, _2 M5 M 11.3 交通灯控制电路的设计与实现 213! a9 ?% s4 U$ ~+ h0 n- q5 f1 K 11.3.1 交通灯设计原理 213 11.3.2 交通灯控制电路的设计 213 11.3.3 引脚分配 218 11.3.4 设计下载与测试 2181 e# N' Q% g, ~+ k$ f 11.4 静态时序分析 218 第12章 模拟前端模块 2206 X% ^9 ]3 y. k( j/ g: o 12.1 模拟比较器 2200 k5 ^) Y( B3 H& r' Y 12.1.1 输入和输出接口 2205 @! q& ]* j3 P 12.1.2 LUT 220+ E7 ^& A W# q! n1 j- v | 12.2 运算放大器模块 221; i% Q/ ^ L* q9 t$ i# C 12.3 可编程SC/CT模块 223 12.3.1 单纯的放大器 2243 t b+ A' M) W4 P, \ 12.3.2 单位增益 2254 u* s; Y4 }( S" T/ `) Z6 \7 i 12.3.3 可编程增益放大器 225 12.3.4 互阻放大器 227 12.3.5 连续时间混频器 2288 C1 Z" x2 u; C7 z& |) `; K* S 12.3.6 采样混频器 228 12.3.7 Δ-Σ调制器 230 12.3.8 跟踪和保持放大器 231 12.4 精密参考源 231/ M1 ?; U) k: j6 a/ s3 G1 ]; y1 S 12.5 基于混频器的精确整流实现 233+ R1 P/ y: w: Q; m8 {2 T" ^ 12.5.1 整流器设计原理 233 12.5.2 创建和配置工程 233 12.5.3 编写软件程序 237 12.5.4 编程及调试 2376 K% ^+ f0 J- n* B6 [4 p; Z. ?/ g 第13章 ADC和DAC模块 238 13.1 Δ-ΣADC模块 238 13.1.1 Δ-ΣADC模块概述 238 13.1.2 Δ-ΣADC结构 239 ~; ~ x6 J/ K( |: [ 13.1.3 Δ-Σ ADC操作模式 2413 ]: G1 L7 p6 D" W6 s- \4 u, T 13.2 SAR ADC模块 242 13.2.1 SAR ADC模块概述 242- p9 ~& k2 W. ]" J b2 A 13.2.2 SAR ADC模块的工作原理 2429 p7 h+ A& x, V8 ~* u/ B# W 13.3 DAC模块 243 13.4 基于SAR ADC的数字电压表实现 246+ E8 P# ^* c. t8 W9 K1 K8 C( b 13.4.1 创建和配置工程 246( q* r# p* H+ f0 p+ H0 v! F( L 13.4.2 编写软件程序 2492 n, x7 K9 D5 u: Y4 ^0 m4 O 13.4.3 编程及调试 250, t% k m% s) E* S' c) @ 13.5 基于Δ-Σ ADC的数字电压表实现 2514 Z% w+ _1 S* R; q/ [, B/ k4 r 13.5.1 创建和配置工程 251$ b, N+ i$ `% c/ X 13.5.2 编写软件程序 2532 q' ~2 D; b4 R* X9 h5 _* f 13.5.3 编程及调试 254+ c5 I9 N6 K( V 13.6 IDAC值显示的实现 254 13.6.1 创建和配置工程 255 13.6.2 编写软件程序 258) E- d3 t) n" o# j2 J' V. D+ @ 13.6.3 编程及调试 2581 ?& i3 U& u% F( h3 {# Q 第14章 电容感应模块 259+ F) p8 j3 W8 |* j 14.1 电容感应模块的结构 2592 x1 M* Z) Q; z5 Z# t4 n$ i 14.2 电容感应Δ-Σ算法 2621 P9 C( P+ l7 z0 A 14.3 电容感应触摸的实现 263" d: f; U" S4 s7 O; t# C 14.3.1 创建和配置工程 2633 a% n7 O1 |' d( L 14.3.2 编写软件程序 266 14.3.3 编程及调试 267 第15章 数字滤波器模块 268" W S. r' Y; ?( h1 m, x4 u 15.1 数字滤波器模块概述 268 15.2 数字滤波器模块结构 269 15.2.1 控制器 269 15.2.2 FSM RAM 2704 L/ O- b: E' Z 15.2.3 数据通道 272& k0 M j' h) f8 v3 m! ]0 e, A 15.2.4 地址计算单元 273. ?1 S5 F. ~4 Q3 S: ^& S 15.2.5 总线接口和寄存器描述 2743 l/ a, b- R6 L. ~- B* N 15.3 基于DFB的数字滤波器实现 276 15.3.1 系统结构概述 276 15.3.2 元件参数配置 276$ S6 }% d2 ?2 U/ r5 w 15.3.3 DMA配置向导 2807 L- }1 d$ U9 Q( w9 Z 15.3.4 编写软件程序 282 15.3.5 编程及调试 283 第16章 μC-OS/III操作系统 284: Q- V: E1 H1 M4 [: W- o! }3 M; G 16.1 μC-OS/III操作系统概述 284 16.1.1 操作系统的作用 284/ c" g, P. e1 b( j 16.1.2 μC-OS/III操作系统内核特征 285 16.1.3 μC/OS-III操作系统文件的结构 288 16.1.4 μC/OS-III操作系统应用程序结构分析 289! g0 w9 G: c* S% h* @3 K 16.2 μC-OS/III操作系统内核及功能 296 16.2.1 单任务和多任务处理 296 16.2.2 临界区 300 16.2.3 任务管理 300 16.2.4 准备列表 301' s1 f9 {0 B+ h( n# s# z9 _ 16.2.5 调度 301 16.2.6 上下文切换 302 16.2.7 中断管理 3025 q4 i. x3 i' o2 L8 |5 q5 v 16.2.8 等待列表 303- _0 I3 o8 b$ T' g) X7 a8 x5 d1 Z 16.2.9 时间管理 303/ }# a3 Q3 {& F f4 c9 a! }6 {& l 16.2.10 定时器管理 303 16.2.11 资源管理 304 16.2.12 消息传递 305 16.2.13 多个对象等待处理 307 16.2.14 存储器管理 308 16.3 PSoC5硬件系统的构建 3095 }0 B& i' Y5 G* b3 H+ w( q 16.4 添加中断代码到ISR中 310 16.4.1 添加中断代码到ProbeUART_TxISR.c中 3107 m, }# @& L& K7 T5 D5 L2 c% G 16.4.2 添加中断代码到ProbeUART_RxISR.c中 311/ i K1 b5 V& I; ~& q( r8 t 16.5 配置引脚 311" d$ f" g& S( f7 z4 l+ ? 16.6 运行设计 312 16.7 启动μC/Probe工具 313 参考文献 316" 当当网购买链接; i! V" O% o2 E1 Q' N! j* m 亚马逊网购买链接4 Y( {( Z( d5 w6 O8 ^ 电子书籍下载链接 |
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
【STM32图书分享之九】—《STM32F 32位ARM微控制器应用设计与实践》
无刷直流电机控制应用+基于STM8S系列单片机---电子书
STM32 USB的程序,包含固件、驱动和测试用的应用程序
工业以太网总线ETHERCAT驱动程序设计及应用(扫描版)
【实战经验】STM32 DFSDM测量温度应用
【实战经验】基于STM32 I2S的音频应用开发介绍
【中文文档】AN4112_使用STM32F05xx模拟比较器的六个应用案例
[连载]STM32F103ZET6 uCGUI3.90a控件应用教程(第五节 复选框和单选按钮)
RE:【STM32图书分享之十八】—《Cortex-M3可编程片上系统原理及应用》
无法下载呀