首 页服务网点企业文化解决方案致远电子人才招聘联系我们技术论坛网站更新通知大学老师登记 ?
 NXP 32位ARM微控制器系列
LPC2000系列ARM
LH7(原夏普)系列ARM
ARM系列开发平台
ARM嵌入式系统教学
RealView MDK开发套件
MiniARM嵌入式工控模块
ARM嵌入式工控机
邮购价(1)
 Luminary Micro半导体系列
Stellaris系列ARM
经典配套外围器件
配套开发工具
应用设计
邮购价(2)
 NXP 8位单片机系列
LPC700系列单片机
LPC700配套开发工具
LPC900系列单片机
LPC900配套开发工具
80C51系列单片机
应用设计
邮购价(3)
 Actel FPGA系列
Fusion系列
ProASIC3系列
IGLOO系列
配套开发工具
邮购价(4)
 RAMTRON半导体
FRAM铁电简介
串行FRAM
并行FRAM
处理器外围电路
Versa 8051系列MCU
状态保持器
配套开发工具
邮购价(5)
 热门外围器件系列
CAN-bus器件
USB-bus器件
I2C-bus器件
NXP UART系列器件
LCD驱动器
数码管显示与键盘管理芯片
ESD保护器件
智能卡读写芯片
智能卡读写模块(Mifare)
语音模块
电源模块(DC-DC)
邮购价(6)
 NXP 汽车电子系列
汽车网络
 CATALYST 半导体系列
复位监控器件
内置E2PROM存储器的监控电路
串行E2PROM
可编程数字电位器
LED驱动器
LDO电源管理器件
应用设计
 Exar(原Sipex)半导体系列
选型指南
DC / DC升压型稳压器
DC / DC降压型稳压器
Exar UART系列器件
LDO电源管理器件
电源Blox组件
复位监控器件
USB电源控制开关
多协议接口器件
RS232接口器件
RS485接口器件
 Keil C51软件
Keil C51软件
 嵌入式系统产品系列
逻辑分析仪
USB-bus分析仪
CAN-bus分析仪
编程器
仿真器
80C51系列开发平台
FPGA系列开发平台
 其他产品
OEM/ODM产品
邮购价(7)
 工业通讯产品系列
CAN-bus总线产品
DeveiceNet网络产品
EtherNet网络产品
无线通讯系列
 智能楼宇/ODM/OEM
Mifare读卡模块
门禁控制系统
协议转换器
门禁考勤系统
读卡器/发卡器
门禁/考勤管理系统




深入浅出ARM7——LPC213x/LPC214x(下册)


(点击图片可放大)
深入浅出ARM7——LPC213x/LPC214x(下册)
作者:周立功 张华
定价:45元
书号:7-81077-750-5
出版日期:200601
开本:787×960 1/16开
字数:683千字
购买联系: 北航出版社  网上购书
内容简介
     本书全面介绍了以LPC213x/LPC214x两个系列ARM芯片为硬件平台的各种应用开发,详细分析了嵌入式实时操作系统μC/OSII在ARM7上的移植和应用。主要内容包括: LPC214x与LPC213x相比新增的特性,LPC214x部分功能部件的使用,LPC214x USB设备控制器的固件编程,LPC214x USB固件程序的应用,μC/OSII在ARM7上的移植以及移植代码在LPC2100系列芯片上的使用实例,μC/OSII基础实验,μC/OSII的中间件,ZLG/USB214x软件包的开发和应用,嵌入式GUI——ZLG/GUI在μC/OSII上的使用和SD/MMC卡读/写模块在LPC213x/LPC214x上的使用。
     本书可作为高等院校相关专业师生以及从事嵌入式系统应用开发工程师的参考资料,适合于想使用LPC213x/LPC214x和μC/OSII进行嵌入式开发的初学者,特别适合于想使用LPC214x芯片进行USB开发的工程师。
前    言

     LPC214x系列是PHILIPS公司最新推出的基于ARM7内核的高性能芯片,与以前推出的LPC213x系列芯片兼容,并增加了一些新功能,在性能上也有很大的提升。其最大特色是内置了USB 2.0全速控制器,LPC2146/2148还内嵌了DMA引擎,使USB通信速度几乎达到了USB 2.0(全速)的最高通信速度;相对于普通ARM7芯片,LPC214x还提升了I/O端口的速度。因此,对于进行产品开发选型来说,LPC214x具有很高的性价比。
     μC/OSII是一个小型的嵌入式实时操作系统,已经得到了较广泛的应用,并已经被移植到各种不同体系结构的处理器上。随着近年来ARM芯片应用的日益广泛,μC/OSII在ARM上的应用也越来越深入,应用实例及外设驱动也与日俱增。
     本书立足于LPC214x,兼顾LPC213x,以μC/OSII为软件载体,详细介绍LPC213x/214x各功能部件的使用方法,并提供实例源码。值得注意的是,本书花大量篇幅对LPC214x USB设备控制器固件编程进行了非常详细的描述,非常适合于使用LPC214x进行USB产品开发的工程师和初学者。
     另外,本书大部分的论述和实例均基于μC/OSII操作系统,从某种意义上来说,也是一本非常好的μC/OSII的应用参考资料。

     本书各章节内容安排如下:
     第1章——LPC2141/2142/2144/2146/2148概述。对比LPC213x系列芯片,介绍LPC214x的新增特性。
     第2章——功能部件和基础试验。主要介绍LPC214x具有新增特性的功能部件(如高速GPIO、增强型UART)的使用和应用实例。
     第3章——LPC214x USB设备控制器固件编程。本章涉及USB固件编程的许多方面。固件程序采用软件、硬件分层结构,从硬件底层开始构建USB固件,详细分析如何初始化USB设备控制器,如何在LPC214x上实现USB协议以及如何利用端点进行数据接收/发送。
     第4章——LPC214x USB固件程序的应用。介绍LPC214x USB固件的应用实例,实例从简单到复杂。首先介绍固件程序应用的“一个最简单例子”,该例子使用户能够在最短时间内学会使用本固件;然后介绍“发送大量数据例子”,该例子非常适用于需要进行大量数据传输的USB设备;最后介绍如何在LPC214x上实现一个HID类以及如何利用LPC2146/2148 USB DMA引擎进行USB数据传输。
     第5章——移植μC/OSII到ARM7。介绍μC/OSII在ARM7上的移植方法,并给出移植代码在LPC2100上的使用实例。这是本书的基础,以后的论述均依赖于本章,需要牢牢掌握。
     第6章——μC/OSII基础实验。以LPC213x/LPC214x为硬件平台,进行一些基于μC/OSII的基础实验,让读者加深对μC/OSII的理解,并熟悉μC/OSII的使用。
     第7章——μC/OSII中间件。介绍μC/OSII的中间件,如数据队列、串口驱动、Modem驱动、I2C驱动、SPI驱动以及ZLG/FS文件系统的接口函数与应用实例。所有中间件和例程均基于LPC213x,很容易移植到LPC214x上运行。
     第8章——ZLG/USB214x软件包的开发与应用。介绍基于μC/OSII上运行的ZLG/USB214x软件包的编程方法和应用实例。ZLG/USB214x软件包使用户完全无须了解USB协议的细节,无须修改本软件包的代码,只需利用本软件包提供的API函数,就能够利用LPC214x USB的端点进行任意长度数据的接收与发送。
     第9章——ZLG/GUI应用实例。以LPC213x/LPC214x为硬件平台,介绍嵌入式GUI——ZLG/GUI在μC/OSII上的应用。
     第10章——SD/MMC卡读/写模块。不仅给出了LPC213x/LPC214x读/写SD/MMC卡的硬件接口电路,还给出了SD/MMC卡读/写模块的详细配置、使用方法及使用例子。本读/写模块既可运行于无操作系统,又可运行于μC/OSII操作系统,使用起来非常方便。

     参与本书编写的主要人员有: 周立功、张华、陈锡炳、陈明计、郑明远、黄邵斌、周立山、叶皓贲和戚军。全书由周立功负责规划及审校。
     在本书出版之际,感谢PHILIPS半导体公司的CK Phua先生、微控制器部门大中华区经理郭志锐先生以及上海PHILIPS半导体公司高级经理金宇杰先生的大力支持,感谢北京航空航天大学出版社。如果没有他们的帮助和努力,这本书不可能这么快出版。
     由于作者水平有限,书中难免有疏忽、不恰当甚至错误的地方,恳请广大读者指正。

           周立功
           2005年10月26日

目    录

第1章 LPC2141/2142/2144/2146/2148概述
1.1 简介1
1.1.1 特性2
1.1.2 应用3
1.1.3 器件信息3
1.2 引脚和结构4
1.2.1 LPC2141/2142/2144/2146/2148的引脚分布4
1.2.2 LPC2141/2142/2144/2146/2148的引脚描述4
1.2.3 结构概述14
1.3 外部中断输入15
1.4 其他系统控制17
1.5 锁相环(PLL)17
1.6 功率控制24
1.7 向量中断控制器27
1.8 引脚连接模块27
1.8.1 描述27
1.8.2 寄存器描述28

第2章 功能部件和基础实验
2.1 实验平台介绍35
2.1.1 LPC214x CPU PACK板介绍35
2.1.2 LPC214x工程模板37
2.2 GPIO37
2.2.1 特性37
2.2.2 应用38
2.2.3 引脚描述38
2.2.4 慢速GPIO39
2.2.5 快速GPIO42
2.2.6 GPIO使用注意事项55
2.2.7 操作方法57
2.2.8 基础实验58
2.3 UART162
2.3.1 特性63
2.3.2 引脚描述63
2.3.3 结构64
2.3.4 寄存器描述66
2.3.5 基础实验85
2.4 SPI090
2.4.1 寄存器描述91
2.4.2 使用示例92
2.5 ADC96
2.5.1 特性96
2.5.2 描述96
2.5.3 引脚描述96
2.5.4 寄存器描述97
2.5.5 基础实验105
2.6 DAC106
2.6.1 特性106
2.6.2 引脚描述107
2.6.3 DAC寄存器107
2.6.4 操作108
2.6.5 基础实验108
2.7 实时时钟109

第3章 LPC214x USB设备控制器固件编程
3.1 LPC214x USB设备控制器简介110
3.1.1 特性110
3.1.2 结构111
3.1.3 端点配置112
3.1.4 USB数据流113
3.1.5 USB设备控制器寄存器115
3.2 LPC214x USB硬件电路设计117
3.3 LPC214x USB固件程序设计思想118
3.4 USB固件程序配置头文件121
3.5 USB设备硬件抽象层121
3.6 USB设备接口命令层123
3.6.1 USB器件中断寄存器123
3.6.2 USB端点中断寄存器126
3.6.3 USB端点使用寄存器129
3.6.4 USB数据传输寄存器131
3.6.5 从机模式下端点的数据传输133
3.6.6 USB命令寄存器137
3.6.7 USB协议引擎命令描述140
3.6.8 USB协议引擎命令的实现141
3.7 应用层的实现152
3.7.1 初始化LPC214x USB控制器152
3.7.2 USB设备控制器中断服务154
3.7.3 USB低优先级中断服务程序156
3.7.4 USB事件处理158
3.7.5 控制传输处理159
3.7.6 端点数据收发160
3.8 协议层164
3.8.1 USB标准设备请求164
3.8.2 USB标准设备请求的实现165
3.9 USB设备控制器DMA功能的实现181
3.9.1 USB DMA工作原理181
3.9.2 DMA相关的中断186
3.9.3 DMA相关寄存器188
3.9.4 USB DMA编程要点190
3.9.5 DMA引擎初始化191
3.9.6 DMA中断服务程序195
3.9.7 DMA操作相关的API函数198
3.10 使用LPC214x USB固件程序需要注意的问题201

第4章 LPC214x USB固件程序的应用
4.1 EasyUSB214x.dll动态库202
4.2 一个最简单的例子203
4.2.1 要求203
4.2.2 硬件配置203
4.2.3 程序的编写203
4.2.4 程序的运行205
4.3 收发大量数据例子207
4.3.1 要求207
4.3.2 硬件配置207
4.3.3 实现的方法207
4.3.4 程序的编写207
4.3.5 程序的运行213
4.4 利用LPC214x USB固件程序实现HID类214
4.4.1 要求215
4.4.2 硬件配置215
4.4.3 程序的编写215
4.4.4 程序的运行225
4.5 DMA使用例子225
4.5.1 要求225
4.5.2 硬件配置225
4.5.3 程序的编写226
4.5.4 程序的运行228

第5章 移植μC/OSII到ARM7
5.1 μC/OSII简介230
5.1.1 概述230
5.1.2 μC/OSII的特点230
5.2 移植规划231
5.2.1 编译器的选择231
5.2.2 任务模式的取舍231
5.2.3 支持的指令集232
5.3 移植μC/OSII232
5.3.1 概述232
5.3.2 关于头文件includes.h和config.h233
5.3.3 编写OS_CPU.H234
5.3.4 编写Os_cpu_c.c文件236
5.3.5 编写Os_cpu_a.s241
5.3.6 关于中断与时钟节拍245
5.4 移植代码应用到LPC2100247
5.4.1 编写或获取启动代码247
5.4.2 挂接SWI软件中断248
5.4.3 中断与时钟节拍中断248
5.4.4 μC/OSII移植目录结构249
5.4.5 编写应用程序250

第6章 μC/OSII基础实验
6.1 概述253
6.2 GPIO实验253
6.2.1 GPIO输出实验1253
6.2.2 GPIO输出实验2256
6.2.3 GPIO输入实验257
6.3 定时器实验260
6.4 PWM实验261
6.5 RTC实验265
6.6 信号量使用270

第7章 μC/OSII中间件
7.1 数据队列274
7.1.1 简介274
7.1.2 配置选项274
7.1.3 API函数集275
7.1.4 使用范例279
7.2 串口驱动283
7.2.1 简介283
7.2.2 配置选项283
7.2.3 API函数集284
7.2.4 使用范例285
7.3 Modem接口模块291
7.3.1 简介291
7.3.2 Modem的状态291
7.3.3 API函数集291
7.3.4 使用范例293
7.4 I2C总线模块297
7.4.1 简介297
7.4.2 API函数集297
7.4.3 使用范例299
7.5 SPI总线模块303
7.5.1 简介303
7.5.2 API函数集303
7.5.3 使用范例306
7.6 ZLG/FS文件系统309
7.6.1 概述309
7.6.2 关于ZLG/FS V1.1311
7.6.3 ZLG/FS V1.0 API函数集311
7.6.4 使用范例319

第8章 ZLG/USB214x软件包的开发与应用
8.1 软件包运行的硬件条件322
8.2 ZLG/USB214x软件包总体设计思想322
8.3 软件包应用层的实现323
8.3.1 初始化USB设备控制器324
8.3.2 USB总中断服务程序327
8.3.3 USB低优先级中断329
8.3.4 控制传输的实现330
8.3.5 端点数据收发设计思想331
8.3.6 非DMA模式下从端点接收数据334
8.3.7 非DMA模式下向USB主机发送数据340
8.3.8 DMA模式下从USB接收数据345
8.3.9 μC/OSII中的DMA中断服务程序347
8.3.10 DMA模式下向USB主机发送数据352
8.4 ZLG/USB214x软件包的使用356
8.4.1 ZLG/USB214x软件包的配置方法357
8.4.2 ZLG/USB214x软件包API函数357
8.5 ZLG/USB214x软件包的使用实验360
8.5.1 实验内容360
8.5.2 硬件配置360
8.5.3 原理分析361
8.5.4 实验步骤361
8.5.5 实验参考程序363

第9章 ZLG/GUI应用实例
9.1 概述369
9.2 ZLG/GUI的文件369
9.3 ZLG/GUI的配置370
9.4 ZLG/GUI函数手册371
9.5 ZLG/GUI的移植379
9.5.1 移植相关说明379
9.5.2 移植相关接口函数380
9.5.3 移植实例383
9.6 应用举例400
9.6.1 关于CONFIG.H文件400
9.6.2 使用ZLG/GUI的一般操作步骤402
9.6.3 ZLG/GUI在多任务中的使用说明402
9.6.4 Hello程序404
9.6.5 汉字显示演示407
9.6.6 窗口显示演示417
9.6.7 图形显示演示419
9.6.8 菜单功能演示424

第10章 SD/MMC卡读/写模块
10.1 SD/MMC卡的外部物理接口440
10.1.1 SD模式441
10.1.2 SPI模式443
10.2 访问SD/MMC卡的SPI模式硬件电路设计444
10.2.1 SPI总线445
10.2.2 卡供电控制445
10.2.3 卡检测电路445
10.3 SD/MMC卡读/写模块的文件结构及整体构架446
10.3.1 SD/MMC卡读/写模块的文件组成446
10.3.2 SD/MMC卡读/写模块整体框架446
10.4 SD/MMC卡读/写模块的使用说明447
10.4.1 SD/MMC卡读/写模块的硬件配置447
10.4.2 SD/MMC卡读/写模块提供的API函数450
10.5 SD/MMC卡读/写模块的使用例子453
10.5.1 硬件连接与配置453
10.5.2 实现方法454
10.5.3 例子建立与运行步骤456
10.5.4 参考程序46
1
附录A 上位机软件EasyARM.exe介绍
A.1 EasyARM软件窗口介绍465
A.2 EasyARM软件通信协议467

附录B USB分析仪USB Analyser简介
B.1 实物和软件界面469
B.2 主要功能470
B.3 技术参数471
B.4 使用方法471

参考文献

 
 
    首 页 | 公司介绍 | 服务网点 | 解决方案 | 人才招聘 | 致远电子 | 客户服务 | 联系我们
版权所有 © 广州周立功单片机发展有限公司