作 者:何宾 编著 出 版 社:化学工业出版社 出版时间: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公司相关内容的培训教材。为方便读者学习,本书附赠光盘,包含书中源程序和教学课件。 目录) V3 T) X5 a! W/ G" \3 i S "第1章 PSoC设计导论 1 1.1 微控制器基础 1+ b( i! s* d3 d0 W; Z 1.1.1 微控制器的涵义 1 1.1.2 微控制器编程语言 27 H8 ~- g9 W: A; t5 \4 z1 D1 E 1.2 可编程片上系统PSoC概述 3, O# o9 o, }/ o* N' `9 C. ~ 1.2.1 PSoC发展概述 3( h0 X' S/ d5 c9 l. W: X& {$ W 1.2.2 PSoC设计方法 5( u+ {0 K/ ~3 }. @4 z, I 1.3 PSoC5设计流程 7( A; l* p4 T$ L 1.3.1 硬件设计流程 80 T& j1 k6 T( ]8 M9 v( Z' r" F 1.3.2 软件设计流程 9- Z% a c2 u2 b 1.4 PSoC5的结构及功能 100 S; v' q0 G& q/ V8 b 1.4.1 PSoC5系统结构概述 10 1.4.2 数字子系统结构及功能 10 1.4.3 模拟子系统结构及功能 13# n: r" z7 W$ {9 H; I 1.4.4 输入/输出引脚功能 14 1.5 PSoC5器件概述 15 1.5.1 PSoC5引脚分布 155 R: a$ [2 |* }3 b' j 1.5.2 PSoC5器件分类和资源 16" v( w e. m" M! @ 第2章 PSoC5 CPU及存储子系统 19 2.1 Cortex-M3内核结构概述 19 2.1.1 Cortex-M3内核结构特性 19 2.1.2 流水线结构 20 2.1.3 寄存器 20 2.1.4 操作模式 237 w B& a$ y: U# T 2.1.5 SysTick定时器 23 2.1.6 存储器空间映射 23 2.1.7 异常及处理 26 2.2 嵌套向量中断控制器 268 b+ S h" w8 b) S l- C 2.2.1 中断控制器的特性 266 R1 x+ l8 _7 t0 z' M, _# Y" r 2.2.2 中断使能 28 2.2.3 中断优先级 29 2.2.4 电平/脉冲中断 30; H1 }" D+ P o 2.2.5 中断的执行 30 e$ [1 T6 k. N 2.2.6 PSoC5中断特性 31 2.2.7 中断控制器和功耗模式 34- |% [% g+ W0 T/ m( |4 ~ h+ Q. r 2.3 高速缓存控制器 35; U9 }" U) c' m 2.4 PHUB和DMA控制器 36 2.4.1 PHUB 36 2.4.2 DMA控制器 386 X/ h& \5 x7 i# s: j- }2 h 2.4.3 访问DMAC 440 F% Y6 H- L1 r1 j1 U) U7 K 2.4.4 DMAC传输模式 451 {$ t% e2 N- V$ l" c7 Q6 N 2.4.5 PHUB和DMAC寄存器列表 46 2.5 PSoC5存储器系统 472 p( u* W+ E- i3 S: X% N+ O" _ 2.5.1 SRAM存储器结构及功能 47 2.5.2 非易失性锁存器结构及功能 48 2.5.3 Flash程序存储器结构及功能 494 Y7 e- G+ m2 H- _2 r. ]- P 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指令集概述 531 d4 N, t4 L7 j* X# a 3.2.2 CMSIS函数 54 3.2.3 存储器访问指令 54 3.2.4 通用数据处理指令 619 G2 p& r! e( e, [ 3.2.5 乘法和除法指令 69' f+ D, C" i) \( }$ ^ 3.2.6 饱和指令 71 3.2.7 比特位操作指令 72 3.2.8 分支和控制指令 74 3.2.9 杂项操作指令 77! |8 T( s9 q1 p2 V5 B 3.3 Cortex-M3 汇编语言编程模型 80 第4章 PSoC5公共资源 821 o, ?" v3 W$ y! U. P/ z 4.1 时钟管理 82 4.1.1 内部振荡器 83 4.1.2 外部振荡器 84 4.1.3 DSI时钟 868 l) b+ _" @! c3 R/ Y+ T- E* ^ 4.1.4 相位锁相环 864 s k$ j8 a5 u2 t# R 4.1.5 USB时钟 86 4.2 电源管理 87 4.2.1 电源模式 874 B& n- T7 L, y9 _" ]" l9 P 4.2.2 电源监控 89, \) G- G7 D7 J9 h* T8 W, l 4.3 看门狗定时器 89 4.4 复位 90& k# \" o, I1 I5 b% b# Q* F 4.4.1 复位模块功能介绍 90 4.4.2 复位源 91# b% Z% |3 @7 f# y' l8 r+ T 4.5 I/O系统和布线资源 92 4.5.1 I/O系统特性 92 4.5.2 I/O驱动模式 94 4.5.3 DSI控制数字I/O 97/ O* h) d7 W0 W- _. r. X% v 4.5.4 模拟I/O引脚 99 4.5.5 LCD驱动引脚 100 4.5.6 电容感应触摸引脚 100 4.5.7 SIO功能和特性 100 4.5.8 上电时I/O配置 101& d9 N" \. q d! e3 d 4.5.9 过电压容限 1011 Q2 g* L4 v" z r% i* u+ I 4.5.10 端口中断控制器单元 102 第5章 PSoC编程和调试接口功能 104( i1 k+ l9 k. g& w; N3 B4 l- c 5.1 测试控制器 1048 H# `2 P/ @) N7 z0 c6 a9 K 5.1.1 测试控制器结构 1044 @( w% c* D& A8 M# }" c$ H 5.1.2 SWD接口规范 104 5.1.3 PSoC5 SWD的特性 1066 l1 a0 G* G9 n; {* u7 j( r 5.2 Cortex-M3调试和跟踪 107- }3 s9 n) d' D7 h3 c+ u; A 5.2.1 内核调试 108 5.2.2 系统调试 109 5.3 非易失性存储器编程 110* p* Y7 V' t D# Q4 S1 E {# m 第6章 基于PSoC Creator的程序设计 1125 L: [) s9 a/ P7 e) _ 6.1 PSoC Creator软件功能 112 6.2 汇编语言GPIO控制程序的设计 113 6.2.1 创建和配置工程 113 o Q- u9 M' N 6.2.2 查看和设置公共资源 114 6.2.3 编写GPIO汇编语言控制程序 115 6.3 C语言GPIO控制程序的设计 119 6.3.1 使用C语言指针对GPIO端口控制 120, P* H9 C% r( d0 _' I4 L 6.3.2 调用API函数对GPIO端口控制 120 6.3.3 PSoC5的SRAM内函数定位 1266 q: [, b% k5 {& r1 S% d+ F 6.4 中断服务程序的设计 128( X& B. c5 A1 M7 ~ 6.4.1 创建和配置工程 128 6.4.2 添加IP核资源到设计 128 i% S# H6 @% t8 }. Q5 n1 E 6.4.3 IP核参数配置和连接 129 6.4.4 中断服务程序的设计 131# u5 \$ o* p# n+ t! e# y 6.4.5 下载并调试工程 133 第7章 定时器、计数器和PWM模块 134) ]# b q7 N6 |/ k5 U 7.1 定时器模块特性 134 S8 B5 b* v1 E3 a# K 7.2 定时器模块结构 134# A# j4 u6 t/ T6 f5 t. P3 u 7.2.1 时钟选择 135" W( e8 H" ^$ o 7.2.2 使能/禁止模块 136/ A5 ?# Z6 z0 {& i- E* Y$ b; O 7.2.3 输入信号特性 136# N) Z% }9 i, W, K, T( M7 {& I5 R 7.2.4 操作模式 137 7.2.5 中断使能 141 7.2.6 寄存器列表 141: ^% r: f( r$ v+ I' k 7.3 PWM控制LED显示的实现 142 D: X& |" x1 |& v" ^5 X 7.3.1 创建和配置工程 142 7.3.2 编写软件程序 146 7.3.3 编程及调试 147- e. j; }0 S- x# }8 ~ 第8章 LCD显示驱动模块 148 8.1 LCD的工作原理 148* h) ]; H0 F6 {& _) S: E 8.1.1 LCD物理结构 148 8.1.2 LCD液晶分类 149 8.2 LCD驱动特性 154 8.3 LCD驱动系统 1545 b! y- H, A" U1 _5 i4 [ 8.4 LCD功能描述 1557 p/ w! R+ {4 l; s& D" h 8.4.1 LCD DAC 155 j/ F8 s G* |% @ 8.4.2 LCD配置选项 156 8.4.3 LCD驱动模块 156 X0 d2 ^5 R$ i 8.4.4 UDB 159+ {4 s* M, N9 z0 h$ I6 T 8.4.5 DMA 1590 G# |' B, A. T! T 8.5 段式LCD显示的实现 1607 M" ^: i) b5 v9 j- u. s! Z. Z 8.5.1 段式LCD的功能 160 8.5.2 段式LCD的参数配置 1624 D" T0 D2 O3 e" [: F2 l/ S* }% ? 8.5.3 编写软件程序 167, V, D }3 W8 ^' Q+ L 8.5.4 编程及调试 169 O# L! S y# L* G$ Q5 e 第9章 I2C总线模块 170 9.1 I2C总线模块概述 170! l5 D1 `3 J; M 9.2 I2C总线实现原理 171 9.2.1 I2C总线模块结构 171. `$ R7 q. A/ e9 S& V9 N, } 9.2.2 典型的I2C数据传输 171, [% h" B- u: }+ [; `: B1 ] 9.2.3 I2C总线寄存器及操作 172 9.3 I2C总线操作模式 1738 t8 p5 V8 t+ ]3 \ 9.3.1 从模式 173 9.3.2 主模式 174 9.3.3 多主模式 175 9.4 I2C模块通信的实现 1761 S4 {. ]$ e* b! k. M+ v; G$ R! k6 | 9.4.1 系统实现原理 176 9.4.2 创建和配置工程 177 9.4.3 编写软件程序 181' J' H% h; U6 L5 M! Z! }& t l9 Q 9.4.4 编程及调试 183 d3 L) y1 `$ T* x E' G: D 第10章 USB总线模块 1847 V% H: K& M) g0 Y 10.1 USB总线模块概述 184 10.2 USB模块结构 184) S8 z! g. S$ T( Q' A: r7 S2 w 10.2.1 串行接口引擎SIE 1853 Z8 | \- Z8 D2 K% _- @ 10.2.2 仲裁器 186. d5 p# e" E2 I* E E 10.3 USB模块工作条件 1870 k3 [) _- f2 J- A& U3 x3 X7 E* U 10.3.1 工作频率 1877 M% V, v* j8 C$ v3 H5 ?+ p6 O 10.3.2 工作电压 188 _1 G- F, n- Z 10.3.3 收发器 1888 j! o: R8 E; V 10.3.4 端点 188 10.3.5 传输类型 188+ V+ M+ \1 ]) e5 [, j! ?* |# a! t 10.3.6 中断 189" N# r0 V/ @4 i! ~7 w& s; z5 Z3 N* y 10.4 逻辑传输模式 189 10.4.1 非DMA访问 190! N: I% y3 Z% Z J2 V: W! D9 W9 p2 L3 O 10.4.2 手工DMA访问 190 10.4.3 控制端点的逻辑传输 193 10.5 PS/2和CMOS I/O模式 1944 b$ E* V/ ^# ~. d$ U, H6 V 10.6 USB模块寄存器列表 1944 f* k- N+ f: W% y+ |8 W0 b1 h 10.7 USB人体学输入设备的实现 195 c# v5 M2 y- {6 U6 R 10.7.1 人体接口设备的原理 1956 I* E: V, X6 ~; _" G 10.7.2 创建和配置工程 2005 Z% y; `& w( K( b( ]0 L 10.7.3 编写软件程序 204 10.7.4 编程及调试 205 第11章 通用数字块UDB 207 11.1 通用数字块概述 207 11.2 UDB模块结构 208 11.2.1 PLD模块结构及宏单元 208; y! [( N( F L4 g) H 11.2.2 数据通道模块 209 11.2.3 状态和控制模块 212 11.3 交通灯控制电路的设计与实现 213 11.3.1 交通灯设计原理 213 11.3.2 交通灯控制电路的设计 213 11.3.3 引脚分配 218 11.3.4 设计下载与测试 218 11.4 静态时序分析 218 第12章 模拟前端模块 220 12.1 模拟比较器 220- l5 w* ]! e. [ 12.1.1 输入和输出接口 220 12.1.2 LUT 2204 \9 p5 c5 g6 a, d 12.2 运算放大器模块 2211 a& j9 v8 F- E5 q4 D4 O$ N& i 12.3 可编程SC/CT模块 2233 i/ m7 z2 s. s! o+ H) s# u 12.3.1 单纯的放大器 224 12.3.2 单位增益 225, W& }( v5 Y+ W1 M y: |1 ` 12.3.3 可编程增益放大器 225! N( H* _1 g" }8 `& B& S 12.3.4 互阻放大器 227 12.3.5 连续时间混频器 228 12.3.6 采样混频器 228 12.3.7 Δ-Σ调制器 230 12.3.8 跟踪和保持放大器 231 12.4 精密参考源 231 12.5 基于混频器的精确整流实现 233 12.5.1 整流器设计原理 233# C% I" f& \% {6 p/ Y& \ 12.5.2 创建和配置工程 233& Y* L# e1 q/ u( @! ` 12.5.3 编写软件程序 237 12.5.4 编程及调试 237 第13章 ADC和DAC模块 238. ^2 p, M5 D: W/ j1 P 13.1 Δ-ΣADC模块 238/ y) k. j0 {. m7 n, y 13.1.1 Δ-ΣADC模块概述 2382 b' T# R7 @5 ?: ?! w' N 13.1.2 Δ-ΣADC结构 239' f1 P* z4 |3 T/ x 13.1.3 Δ-Σ ADC操作模式 2414 t* w i- w( O! u, z 13.2 SAR ADC模块 242 13.2.1 SAR ADC模块概述 242 13.2.2 SAR ADC模块的工作原理 242 13.3 DAC模块 243 13.4 基于SAR ADC的数字电压表实现 246, W! Q8 P' G0 o- M# L0 D4 a 13.4.1 创建和配置工程 246& ]3 O1 l3 F! ?5 K ` 13.4.2 编写软件程序 249* [) t$ G+ O3 A" P7 x 13.4.3 编程及调试 250 13.5 基于Δ-Σ ADC的数字电压表实现 2512 m% R# t% O' G) u 13.5.1 创建和配置工程 251/ `. `3 X8 v P/ T( M 13.5.2 编写软件程序 253: ?6 _1 a& |9 W$ h 13.5.3 编程及调试 254 13.6 IDAC值显示的实现 2540 C5 J9 |: l5 \" _% A 13.6.1 创建和配置工程 255 13.6.2 编写软件程序 258" ~) ~! C4 N( N8 E3 n 13.6.3 编程及调试 258 第14章 电容感应模块 259 14.1 电容感应模块的结构 259 14.2 电容感应Δ-Σ算法 262! ?" V1 O7 l3 v* j 14.3 电容感应触摸的实现 263 14.3.1 创建和配置工程 263 14.3.2 编写软件程序 266 14.3.3 编程及调试 267 第15章 数字滤波器模块 268$ k9 m$ g2 x# ~& p7 o0 c# {/ b 15.1 数字滤波器模块概述 268 15.2 数字滤波器模块结构 269* l, `6 g& S- ^9 d ?/ o, G; } 15.2.1 控制器 269 15.2.2 FSM RAM 270 15.2.3 数据通道 2728 P- u) p) K+ A# e 15.2.4 地址计算单元 273' \( v* G: d0 L2 r# F 15.2.5 总线接口和寄存器描述 274% P" @$ w' w! q% l8 t9 [( Z 15.3 基于DFB的数字滤波器实现 2760 h0 R. @- D* ?1 L 15.3.1 系统结构概述 276 15.3.2 元件参数配置 276& Y' {' }5 O: k" s! b0 d 15.3.3 DMA配置向导 2801 B2 B6 A5 t/ k1 W 15.3.4 编写软件程序 282 15.3.5 编程及调试 283 第16章 μC-OS/III操作系统 284" u3 I: m' x; C3 f1 ]$ y 16.1 μC-OS/III操作系统概述 284& U$ U) \$ j3 P5 O b" Y7 ]4 I 16.1.1 操作系统的作用 284 16.1.2 μC-OS/III操作系统内核特征 285 16.1.3 μC/OS-III操作系统文件的结构 288 16.1.4 μC/OS-III操作系统应用程序结构分析 289 16.2 μC-OS/III操作系统内核及功能 2969 J. h/ D* B/ j6 E$ g 16.2.1 单任务和多任务处理 296 16.2.2 临界区 3002 @" M- B- m! Q) y& t n 16.2.3 任务管理 300, y; D: A; z1 i$ ?9 v" R! ] 16.2.4 准备列表 301 16.2.5 调度 301# Y3 U) {5 R( M% ]$ I& [ 16.2.6 上下文切换 302 16.2.7 中断管理 302 16.2.8 等待列表 303 16.2.9 时间管理 303. Y U- _- R% L6 _* C/ K 16.2.10 定时器管理 303 16.2.11 资源管理 304( {2 w L6 F$ V 16.2.12 消息传递 305 16.2.13 多个对象等待处理 3073 j% e, P# A8 r$ Z) ], M) K 16.2.14 存储器管理 308 16.3 PSoC5硬件系统的构建 309 16.4 添加中断代码到ISR中 310- b7 T5 }, G2 {; R) @% O0 N& e/ w 16.4.1 添加中断代码到ProbeUART_TxISR.c中 310 16.4.2 添加中断代码到ProbeUART_RxISR.c中 311 16.5 配置引脚 311 16.6 运行设计 3128 F. a8 h* K8 S- z6 l! `# B 16.7 启动μC/Probe工具 313: V% ]% t# j9 J 参考文献 316"2 V/ ~+ t6 H6 c _6 Q0 m 当当网购买链接 亚马逊网购买链接 电子书籍下载链接 |
【银杏科技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可编程片上系统原理及应用》
无法下载呀