|
作 者:何宾 编著6 F7 v2 N2 p6 [5 } 出 版 社:化学工业出版社 出版时间:2012-10-12 p0 E' P9 W% y% z1 P' m: {1 ~* v' W
内容简介. f, Z7 O( F2 \6 P2 Y0 P( C 《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公司相关内容的培训教材。为方便读者学习,本书附赠光盘,包含书中源程序和教学课件。 目录5 g s# F% B+ v! m5 s8 M "第1章 PSoC设计导论 1% r/ e1 I# e- m) X3 W9 {7 H 1.1 微控制器基础 18 ?; U" y1 y9 O2 J) U 1.1.1 微控制器的涵义 1 1.1.2 微控制器编程语言 2 1.2 可编程片上系统PSoC概述 3. t- S% ? J' ^$ O6 ~2 t7 L9 Z 1.2.1 PSoC发展概述 3 1.2.2 PSoC设计方法 59 |9 E" i/ V( k+ |' ^3 N 1.3 PSoC5设计流程 7 1.3.1 硬件设计流程 8# v6 I; m" U9 b# `* ]8 d 1.3.2 软件设计流程 92 `5 ]+ C' [) H$ h5 Z8 |" ] 1.4 PSoC5的结构及功能 10# R8 Q# y" v# n+ `& q 1.4.1 PSoC5系统结构概述 10+ [# d3 A5 a, ]9 M$ H: g 1.4.2 数字子系统结构及功能 10 1.4.3 模拟子系统结构及功能 13, \7 } y6 J! @+ Y 1.4.4 输入/输出引脚功能 14" M' Y! f8 ~+ N: K1 l1 u 1.5 PSoC5器件概述 15' p% t2 x6 U0 C6 P5 b8 V 1.5.1 PSoC5引脚分布 15 1.5.2 PSoC5器件分类和资源 16 第2章 PSoC5 CPU及存储子系统 19' q9 D3 ^. W7 J 2.1 Cortex-M3内核结构概述 19/ C, Q6 [: r4 @3 M( o 2.1.1 Cortex-M3内核结构特性 19$ m7 [3 F$ U5 g 2.1.2 流水线结构 20 2.1.3 寄存器 20 2.1.4 操作模式 23, z$ U$ a6 i. N 2.1.5 SysTick定时器 23 2.1.6 存储器空间映射 23 2.1.7 异常及处理 26$ F. ^% ^8 M( E4 g 2.2 嵌套向量中断控制器 26 2.2.1 中断控制器的特性 26 2.2.2 中断使能 28 2.2.3 中断优先级 29) i1 J" h F0 f+ R+ X 2.2.4 电平/脉冲中断 30 2.2.5 中断的执行 30! A, F6 Z2 l% C* ~ 2.2.6 PSoC5中断特性 31 2.2.7 中断控制器和功耗模式 34 2.3 高速缓存控制器 35 2.4 PHUB和DMA控制器 362 n5 F3 O' ?$ h6 I4 D 2.4.1 PHUB 36 2.4.2 DMA控制器 380 Q. o/ c4 e6 V0 Y) g 2.4.3 访问DMAC 44( t- G7 U/ X$ f7 S 2.4.4 DMAC传输模式 45/ g W' W8 \) n' B 2.4.5 PHUB和DMAC寄存器列表 466 n% Y, u8 L) B 2.5 PSoC5存储器系统 479 M& |1 T5 b) ?, q C7 p 2.5.1 SRAM存储器结构及功能 47$ s0 I6 p x: Y$ C 2.5.2 非易失性锁存器结构及功能 488 i1 E) A: l8 j p( S8 z) o 2.5.3 Flash程序存储器结构及功能 49 2.5.4 EEPROM存储器结构及功能 50! `; ?3 I2 m b6 ^ 第3章 PSoC5 CPU指令系统 51( r: p9 o4 B# ^ 3.1 Cortex-M3指令寻址模式 51 3.2 Cortex-M3 CPU指令集 53; x3 E6 w! E9 h9 P 3.2.1 Cortex-M3指令集概述 53 3.2.2 CMSIS函数 54/ }3 x; q* J5 y" d( ^( w" r 3.2.3 存储器访问指令 54 3.2.4 通用数据处理指令 61 3.2.5 乘法和除法指令 69 b% X9 [" Z1 s. s# @1 ]6 t. w2 ]' R 3.2.6 饱和指令 716 a0 |6 O5 n+ I( x* \ 3.2.7 比特位操作指令 728 Q1 K+ }! `4 m3 G, ~ 3.2.8 分支和控制指令 74 3.2.9 杂项操作指令 77' i8 F- a5 x, B6 E* x6 _ 3.3 Cortex-M3 汇编语言编程模型 80 B3 c9 L: ^: O& j, ? 第4章 PSoC5公共资源 82# k6 J- E- [8 C% n5 ^! U7 ^4 n 4.1 时钟管理 82" ]2 j3 Z( ^0 N) { 4.1.1 内部振荡器 832 l4 U* [! z6 V2 f3 O5 ]& t 4.1.2 外部振荡器 84' ? w l( Q0 k1 f$ U8 ~ 4.1.3 DSI时钟 86) R2 h b9 m5 {: {6 ?. A 4.1.4 相位锁相环 86 L, U( U0 t/ Z' V* p+ _ ~% h 4.1.5 USB时钟 86 4.2 电源管理 87 4.2.1 电源模式 87 4.2.2 电源监控 89( D% r5 \8 i* V8 o! q 4.3 看门狗定时器 89 4.4 复位 90' @0 I ~9 j: c4 R$ u$ P1 C 4.4.1 复位模块功能介绍 90: [! [2 o$ U( _* N+ Y8 h! z 4.4.2 复位源 91 4.5 I/O系统和布线资源 92 4.5.1 I/O系统特性 92 4.5.2 I/O驱动模式 94 4.5.3 DSI控制数字I/O 97 4.5.4 模拟I/O引脚 99 4.5.5 LCD驱动引脚 100/ [5 w% R; @$ t- U( W! k; I# V4 a 4.5.6 电容感应触摸引脚 1004 H4 D/ A ?- x 4.5.7 SIO功能和特性 1007 e0 f6 }5 d! L0 l/ \ 4.5.8 上电时I/O配置 101 4.5.9 过电压容限 1014 { u& e" N$ H8 Z 4.5.10 端口中断控制器单元 102: ?* `5 E- `& Q 第5章 PSoC编程和调试接口功能 1049 A+ s- ]3 W& z! C 5.1 测试控制器 104+ X a* r& X4 W9 I" g 5.1.1 测试控制器结构 104$ p# _+ l7 b: }$ u 5.1.2 SWD接口规范 104% P/ _9 x( ?9 W' s2 @ 5.1.3 PSoC5 SWD的特性 106 5.2 Cortex-M3调试和跟踪 107: F8 ]! v4 q7 O8 F& Z' m 5.2.1 内核调试 108* I& v4 L* r8 \4 K) B# `) t: M 5.2.2 系统调试 1097 y3 ~+ \; N7 `, [: V# { 5.3 非易失性存储器编程 110 第6章 基于PSoC Creator的程序设计 112+ z- }/ w: \0 W0 u$ ^. ]' X2 O# \ 6.1 PSoC Creator软件功能 112 6.2 汇编语言GPIO控制程序的设计 113& H0 y2 Y& c4 S/ t) N* b 6.2.1 创建和配置工程 1132 f) T& f" x, H/ v 6.2.2 查看和设置公共资源 114 6.2.3 编写GPIO汇编语言控制程序 115( `/ v/ M: w ~) y4 q6 d! K 6.3 C语言GPIO控制程序的设计 119 6.3.1 使用C语言指针对GPIO端口控制 120( X3 o' I9 L' V9 \' ~ 6.3.2 调用API函数对GPIO端口控制 120 6.3.3 PSoC5的SRAM内函数定位 126# k1 Q5 [, j& Q# N. Z 6.4 中断服务程序的设计 128 6.4.1 创建和配置工程 128 6.4.2 添加IP核资源到设计 128 6.4.3 IP核参数配置和连接 129 6.4.4 中断服务程序的设计 131, T2 Y, n6 N$ Y% K) N @6 A 6.4.5 下载并调试工程 133 第7章 定时器、计数器和PWM模块 134% Q. u3 d, {7 c 7.1 定时器模块特性 134 7.2 定时器模块结构 134" b. h) X, h$ Z, o 7.2.1 时钟选择 135 7.2.2 使能/禁止模块 136 7.2.3 输入信号特性 136# O& _" h7 Y% y! r1 Z9 ] 7.2.4 操作模式 137# Q% c) H$ A o9 }& r5 Q9 R 7.2.5 中断使能 141 7.2.6 寄存器列表 1418 ^; s, \. q0 _- Q0 O( v$ h 7.3 PWM控制LED显示的实现 1423 `5 l( d. f' F, Q/ O 7.3.1 创建和配置工程 142 7.3.2 编写软件程序 146* m2 \. G: [$ |9 P" s% v- H 7.3.3 编程及调试 147* D. y9 m) c$ U' F0 z: M( X 第8章 LCD显示驱动模块 1486 o7 o5 Y( ?' g A+ ~ 8.1 LCD的工作原理 148$ w) S1 r8 m$ I: n7 g 8.1.1 LCD物理结构 148 8.1.2 LCD液晶分类 149 8.2 LCD驱动特性 154 8.3 LCD驱动系统 154 [/ a" d6 f! c# t 8.4 LCD功能描述 155 8.4.1 LCD DAC 155 8.4.2 LCD配置选项 156 8.4.3 LCD驱动模块 1566 }. E- |5 N" f* A 8.4.4 UDB 159( }7 e& |3 I+ X P- z& K 8.4.5 DMA 159. ~+ `. m: Q7 e* U# ~# E* ?! s 8.5 段式LCD显示的实现 160 8.5.1 段式LCD的功能 160 8.5.2 段式LCD的参数配置 162 8.5.3 编写软件程序 1670 s( \* |9 @1 t' }7 O 8.5.4 编程及调试 169/ A% D( |8 T) \1 O 第9章 I2C总线模块 170- R, P& [4 ^# ?- _$ N7 L4 v3 | 9.1 I2C总线模块概述 170 9.2 I2C总线实现原理 1715 n' E! G! c, t; z% `& { 9.2.1 I2C总线模块结构 171! M) F, W3 z* ^6 g7 w D, t w$ U 9.2.2 典型的I2C数据传输 171( g; A! d2 L5 `0 N 9.2.3 I2C总线寄存器及操作 172 9.3 I2C总线操作模式 1730 \' _1 \- S) ~! p 9.3.1 从模式 173+ ~: W3 }" A# m( n" s 9.3.2 主模式 174" g. p+ x, g8 A% o, X3 @" E- i 9.3.3 多主模式 175, f* K/ _& n7 W+ _: P- B/ m0 R 9.4 I2C模块通信的实现 176 9.4.1 系统实现原理 176 9.4.2 创建和配置工程 177' Q. R1 n0 f/ `* s2 @ 9.4.3 编写软件程序 181 9.4.4 编程及调试 1837 c, i G6 ~2 S e 第10章 USB总线模块 184$ x' I7 H* y: A6 X$ { 10.1 USB总线模块概述 184 10.2 USB模块结构 184" G3 m; B8 I) d8 y 10.2.1 串行接口引擎SIE 185 10.2.2 仲裁器 186 10.3 USB模块工作条件 187- q: Q0 x3 U3 O: v8 o8 t$ W 10.3.1 工作频率 187. {) Q$ S5 q! }4 x9 S 10.3.2 工作电压 188: _% `5 n# o' A+ i1 u9 P6 H' ` 10.3.3 收发器 188 10.3.4 端点 188 10.3.5 传输类型 188! l, \* q" d8 x1 S; T* r 10.3.6 中断 189 10.4 逻辑传输模式 189 10.4.1 非DMA访问 190 10.4.2 手工DMA访问 1902 s J3 [# z8 U* l/ w+ E 10.4.3 控制端点的逻辑传输 1938 H. T7 d* B' E5 u6 U/ t% g 10.5 PS/2和CMOS I/O模式 194+ b2 }0 W% s" {0 R, K8 _2 X 10.6 USB模块寄存器列表 1943 ~5 m+ I2 Z: c1 j% i 10.7 USB人体学输入设备的实现 1955 w& `9 r" _- Q5 n 10.7.1 人体接口设备的原理 195) \4 u% _0 b C8 p7 d ]) M. \ 10.7.2 创建和配置工程 200 10.7.3 编写软件程序 204 10.7.4 编程及调试 205 第11章 通用数字块UDB 207 11.1 通用数字块概述 2075 u' ?6 S% A& m2 ^5 i2 K8 l 11.2 UDB模块结构 208 11.2.1 PLD模块结构及宏单元 208. S! c0 t9 v: J7 T3 q% X% s 11.2.2 数据通道模块 209 11.2.3 状态和控制模块 2120 x6 J% J% H( k1 z7 }; t 11.3 交通灯控制电路的设计与实现 213" `+ Q8 J3 @/ ~/ x7 b3 V 11.3.1 交通灯设计原理 213 11.3.2 交通灯控制电路的设计 213 11.3.3 引脚分配 218) Y1 }% J U+ H. r 11.3.4 设计下载与测试 218% S4 l4 G& a3 J" G$ E0 u3 q4 D 11.4 静态时序分析 218! \2 } m; D! a1 h x) h 第12章 模拟前端模块 220; O1 G8 r4 }( H+ X 12.1 模拟比较器 220! O/ w& b' z8 i 12.1.1 输入和输出接口 220 12.1.2 LUT 220* [3 e% J" S6 }5 _8 \$ k! v8 Q 12.2 运算放大器模块 221 12.3 可编程SC/CT模块 223& U% g5 s, A6 \% r2 J& @ 12.3.1 单纯的放大器 224, _+ {" n( G6 i. _' y 12.3.2 单位增益 225 12.3.3 可编程增益放大器 2257 C/ s# N+ I3 i5 v6 R X4 T! J$ k 12.3.4 互阻放大器 2275 }6 N% i" [/ ? 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 12.5.2 创建和配置工程 233 12.5.3 编写软件程序 237 12.5.4 编程及调试 237' X: `" K( L7 H% @0 z 第13章 ADC和DAC模块 238+ c3 V1 V5 A# F! ]9 S" `" F 13.1 Δ-ΣADC模块 238 13.1.1 Δ-ΣADC模块概述 238 13.1.2 Δ-ΣADC结构 239 13.1.3 Δ-Σ ADC操作模式 241 13.2 SAR ADC模块 242 13.2.1 SAR ADC模块概述 242 13.2.2 SAR ADC模块的工作原理 242 g* c* x( i$ B/ u8 n; S6 n! s/ Q! R$ T 13.3 DAC模块 2431 \" k' v* f1 b1 _ 13.4 基于SAR ADC的数字电压表实现 246* W: X3 H0 E7 c' I$ u7 z* R; d& n 13.4.1 创建和配置工程 2461 t/ H/ C% a7 } 13.4.2 编写软件程序 2491 q. U. S6 X8 s2 b8 g/ x$ E 13.4.3 编程及调试 250" C; n3 \' K- l3 R" N2 s 13.5 基于Δ-Σ ADC的数字电压表实现 2514 k) u6 x' M7 D, [6 W 13.5.1 创建和配置工程 251 13.5.2 编写软件程序 253 13.5.3 编程及调试 254 13.6 IDAC值显示的实现 254 13.6.1 创建和配置工程 255, N) X; _. m' ?' O) o) Q- Y 13.6.2 编写软件程序 258/ W: c9 x+ d, O: a6 s 13.6.3 编程及调试 258 第14章 电容感应模块 259 14.1 电容感应模块的结构 259 14.2 电容感应Δ-Σ算法 262 14.3 电容感应触摸的实现 263& S- m# P3 \1 l$ Q1 O8 j 14.3.1 创建和配置工程 2635 W* N+ z+ T( K* p$ b$ s5 F 14.3.2 编写软件程序 266( E; S% f% G0 Z2 x* [; b# b& K 14.3.3 编程及调试 267 第15章 数字滤波器模块 268 15.1 数字滤波器模块概述 268 ]+ \- J$ n9 y3 ?% D$ i 15.2 数字滤波器模块结构 269' h: C* g8 F; S0 c2 h& S/ d 15.2.1 控制器 269 15.2.2 FSM RAM 270) a$ s$ t6 g* E0 \+ k, x 15.2.3 数据通道 272 15.2.4 地址计算单元 2733 U: |7 D# ?. T, l4 P 15.2.5 总线接口和寄存器描述 274 15.3 基于DFB的数字滤波器实现 276 15.3.1 系统结构概述 276 15.3.2 元件参数配置 276; [' y' H3 Y2 c+ i8 C8 W+ {: y/ S4 R 15.3.3 DMA配置向导 280 15.3.4 编写软件程序 282" x/ z* A5 l+ }% c B: c 15.3.5 编程及调试 283 第16章 μC-OS/III操作系统 284 16.1 μC-OS/III操作系统概述 284 16.1.1 操作系统的作用 284$ ^6 p# l2 m, R# y/ ]; Z7 r 16.1.2 μC-OS/III操作系统内核特征 2855 u' N$ |/ a/ J9 G. B! ~ 16.1.3 μC/OS-III操作系统文件的结构 288 16.1.4 μC/OS-III操作系统应用程序结构分析 289. k c/ `" `" e# P8 Y. Q: o 16.2 μC-OS/III操作系统内核及功能 296 16.2.1 单任务和多任务处理 296 16.2.2 临界区 300 16.2.3 任务管理 300) g m8 q- j& l+ W 16.2.4 准备列表 301 16.2.5 调度 301$ k0 L# x5 N/ P5 ~4 \: S 16.2.6 上下文切换 302 16.2.7 中断管理 302$ u3 G1 W; C: t$ {$ a1 r O 16.2.8 等待列表 303 16.2.9 时间管理 303 16.2.10 定时器管理 3035 B; g9 D* g" \! r) x+ d& d 16.2.11 资源管理 3044 N7 K' R% v' p1 q 16.2.12 消息传递 305& M$ G4 }+ C# F2 R8 i; s 16.2.13 多个对象等待处理 307( G8 {' z; i+ ^3 O1 M 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中 3115 o, N6 ^7 `! r: ]& t6 F2 K. w 16.5 配置引脚 311 16.6 运行设计 312 16.7 启动μC/Probe工具 313 参考文献 316" 当当网购买链接) N; g4 p4 `4 ~! t; O* m- @ 亚马逊网购买链接% E+ a. }0 D, _0 x" a- S 电子书籍下载链接 |
无刷直流电机控制应用+基于STM8S系列单片机---电子书
MCSDK FOC应用详解
STM32F10xxx 正交编码器接口应用笔记 及源代码
基于STM32定时器ETR信号的应用示例
《无刷直流电机控制应用 基于STM8S系列单片机》
STM32定时器触发SPI逐字收发之应用示例
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
【STM32图书分享之九】—《STM32F 32位ARM微控制器应用设计与实践》
STM32 USB的程序,包含固件、驱动和测试用的应用程序
微信公众号
手机版
RE:【STM32图书分享之十八】—《Cortex-M3可编程片上系统原理及应用》
无法下载呀