北京航空航天大学出版社
全国大学生电子设计竞赛 “十二五”规划教材
全国大学生电子设计竞赛
ARM 嵌入式系统应用设计与实践
黄智伟 税梦玲 张 强 欧科军 编著
北京航空航天大学出版社
针对全国大学生电子设计竞赛的特点和要求编写的ARM 嵌入式系统应用设计与实践共有9章,内容包 括:LPC214xARM7微控制器最小系统的设计与制作,LED、LCD 和触摸屏显示电路的设计与制作,ADC 和 DAC电路的设计与制作,直流电机、步进电机和舵机的驱动电路,光电、超声波、图像识别、色彩识别、电子罗 盘、倾角传感器和角度传感器的应用,E2PROM 电路及应用,无线数据传输与 CAN 总线应用,系统应用设计, ADS和 MDK 集成开发环境以及ISP下载方法。
本书是以ARM 嵌入式系统在全国大学生电子设计竞赛中应用所需要的知识点为基础,以实例为模板, 工程性强,可以作为高等院校电子信息、通信工程、自动化、电气控制类等专业学生参加全国大学生电子设计 竞赛的培训教材,也可供参加各类电子制作、课程设计、毕业设计以及进行电子电路设计与制作的电子工程技 术人员参考。
图书在版编目(CIP)数据
全国大学生电子设计竞赛 ARM 嵌入式系统应用设计与 实践/ 黄智伟等编著.--北京 :北京航空航天大学出版 社,2011.1
ISBN978 7 5124 0312 3
Ⅰ.①全… Ⅱ.①黄… Ⅲ.①微处理器,ARM—系统 设计 Ⅳ.①TP332
中国版本图书馆 CIP数据核字(2011)第004042号 版权所有,侵权必究。
全国大学生电子设计竞赛 ARM 嵌入式系统应用设计与实践 黄智伟 税梦玲 张 强 欧科军 编著
责任编辑 杨 昕 刘爱萍
*
北京航空航天大学出版社出版发行
北京市海淀区学院路37号(邮编100191) http://www.buaapress.com.cn 发行部电话:(010)82317024 传真:(010)82328026
读者信箱:[email protected] 邮购电话:(010)82316936 有限公司印装 各地书店经销
*
开本:787×960 1/16 印张:22.25 字数:498千字 2011年1月第1版 2011年1月第1次印刷 印数:5000册
ISBN978 7 5124 0312 3 定价:39.00元
北京航空航天大学出版社
前 言
随着全国大学生电子设计竞赛的深入和发展,近几年,特别是从2005年以后,电子设计竞 赛的题目要求从深度和难度上都增加了。2009年对竞赛规则与要求也出现了一些变化,如对 微控制器选型的限制、“最小系统”的定义、“性价比”与“系统功耗”指标要求等。除单片机、现 场可编程门阵列(FPGA)外,ARM、数字信号处理器(DSP)等微控制器及最小系统也开始在电 子设计竞赛中得到应用。
针对新形势下全国大学生电子设计竞赛的特点和需要,为高等院校电子信息工程、通信工 程、自动化、电气控制类专业学生编写了这本《全国大学生电子设计竞赛 ARM 嵌入式系统应 用设计与实践》,可作为培训教材。本书的特点是以 ARM 嵌入式系统在全国大学生电子设计 竞赛中应用所需要的知识点为基础,以实例为模板,叙述简洁清晰,工程性强,突出了 ARM 嵌 入式系统应用的基本方法,培养了学生的竞赛设计与制作、综合分析与开发创新的能力。
全书共分为9章,第1章 LPC214xARM7微控制器与最小系统,介绍了 LPC214x 的特 性、封装、内部结构与功能,以及 ARM CPUPACK 板和 ARM7最小系统实验板设计与制作。
第2章显示器电路,介绍了键盘及 LED 显示器电路、汉字图形点阵液晶显示模块、触摸屏模块 的设计、制作与编程。第3章 ADC和 DAC 电路,介绍了 LPC214x的 ADC(模/数转换器)和 DAC(数/模转换器)电路设计与制作。第4章电机控制,介绍了 LPC214x的定时器/计数器和 脉宽调制器(PWM),直流电机、步进电机和舵机驱动电路的设计、制作与编程。第5章传感器 电路,介绍了光电传感器、超声波传感器、图像识别传感器、色彩传感器、电子罗盘、倾角传感器 和 角度传感器的应用与编程。第6章数据存储,介绍了E2PROM24LC256和SK SDMP3模 块的应用与编程。第7章数据传输,介绍了基于nRF905的无线收发器电路模块和 CAN 总线 模块电路的设计、制作与编程。第8章系统应用,介绍了基于 ARM 微控制器的随动控制系 统、音频信号分析仪、正弦波信号发生器和声音导引系统的设计要求、总体方案设计、系统各模 块方案论证与选择、理论分析与计算、系统主要单元电路设计和系统软件设计。第9章开发环 境及ISP下载,介绍了 ADS1.2和 MDK 集成开发环境,包括工程的建立、程序的编译、HEX 文件的生成,以及ISP下载。
本书可以作为参加各类电子制作、课程设计、毕业设计的教学参考书,以及电子工程技术 人员进行电子电路设计与制作的参考书。
本书所有实例程序都通过验证,相关程序清单可以登录北京航空航天大学出版社下载中
北京航空航天大学出版社
2
心http://www.buaapress.com.cn/buaa/html/download/index.asp免费下载。
本书在编写过程中,参考了大量国内外著作和资料,得到了许多专家和学者的大力支持, 听取了多方面的意见和建议。税梦玲、张强、欧科军对书中的实例进行了设计、编程与验证,李 富英高级工程师对本书进行了审阅,南华大学王彦副教授、朱卫华副教授、陈文光副教授、李圣 老师、湖南师范大学邓月明老师、张翼、李军、戴焕昌、汤玉平、金海锋、李林春、谭仲书、彭湃、尹 晶晶、全猛、周到、杨乐、黄俊、伍云政、李维、周望、李文玉、方果、许超龙、姚小明、马明、黄政中、
邱海枚、欧俊希、陈杰、彭波、许俊杰等人也为本书的编写做了大量的工作,在此一并表示衷心 的感谢。
由于水平有限,不足之处在所难免,敬请各位读者批评指正。
黄智伟 2010年9月
于南华大学
北京航空航天大学出版社
序
全国大学生电子设计竞赛是教育部倡导的四大学科竞赛之一,是面向大学生的群众性科 技活动,目的在于促进信息与电子类学科课程体系和课程内容的改革,促进高等学校实施素质 教育以及培养大学生的创新能力、协作精神和理论联系实际的学风,促进大学生工程实践素质 的培养,提高学生针对实际问题进行电子设计制作的能力。
1.规划教材由来
全国大学生电子设计竞赛既不是单纯的理论设计竞赛,也不仅仅是实验竞赛,而是在一个 半封闭、相对集中的环境和限定的时间内,由一个参赛队共同设计、制作完成一个有特定工程 背景的作品。作品成功与否是竞赛能否取得好成绩的关键。竞赛也有其内在的规律和特点。
为满足高等院校电子信息工程、通信工程、自动化、电气控制类等专业学生参加全国大学 生电子设计竞赛的需要,我们修订并编写了这套规划教材:《全国大学生电子设计竞赛系统设 计(第2版)》、《全国大学生电子设计竞赛电路设计(第2版)》、《全国大学生电子设计竞赛技能 训练(第2版)》、《全国大学生电子设计竞赛制作实训(第2版)》、《全国大学生电子设计竞赛常 用电路模块制作》、《全国大学生电子设计竞赛 ARM 嵌入式系统应用设计与实践》。该规划教 材从2006年出版以来,已多次印刷,一直是全国各高等院校大学生电子设计竞赛训练的首选 教材之一。随着全国大学生电子设计竞赛的深入和发展,近几年来,特别是2007年以来,电子 设计竞赛题目要求的深度、难度都有很大的提高。2009年对竞赛规则与要求也出现了一些变 化,如对“最小系统”的定义、“性价比”与“系统功耗”指标要求等。为适应新形势下全国大学生 电子设计竞赛的要求与特点,对该规划教材的内容进行了修订与补充。
2.规划教材内容
《全国大学生电子设计竞赛系统设计(第2版)》在详细分析了历届全国大学生电子设计竞 赛题目类型与特点的基础上,通过47个设计实例,系统介绍了电源类、信号源类、高频无线电 类、放大器类、仪器仪表类、数据采集与处理类以及控制类7大类作品的设计要求、系统方案、
电路设计、主要芯片、程序设计等内容。通过对这些设计实例进行系统方案分析、单元电路设 计、集成电路芯片选择,可使学生全面、系统地掌握电子设计竞赛作品系统设计的基本方法,培 养学生系统分析、开发创新的能力。
《全国大学生电子设计竞赛电路设计(第2版)》在详细分析了历届全国大学生电子设计竞
北京航空航天大学出版社
2
赛题目的设计要求及所涉及电路的基础上,精心挑选了传感器应用电路、信号调理电路、放大 器电路、信号变换电路、射频电路、电机控制电路、测量与 显 示 电 路、电 源 电 路、ADC 驱动和 DAC输出电路9类共180多个电路设计实例,系统介绍了每个电路设计实例所采用的集成电 路芯片的主要技术性能与特点、芯片封装与引脚功能、内部结构、工作原理和应用电路等内容。
通过这些电路设计实例的学习,学生可全面、系统地掌握电路设计的基本方法,培养电路分析、
设计和制作的能力。由于各公司生产的集成电路芯片类型繁多,限于篇幅,本书仅精选了其中 很少的部分以“抛砖引玉”。读者可根据电路设计实例举一反三,并利用在参考文献中给出的 大量的公司网址,查询到更多的电路设计应用资料。
《全国大学生电子设计竞赛技能训练(第2版)》从7个方面系统介绍了元器件的种类、特 性、选用原则和需注意的问题;印制电路板设计的基本原则、工具及其制作;元器件、导线、电 缆、线扎和绝缘套管的安装工艺和焊接工艺;电阻、电容、电感、晶体管等基本元器件的检测,电 压、分贝、信号参数、时间和频率、电路性能参数的测量,噪声和接地对测量的影响;电子产品调 试基本方法,故障检测的一般方法,模拟电路、数字电路和整机的调试与故障检测;设计总结报 告写作的基本格式、写作要求与示例;赛前培训、赛前题目分析和赛前准备工作等内容。通过 上述内容的学习,学生可全面、系统地掌握在电子竞赛作品制作过程中必需的一些基本技能。
《全国大学生电子设计竞赛制作实训(第2版)》指导学生完成 SPCE061A16位单片机、
AT89S52单片机、ADμC845单片数据采集等最小系统的制作;系统可编程模拟放大器、系统 可编程低通滤波器、单通道音频功率放大器、双通道音频功率放大器、语音录放器、语音解说文 字显示系统等模拟电路的制作;FPGA 最小系统、彩灯控制器等数字电路的制作;射频小信号 放大器、射频功率放大器、VCO(压控振荡器)、PLL VCO 环路、调频发射器、调频接收机等高 频电路的制作;DDSAD9852信号发生器、MAX038函数信号发生器等信号发生器的制作;DC DC升压变换器、开关电源、交流固态继电器等电源电路的制作。介绍了电路组成、元器件清
单、安装步骤、调试方法、性能测试方法等内容,可使学生提高实际制作能力。
《全国大学生电子设计竞赛常用电路模块制作》以全国大学生电子设计竞赛中所需要的常 用 电 路 模 块 为 基 础,介 绍 了 AT89S52、ATmega128、ATmega8、C8051F330/1 单 片 机, LM3S615ARM Cortex M3微控制器,LPC2103ARM7微控制器 PACK 板的设计与制作;
键盘及LED 数码管显示器模块、RS 485总线通信模块、CAN 总线通信模块、ADC 模块和 DAC模块等外围电路模块的设计与制作;放大器模块、信号调理模块、宽带可控增益直流放大 器模块、音频放大器模块、D类放大器模块、菱形功率放大器模块、宽带功率放大器模块、滤波 器模块的设计与制作;反射式光电传感器模块、超声波发射与接收模块、温湿度传感器模块、阻 抗测量模块、音频信号检测模块的设计与制作;直流电机驱动模块、步进电机驱动模块、函数信 号发生器模块、DDS信号发生器模块、压频转换模块的设计与制作;线性稳压电源模块、DC/
DC电路模块、Boost升压模块、DC/AC/DC 升压电源模块的设计与制作;介绍了电路模块在 随动控制系统、基于红外线的目标跟踪与无线测温系统、声音导引系统、单相正弦波逆变电源、
北京航空航天大学出版社
3 无线环境监测模拟装置中的应用。本书以实用电路模块为模板,叙述简洁清晰,工程性强,可
使学生提高 常 用 电 路 模 块 的 制 作 能 力。所 有 电 路 模 块 都 提 供 电 路 图、PCB 图 和 元 器 件 布 局图。
《全国大学生电子设计竞赛 ARM 嵌入式系统应用设计与实践》以 ARM 嵌入式系统在全 国大学生电子设计竞赛应用所需要的知识点为基础,介绍了 LPC214xARM 微控制器最小系 统的设计与制作;键盘及 LED 数码管显示器电路、汉字图形液晶显示器模块、触模屏模块、
LPC214x的 ADC和 DAC、定时器/计数器和脉宽调制器(PWM)、直流电机、步进电机和舵机 驱动电路、光电传感器、超声波传感器、图像识别传感器、色彩传感器、电子软盘、倾角传感器、
角度传感器、E2PROM24LC256和SK SDMP3模块、nRF905无线收发器电路模块、CAN 总 线模块电路与LPC214xARM 微控制器的连接、应用与编程;基于 ARM 微控制器的随动控制 系统、音频信号分析仪、信号发生器和声音导引系统的设计要求、总体方案设计、系统各模块方 案论证与选择、理论分析及计算、系统主要单元电路设计和系统软件设计;ADS1.2和 MDK 集成开发环境工程的建立、程序的编译、HEX 文件的生成以及ISP下载。该书突出了 ARM 嵌入式系统应用的基本方法,以实例为模板,可使学生提高 ARM 嵌入式系统在电子设计竞赛 中的应用能力。本书所有实例程序都通过验证,相关程序清单可以在北航出版社网站“下载中 心”下载。
3.规划教材特点
本规划教材的特点:以全国大学生电子设计竞赛所需要的知识点和技能为基础,内容丰富 实用,叙述简洁清晰,工程性强,突出了设计制作竞赛作品的方法与技巧。“系统设计”、“电路 设计”、“技能训练”、“制作实训”、“常用电路模块制作”和“ARM 嵌入式系统应用设计与实践”
这6个主题互为补充,构成一个完整的训练体系。
《全国大学生电子设计竞赛系统设计(第2版)》通过对历年的竞赛设计实例进行系统方案 分析、单元电路设计和集成电路芯片选择,全面、系统地介绍电子设计竞赛作品的基本设计方 法,目的是使学生建立一个“系统概念”,在电子设计竞赛中能够尽快提出系统设计方案。
《全国大学生电子设计竞赛电路设计(第2版)》通过对9类共180多个电路设计实例所采 用的集成电路芯片的主要技术性能与特点、芯片封装与引脚功能、内部结构、工作原理和应用 电路等内容进行介绍,目的是使学生全面、系统地掌握电路设计的基本方法,以便在电子设计 竞赛中尽快“找到”和“设计”出适用的电路。
《全国大学生电子设计竞赛技能训练(第2版)》通过对元器件的选用、印制电路板的设计 与制作、元器件和导线的安装和焊接、元器件的检测、电路性能参数的测量、模拟/数字电路和 整机的调试与故障检测、设计总结报告的写作,培训学生全面、系统地掌握在电子竞赛作品制 作过程中必需的一些基本技能。
北京航空航天大学出版社
4
《全国大学生电子设计竞赛制作训练(第2版)》与《全国大学生电子设计竞赛技能训练(第 2版)》相结合,通过单片机最小系统、FPGA 最小系统、模拟电路、数字电路、高频电路、电源电 路等30多个制作实例,掌握主要元器件特性、电路结构、印制电路板、制作步骤、调试方法、性 能测试方法等内容,培养学生制作、装配、调试与检测等实际动手能力,使其能够顺利地完成电 子设计竞赛作品的制作。
《全国大学生电子设计竞赛常用电路模块制作》指导学生完成电子设计竞赛中常用的微控 制器电路模块、微控制器外围电路模块、放大器电路模块、传感器电路模块、电机控制电路模 块、信号发生器电路模块和电源电路模块的制作,所制作的模块可以直接在竞赛中使用。
《全国大学生电子设计竞赛 ARM 嵌入式系统应用设计与实践》以 ARM 嵌入式系统在全 国大学生电子设计竞赛应用所需要的知识点为基础,以 LPC214xARM 微控制器最小系统为 核心;以 LED、LCD和触摸屏显示电路,ADC和 DAC电路,直流电机、步进电机和舵机的驱动 电路,光电、超声波、图像识别、色彩识别、电子罗盘、倾角传感器、角度传感器,E2PROM,SD 卡,无线收发器模块,CAN 总线模块的设计制作与编程实例为模板;目的是使学生能够简单、
快捷地掌握ARM 系统,并且能够在电子设计竞赛中熟练应用。
4.读者对象
本规划教材可作为电子设计竞赛参赛学生的训练教材,也可作为高等院校电子信息工程、
通信工程、自动化、电气控制类等专业学生参加各类电子制作、课程设计和毕业设计的教学参 考书,还可作为电子工程技术人员和电子爱好者进行电子电路和电子产品设计与制作的参 考书。
作者在本规划教材的编写过程中,参考了国内外的大量资料,得到了许多专家和学者的大 力支持。其中,北京理工大学、北京航空航天大学、国防科技大学、中南大学、湖南大学、南华大 学等院校的指导老师和电子参赛队员提出了一些宝贵意见和建议,并为本规划教材的编写做 了大量的工作,在此一并表示衷心的感谢。
由于作者水平有限,本规划教材中的错误和不足之处在所难免,敬请各位读者批评斧正。
黄智伟 2010年12月
于南华大学
北京航空航天大学出版社
目 录
第1章 LPC214xARM7微控制器与最小系统
1.1 LPC214x的特性与封装………1
1.1.1 LPC214x的主要特性 ………1
1.1.2 LPC214x的封装形式与引脚功能 ………3
1.2 LPC214x的内部结构与功能 ………6
1.2.1 LPC214x的内部结构 ………6
1.2.2 LPC214x内部结构功能描述 ………6
1.3 LPC214xARM7最小系统设计与制作 ………14
1.3.1 LPC214xARM7CPUPACK 板电路………14
1.3.2 LPC214xARM7最小系统实验板电路 ………18
第2章 显示器电路 2.1 键盘及 LED 数码管显示器电路设计与制作 ………26
2.1.1 ZLG7290B主要特性………26
2.1.2 ZLG7290B应用电路………28
2.1.3 ZLG7290B应用中应注意的一些问题………28
2.1.4 ZLG7290B显示键盘应用程序设计………32
2.2 液晶显示器模块的连接与编程………36
2.2.1 FYD12864 0402B汉字图形点阵液晶显示模块简介 ………36
2.2.2 LPC2148最小系统开发板与 FYD12864 0402B的连接………37
2.2.3 FYD12864 0402B汉字图形点阵液晶显示模块编程示例 ………38
2.3 触摸屏模块的连接与编程………45
2.3.1 触摸屏模块简介………45
2.3.2 LPC2148最小系统开发板与触摸屏模块的连接 ………48
北京航空航天大学出版社
2
2.3.3 触摸屏模块的编程示例………48
第3章 ADC和 DAC电路 3.1 ADC电路设计与制作 ………62
3.1.1 LPC214x的 ADC简介………62
3.1.2 LPC214x的 ADC编程示例………64
3.2 DAC电路设计与制作 ………75
3.2.1 LPC214x的 DAC简介………75
3.2.2 LPC214x的 DAC编程示例………76
第4章 电机控制 4.1 LPC214x的定时器/计数器和脉宽调制器 ………78
4.1.1 定时器/计数器(定时器0和定时器1) ………78
4.1.2 脉宽调制器………81
4.2 直流电机控制………84
4.2.1 直流电机电枢的调速原理与方式………84
4.2.2 直流电机驱动电路设计………86
4.2.3 直流电机与 LPC214x的连接 ………90
4.2.4 直流电机控制编程示例………90
4.3 步进电机控制………94
4.3.1 步进电机工作原理及方式简介………94
4.3.2 基于“L297+L298N”的步进电机驱动与控制电路 ………95
4.3.3 基于“L297+L298N”的步进电机控制编程示例 ………99
4.3.4 基于 TA8435H 的步进电机驱动与控制电路 ……… 106
4.3.5 基于 TA8435H 的步进电机控制编程示例 ………111
4.4 舵机控制 ……… 116
4.4.1 舵机简介 ………116
4.4.2 舵机与 LPC214x的连接………118
4.4.3 舵机控制编程示例 ……… 119
第5章 传感器电路 5.1 光电传感器及其应用 ………122
5.1.1 光电传感器选型 ………122
5.1.2 利用反射式光电传感器检测障碍物 ……… 123
北京航空航天大学出版社
3
5.1.3 利用反射式光电传感器检测黑线 ………125
5.1.4 利用光电传感器检测光源 ………130
5.2 超声波传感器及其应用 ……… 142
5.2.1 超声波传感器的基本特性与选型 ………142
5.2.2 超声波传感器用于障碍物检测与测距 ……… 143
5.2.3 超声波传感器用于障碍物检测与测距编程示例 ……… 147
5.3 图像识别传感器及其应用 ……… 152
5.3.1 图像识别模组内部结构 ………152
5.3.2 图像识别模组电路 ……… 152
5.3.3 图像识别模组的应用 ……… 157
5.3.4 SPCA563A 图像识别模块编程示例 ……… 159
5.4 色彩传感器及其应用 ………176
5.4.1 常用的几种色彩传感器的解决方案 ……… 176
5.4.2 TCS230可编程颜色光 频率转换器 ……… 178
5.4.3 颜色识别模块的编程示例 ………181
5.5 电子罗盘及其应用 ………188
5.5.1 电子罗盘简介 ………188
5.5.2 BQ CA80 TTL电子罗盘与微控制器的连接 ……… 189
5.5.3 BQ CA80 TTL电子罗盘模块的编程示例 ……… 190
5.6 倾角传感器及其应用 ………194
5.6.1 倾角传感器简介 ………194
5.6.2 LPC214x开发板与 MSIN LD60倾角传感器的连接 ……… 195
5.6.3 MSIN LD60倾角传感器编程示例 ……… 195
5.7 角度传感器及其应用 ………200
5.7.1 WDD35D 4角度传感器简介 ………200
5.7.2 LPC214x开发板与 WDD35D 4角度传感器的连接 ……… 201
5.7.3 WDD35D 4角度传感器编程示例 ……… 202
第6章 数据存储 6.1 E2PROM24LC256………205
6.1.1 E2PROM24LC256简介………205
6.1.2 24LC256的典型应用电路 ………205
6.1.3 24LC256读/写操作编程示例 ………206
6.2 SK SDMP3语音模块及其应用 ……… 209
北京航空航天大学出版社
4
6.2.1 SK SDMP3模块简介 ………209
6.2.2 音频功率放大器电路 ……… 211
6.2.3 SK SDMP3模块的编程示例 ………214
第7章 数据传输 7.1 无线数据传输 ………218
7.1.1 基于nRF905的无线收发器电路模块 ……… 218
7.1.2 LPC214x开发板与无线收发器电路模块的连接 ……… 223
7.1.3 无线收发器电路模块的编程示例 ………223
7.2 CAN 总线应用………237
7.2.1 CAN 总线简介………237
7.2.2 在嵌入式处理器上扩展 CAN 总线接口 ………239
7.2.3 CAN 总线网络结构……… 239
7.2.4 CAN 总线模块设计……… 240
7.2.5 CAN 总线网络编程示例………244
第8章 系统应用 8.1 基于 ARM 微控制器的随动控制系统 ………251
8.1.1 设计要求 ………251
8.1.2 总体方案设计 ………252
8.1.3 系统各模块方案论证与选择 ……… 252
8.1.4 理论分析及计算 ………257
8.1.5 系统主要单元电路设计 ………260
8.1.6 系统软件设计 ………267
8.2 音频信号分析仪 ……… 296
8.2.1 赛题要求 ………296
8.2.2 基于单片机和 FPGA 的设计方案 ………298
8.2.3 基于 LPC214xARM 微控制器的设计方案实例 ……… 300
8.3 正弦波信号发生器 ………304
8.3.1 AD9850/51DDS模块简介………304
8.3.2 LPC214x开发板与 AD9850/51DDS模块的连接 ………306
8.3.3 AD9850/51DDS模块的编程示例………307
8.4 基于 ARM 微控制器的声音导引系统 ………310
8.4.1 设计要求 ………310
北京航空航天大学出版社
5
8.4.2 系统方案设计 ………312
8.4.3 系统主要单元的选择与论证 ……… 313
8.4.4 系统组成 ………315
8.4.5 理论分析及计算 ………316
8.4.6 系统电路设计 ………317
8.4.7 系统软件设计 ………318
第9章 开发环境及ISP下载 9.1 ADS1.2集成开发环境 ……… 328
9.1.1 ADS1.2集成开发环境简介 ……… 328
9.1.2 工程的编辑 ……… 329
9.2 MDK 集成开发环境 ………334
9.2.1 MDK 集成开发环境简介 ………334
9.2.2 工程的编辑 ……… 335
9.3 ISP下载 ……… 339
参考文献……… 341
北京航空航天大学出版社
第 1 章
LPC214xARM7微控制器与最小系统
1. 1 LPC214x的特性与封装
1. 1. 1 LPC214x的主要特性
LPC214x(LPC2141/2/4/6/8)是基于一个支持实时仿真和嵌入式跟踪的32/16位 ARM7 TDMI SCPU 的微控制器,并带有32KB和512KB嵌入的高速 Flash存储器。128位宽的 存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格 控制的应用,可使用16位 Thumb模式,代码规模降低超过30%,而性能的损失却很小。
较小的封装和很低的功耗使LPC214x特别适用于访问控制和 POS机等小型应用中。由 于内置了宽范围的串行通信接口(从 USB2.0全速器件、多个通用异步收发器 UART、串行外 设接口SPI、同步串行口控制器SSP到I2C总线)和8~40KB的片内SRAM,所以它们非常适 合于通信网关、协议转换器、软 modem、语音识别、低端成像,以及为这些应用提供大规模的缓 冲区和强大的处理功能。多个32位定时器、1个或2个10位 ADC、10位 DAC、PWM 通道、
45个高速 GPIO 以及多达9个边沿或电平触发的外部中断引脚,使它们特别适用于工业控制 和医疗系统。
LPC214x的主要特性如下:
⚬ 16/32位 ARM7TDMI S微控制器,超小 LQFP64封装。
⚬ 8~40KB的片内静态 RAM 和32~512KB的片内 Flash存储器;128位宽接口/加速 器可实现高达60MHz的工作频率。
⚬ 通过片内boot装载程序软件实现在系统编程/在应用编程(ISP/IAP)。单个 Flash扇 区或整片擦除时间为400ms;256字节编程时间为1ms。
⚬ EmbeddedICERT 和嵌入式跟踪接口通过片内 RealMonitor软件提供实时调试和高 速跟踪指令的执行。
⚬ USB2.0全速设备控制器具有2KB的终端 RAM。此外,LPC2146/8提供8KB的片 内RAM,可通过 DMA 访问 USB。
⚬ 1个或2个10位 ADC,提供总共6/14路模拟输入,每个通道的转换时间低至2.44μs。
北京航空航天大学出版社
2
⚬ 1个10位的 DAC,可产生不同的模拟输出(仅用于 LPC2142/4/6/8)。
⚬ 2个32位定时器/外部事件计数器(带4路捕获和4路比较通道)、PWM 单元(6路输 出)和看门狗。
⚬ 低功耗实时时钟(RTC)具有独立的电源和特定的32kHz时钟输入。
⚬ 多个串行接口,包括2个 UART(16C550)、2个高速I2C总线(400kbit/s)、SPI和具有 缓冲作用和数据长度可变功能的SSP。
⚬ 向量中断控制器(VIC)可配置优先级和向量地址。
⚬ 小型的 LQFP64封装上包含多达45个通用I/O 口(可承受5V 电压)。
⚬ 多达21个可用的外部中断引脚。
⚬ 通过一个可编程的片内 PLL(100μs的设置时间)可实现最大为60MHz的 CPU 时钟 操作频率。
⚬ 片内集成振荡器与外部晶体的操作频率范围是1~25MHz。
⚬ 低功耗模式有空闲和掉电。
⚬ 可通过个别使能/禁止外围功能和外围时钟分频来优化额外功耗。
⚬ 通过外部中断或掉电检测(BOD)将处理器从掉电模式中唤醒。
⚬ 单电源,具有上电复位(POR)和掉电检测电路,CPU 操作电压范围为3.0~3.6V(即 3.3V±10%),I/O 口可承受5V 的电压。
⚬ 温度范围:-40~+85℃。
LPC2141/2/4/6/8的主要特性区别如表1 1所列。
表1 1 LPC2141/2/4/6/8的主要特性区别
器件型号 Flash存储器 RAM 端点USBRAM ADC(全部通道) DAC
LPC2141FBD64 32KB 8KB 2KB 1(6通道) —
LPC2142FBD64 64KB 16KB 2KB 1(6通道) 1
LPC2144FBD64 128KB 16KB 2KB 2(14通道) 1
LPC2146FBD64 256KB 32KB+8KB与 USBDMA 共用* 2KB 2(14通道) 1 LPC2148FBD64 512KB 32KB+8KB与 USBDMA 共用* 2KB 2(14通道) 1 * 当 USBDMA 是额外8KBRAM 的主要用户时,该 RAM 作为通用 RAM 可被 CPU 在任何时候访问用于数据和 代码存储。
LPC214x的一些极限参数如下所示:
⚬ VDD引脚的电源电压最大值为+3.6V。
⚬ VDDA引脚的模拟电源电压最大值为4.6V。
⚬ VBAT引脚的输入电压最大值为4.6V(用于 RTC)。
⚬ VREF引脚的输入电压最大值为4.6V。
北京航空航天大学出版社
3
⚬ VIA模拟输入电压最大值为5.1V。
⚬ VI输入电压,可承受5V 的I/O 口最大值为6.0V,其他I/O 口最大值为 VDD+0.5V。
⚬ Tstg储存温度范围为-40~+125℃。
⚬IDDDC电源电流最大值为100mA。
⚬ISSDC地电流最大值为100mA。
注意:使用时不能够超过这些极限参数,否则将造成芯片永久性损坏。
有关LPC214x的更多信息,请登录 http://www.zlgmcu.com 查询《PHILIPS单片16/
32位微控制器———LPC2141/42/44/46/48数据手册》。
1. 1. 2 LPC214x的封装形式与引脚功能
LPC214x采 用 小 型 的 LQFP64 封 装,LPC2144/6/8 的 封 装 形 式 如 图 1 1 所 示。
LPC214x的引脚功能如表1 2所列。
注意:LPC2141/2与 LPC2144/6/8采用相同的封装形式,仅个别引脚功能不同。
表1 2 LPC214x的引脚功能
引脚符号 类 型 功 能
P0.0~P0.31 I/O
P0,是一个32位I/O 口,每个位都有独立的方向控制。有31个P0口可用作通用双向数字I/O 口,P0.31只用作输出口。P0口引脚多数是多功能引脚端,其操作取决于引脚连接模块所选择 的功能。引脚 P0.24、P0.26和 P0.27不可用。
引脚端不同符号表示:
P0.0~P0.31———通用输入/输出数字引脚(GPIO);
TXDx———UARTx的发送器输出;
RXDx———UARTx的接收器输入;
RTSx———UARTx请求发送输出,仅用于 LPC2144/6/8;
CTSx———UARTx的清零发送输入,仅用于 LPC2144/6/8;
DSRx———UARTx的数据设置就绪输入,仅用于 LPC2144/6/8;
DTRx———UARTx的数据终端就绪输出,仅用于 LPC2144/6/8;
DCDx———UARTx数据载波检测输入,仅用于 LPC2144/6/8;
RIx———UARTx铃声指示输入,仅用于 LPC2144/6/8;
PWMx———脉宽调制器x输出;
EINTx———外部中断x输入;
SCLx———I2Cx时钟输入/输出,开漏输出(符合I2C规范);
SDAx———I2Cx数据输入/输出,开漏输出(符合I2C规范);
SCKx———SPIx串行时钟,主机输出或从机输入的时钟;
MISOx———SPIx主机输入/从机输出,从机到主机的数据传输;
MOSIx———SPIx主机输出/从机输入,主机到从机的数据传输;
SSELx———SPIx从机选择,选择 SPI接口用作从机;
SCKx———SSP串行时钟,主机输出或从机输入的时钟;
北京航空航天大学出版社
4
续表1 2
引脚符号 类 型 功 能
P0.0~P0.31 I/O
MISOx———SSP主机输入/从机输出,从机到主机的数据传输;
MOSIx———SSP主机输出/从机输入,主机到从机的数据传输;
SSELx———SSP从机选择,选择 SSP 接口用作从机;
CAPx.x———定时器x捕获输入x;
MATx.x———定时器x匹配输出x;
ADx.x———ADCx,输入x;
AOUT———DAC输出,仅用于 LPC2144/6/8;
VBUS———USB总线电源;
UP_LED———USB良好连接 LED 指示器;
CONNECT———在软件控制下,信号用来切换外部15kΩ 的电阻。使用SoftConnectUSB特性
P1.0~P1.31 I/O
P1口,一个32位双向I/O 口,每个位都有独立的方向控制。P1口引脚多数是多功能引脚端, 其操作取决于引脚连接模块所选择的功能。P1口的 P1.0~P1.15不可用。
引脚端不同符号表示:
P1.16~ P1.31———通用输入/输出数字引脚(GPIO);
TRACEPKTx———跟踪包位x,带内部上拉的标准I/O 口;
TRACESYNC———跟踪同步,带内部上拉的标准I/O 口;
TRACECLK———跟踪时钟,带内部上拉的标准I/O 口;
PIPESTATx———流水线状态位x,带内部上拉的标准I/O 口;
EXTINx———外部触发输入,带内部上拉的标准I/O 口;
RTCK———返回的测试时钟输出;
TDO———JTAG 接口测试数据输出;
TDI———JTAG 接口测试数据输入;
TCK———JTAG 接口测试时钟;
TMS———JTAG 接口的模式选择;
TRST———JTAG 接口的测试复位 D+ I/O USB 双向 D+线
D- I/O USB 双向 D-线
RESET I 外部复位输入,该引脚的低电平将器件复位,并使I/O 口和外围功能恢复默认状态,处理器从 地址0开始执行。带迟滞的 TTL电平,引脚可承受5V 电压
XTAL1 I 振荡器电路和内部时钟发生器的输入 XTAL2 O 振荡放大器的输出
RTXC1 I RTC振荡电路的输入 RTXC2 O RTC振荡电路的输出
VSS I 地,0V 参考点
VSSA I 模拟地,0V 参考点。标称电压与 VSS相同,但应当互相隔离以减少噪声和故障 VDD I 3.3V 电源,内核和I/O 口的电源电压
VDDA I 模拟3.3V 端口电源,标称电压与 VDD相同,但应当互相隔离以减少噪声和故障。该电压也用 来向片内ADC和 DAC供电
北京航空航天大学出版社
5 续表1 2
引脚符号 类 型 功 能
VREF I A/D 转换器参考电压,标称电压应少于或等于 VDD电 压,但应当互相隔离以减少噪声和故障。
该引脚的电平用作ADC和 DAC的参考电压 VBAT I RTC电源,RTC的3.3V 电源端
图1 1 LPC2144/6/8的封装形式
北京航空航天大学出版社
6
1. 2 LPC214x的内部结构与功能
1. 2. 1 LPC214x的内部结构
LPC214x内部结构方框图如图1 2所示。
1. 2. 2 LPC214x内部结构功能描述
1.ARM7TDMI S简介
ARM7TDMI S是一个通用的32位微处理器,其 ARM 结构是基于精简指令集计算机 (RISC)原理而设计的。指令集和相关的译码机制比微编程的复杂指令集计算机(CISC)要简 单得多。一个小的、廉价的处理器核,可实现较高的指令吞吐量和实时的中断响应,并具有高 性能和低功耗的特性。
ARM7TDMI S由于使用了流水线技术,处理和存储系统的所有部分都可连续工作。通 常在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。
ARM7TDMI S处理器具有标准32位 ARM 和16位 Thumb两个指令集。Thumb指令 集的16位指令长度使其可以达到标准 ARM 代码两倍的密度,却仍然保持 ARM 的大多数性 能上的优势,这些优势是使用16位寄存器的16位处理器所不具有的。
在LPC214x中的特定 Flash也允许在 ARM 模式中全速执行。建议在 ARM 模式中编程 一些重要的、短的代码段,例如中断服务程序和 DSP算法。
2.片内 Flash程序存储器
LPC214x分别集成了一个32KB/64KB/128KB/256KB/512KB 的 Flash存储器系统。
该存储器可用作代码和数据的存储。对 Flash存储器的编程可通过不同的方法来实现,可以 通过串口进行在系统编程。应用程序也可以在程序运行时擦除和/或编程 Flash,这样为数据 存储和现场固件的升级都带来了极大的灵活性。
由于选择使用 片 内Bootloader,LPC214x 上 可 用 作 用 户 代 码 的 Flash 存 储 器 分 别 为 32 KB/64KB/128KB/256KB/500KB。
LPC214xFlash存储器至少含有100000个擦除/写周期,数据至少可保存20年。
3.片内静态 RAM
片内静 态RAM 可 用 作 代 码 和/或 数 据 存 储。SRAM 支 持 8 位、16 位 和 32 位 访 问。
LPC2141、LPC2142/4和 LPC2146/8 分 别 提 供 8KB、16KB、32KB 的 静 态 RAM。在 仅 为 LPC2146/8的情况下,主要由 USB使用的8KBSRAM 模块也可用作数据存储、代码存储和
执行的通用RAM。
北京航空航天大学出版社
7
注:① 该引脚与 GPIO 共用。
② 仅在 LPC2144/6/8中可用。
③ USBDMA 控制器带8KBRAM,可作为通用 RAM 访问,DMA 仅在 LPC2146/8中可用。
④ 仅在 LPC2142/4/6/8中可用。
图1 2 LPC214x内部结构方框图
北京航空航天大学出版社
8
4.存储器映射
LPC214x的存储器映射包含几个不同的区域,如图1 3所示。此外,CPU 的中断向量可 以重新映射,这样允许它们位于 Flash存储器(默认)或者片内静态 RAM 中。
图1 3 LPC2141/2/4/6/8存储器映射
5.中断控制器
向量中断控制器(VIC)接收所有的中断请求(IRQ)输入,并将它们编程分配为3类:快速 中断请求(FIQ)、向量IRQ 和非向量IRQ。可编程分配机制意味着不同外设的中断优先级可 以动态分配和调整。
快速中断请求(FIQ)具有最高优先级。如果分配给 FIQ 的请求多于1个,VIC将中断请 求“相或”向 ARM 处理器产生 FIQ 信号。当只有一个被分配为 FIQ 时可实现最短的 FIQ 等
北京航空航天大学出版社
9 待时间。如果分配给 FIQ 级的请求多于1个,FIQ 服务程序从 VIC中读出一个字以识别产生
中断请求的FIQ 中断源是哪一个。
向量IRQ 具有中等优先级。该级别可分配16个中断请求。中断请求中的任意一个都可 分配到16个向量IRQslot中的任意一个,其中slot0具有最高优先级,而slot15则为最低优 先级。
非向量IRQ 的优先级最低。
VIC将所有向量和非向量IRQ 组合后向 ARM 处理器产生IRQ 信号。IRQ 服务程序可 通过读取VIC的一个寄存器立即启动并跳转到相应地址。如果有任意一个向量IRQ 发出请 求,VIC则提供最高优先级请求IRQ 服务程序的地址,否则提供默认程序的地址,该默认程序 由所有非向量IRQ 共用。默认程序可读取另外一个 VIC寄存器以确定哪个IRQ 被激活。
每个外设都有一条中断线连接到VIC,但可能有几个内部中断标志。单个中断标志也可 能代表多于一个的中断源。
6.引脚连接模块
引脚连接模块允许将微控制器的引脚配置为不同的功能。配置寄存器控制连接引脚和片 内外设的多路开关。应当在激活外设以及使能任何相关的中断之前,将外设连接到相应的引 脚。任何一个被使能的外设,如果其功能没有映射到相关的引脚,那么对它的激活将被认为是 未定义的。
带有自身引脚选择寄存器的引脚控制模块在一个给定的硬件环境中定义了微控制器的 功能。
复位后,P0和 P1的所有引脚都配置为输入,以下情况除外:如果调试被使能,JTAG 引脚 将假定为JTAG 功能;如果跟踪被使能,跟踪引脚将假定为跟踪功能。与I2C0和I2C1接口有 关的引脚为开漏。
7.快速通用并行I/O 口
没有连接到特定外设功能的引脚由GPIO 寄存器进行控制。引脚可以动态配置为输入或 输出。寄存器可以同时对任意输出口进行置位或清零。输出寄存器的值以及引脚的当前状态 都可以读出。
LPC2141/2/4/6/8的 GPIO:GPIO 寄存器被转移到 ARM 局部总线,可以实现高速I/O 时序;所有 GPIO 寄存器为字节可寻址;整个端口值可用一条指令写入;位电平置位和清零寄 存器允许一条指令置位和 清 零 一 个 端 口 的 任 何 位 数;输出置位和清零可单独控制;所有I/O 在复位后的默认状态都为输入;可以实现单个位的方向控制。
8.10位模 /数转换器 ADC
LPC2141/2含有1个 ADC,LPC2144/6/8含有2个 ADC。这些 ADC 为单个10位逐次
北京航空航天大学出版社
10
逼近ADC。其中,ADC0有6个通道时,ADC1有8个通道。LPC2141/2可用的 ADC 输入总 数为6,LPC2144/6/8可用的 ADC输入总数为14。
ADC 的测量范围为0V~VREF(2.0V≤VREF≤VDDA),每个转换器每秒可执行多于400000 次10位采样,每个模拟输入有一个指定的结果寄存器来减少中断开销,具有单路或多路输入 的突发转换模式,2个转换器全局启动命令(仅用于 LPC2142/4/6/8),可以根据输入脚的跳变 或定时器匹配信号执行转换。
9.10位数 /模转换器 DAC
LPC2141/2/4/6/8具有一个10位 DAC,DAC用来产生模拟量输出;另外,还具有缓冲输 出,可用于掉电模式,可选择的速率与功耗,最大的 DAC输出电压为VREF电压。
10.USB2. 0 设备控制器
LPC214x带有 USB设备控制器,该控制器能与 USB 主机控制器以12Mbit/s的速率进 行数据传输。它由寄存器接口、串行接口引擎、端点缓冲存储器和 DMA 控制器组成。串行接 口引擎对USB数据流进行译码,并将数据写入相应的端点缓冲存储器。完整的 USB 传输状 态或错误条件通过状态寄存器来指示,若中断使能则产生中断。
DMA 控制器(仅用于 LPC2146/8)可传输端点缓冲区和 USBRAM 之间的数据。
LPC214x的 USB设备控制器完全兼容 USB2.0全速规范,支持32个物理(16个逻辑) 端点,支持控制、批量、中断和同步端点,运行时调整使用的端点,并且可通过软件来选择端点 最大包长度(取决于 USB最大规格,RAM 信息缓冲区大小取决于使用的端点和最大包的长 度),支持SoftConnect特性和 GoodLinkLED 指示器,支持总线供电功能,具有较低的挂起 电流,支持所有 非 控 制 端 点 的 DMA 传输(仅用于 LPC2146/8),所有端点都有一个双向的 DMA 通道(仅 用 于 LPC2146/8),允 许 CPU 控 制 和 DMA 模 式 之 间 的 动 态 切 换 (仅 用 于 LPC2146/8),实现了批量和同步端点的双缓冲。
11.UART
LPC214x包含2个 UART。除了标准的发送和接收数据线外,LPC2144/6/8UART1还 提供一个完全的调制解调器控制握手接口。
LPC214x的 UART 具有16字节接收和发送 FIFO,寄存器位置遵循550工业标准,接收 器FIFO 触发点为1、4、8和14字节,内置分数波特率发生器(可使能微控制器来激活标准波 特率如115200),发 送 FIFO 控 制 使 能 实 现 2 个 UART 的 软 件 (XON/XOFF)流 控 制, LPC2144/6/8的 UART1带有标 准 的 调 制 解 调 器 接 口 信 号,在 硬 件 中 完 全 实 现 自 动 CTS/
RTS流控制功能。
12.I
2C 总线串行I/O 控制器
LPC214x包含2个I2C总线控制器。I2C为双向总线,它使用串行时钟线(SCL)和串行数
北京航空航天大学出版社
11 据线(SDA)实现互连芯片的控制。
LPC214x中的I2C总线遵循标准的I2C总线接口,可配置为主机、从机或主/从机,可编程 时钟可实现通用速率控制,主机与从机之间双向数据传输,多主机总线(无中央主机),同时发 送的主机之间进行仲裁,可避免总线上串行数据冲突,串行时钟同步使器件在一条串行总线上 实现不同位速率的通信,串行时钟同步可作为握手机制使串行传输挂起和恢复,I2C 总线可用 于测试和诊断,支持高达400kbit/s的位速率(高速I2C总线)。
13.SPI串行I/O 控制器
LPC214x包含1个SPI控制器。SPI是一个全双工的串行接口,可以设计成在一条给定 总线上能够处理多个互连的主机和从机。在一定数据传输过程中,接口上只能有一个主机和 一个从机可以通信。在一次数据传输中,主机总是向从机发送一个数据字节,而从机也总是向 主机发送一个数据字节。
LPC214x的SPI控制器遵循串行外设接口(SPI)规范,可实现同步、串行、全双工通信,组 合的SPI主机和从机,其最大数据位速率是输入时钟速率的1/8。
14.SSP串行I/O 控制器
LPC214x包含1个同步串行口控制器(SSP)。SSP 可以控制 SPI、4线 SSI或Microwire 总线。它可与总线的多个主机和从机互相通信,但是,在一个给定的数据传输过程中,总线只 允许一个主机和一个从机通信。SSP支持全双工传输,具有发送和接收的8帧 FIFO,允许主 机和从机之间传输4~16位的数据流帧(即每帧包含4~16位数据)。
15.通用定时器 /外部事件计数器
LPC214x的定时器/计数器对外设时钟周期(PCLK)或外部时钟进行计数,LPC214x的 定时器/计数器带可编程32位预分频器的32位定时器/计数器;外部事件计数器或定时器操 作;当输入信号跳变时,4个32位捕获通道可捕获定时器的瞬时值,捕获事件可选择产生中 断;4个32位匹配寄存器可实现连续操作,匹配时停止定时器,匹配时复位定时器,并可选择 产生中断;每个定时器有4个对应于匹配寄存器的外部输出,具有匹配时置低电平,匹配时置 高电平,匹配时翻转,匹配时不变的特性。
16.看门狗定时器
LPC214x的看门狗定时器的作用是使微控制器在进入错误状态经过一段时间后复位。
当看门狗使能时,如果没有在预 先 确 定 的 时 间 内 “喂”(重 装)看 门 狗,它 将 会 产 生 一 次 系 统 复位。
LPC214x的看门狗定时器带有内部预分频器的可编程32位定时器;可选择时间周期从 TPCLK×28×4到TPCLK×232×4,可选值为4TPCLK的倍数。
北京航空航天大学出版社
12
17.实时时钟
当选择正常或空闲模式时,实时时钟 RTC提供一套用于测量时间的计数器。RTC消耗 的功率非常低,适合由电池供电或 CPU 不连续工作(空闲模式)的系统。
LPC214x的实时时钟可以对时间段进行测量,以实现一个日历和时钟;具有超低功耗设 计,支持电池供电系统;可提供秒、分、小时、日、月、年和星期;可使用 RTC专用的32kHz振荡 器输入或XTAL1连接的外部晶体/振荡器 输 入 的 时 钟。可 编 程 基 准 时 钟 分 频 器 允 许 调 节 RTC以适应不同的晶振频率;采用专用电源引脚连接到电池或3.3V 的电压。
18.脉宽调制器
LPC214x的脉宽调制器 PWM 基于标准的定时器模块并具有其所有特性。LPC214x的 PWM 具有7个匹配寄存器,可实现6个单边沿控制或3个双边沿控制 PWM 输出,或这两种 类型的混合输出;匹配寄存器允许执行连续操作,匹配时停止定时器,匹配时复位定时器,可选 择产生中断的操作;支持单边沿控制和双边沿控制的 PWM 输出;脉冲周期和宽度可以是任何 的定时器计数值;双边沿控制的 PWM 输出可编程为正脉冲或负脉冲;匹配寄存器更新与脉冲 输出同步,防止产生错误的脉冲;如果不使能 PWM 模式,可作为一个标准定时器;带可编程 32位预分频器的32位定时器/计数器。
19.系统控制
(1) 晶 振LPC214x的片内集成振荡器支持的晶振范围为1~25MHz。晶振输出频率称为fOSC,而 ARM 处理器时钟频率称为fCLK。除非连接并运行 PLL,否则在该文档中fOSC和fCLK的值是 相同的。
(2) PLL
LPC214x的 PLL可以接收10~25MHz的输入时钟频率。输入频率通过一个电流控制 振荡器(CCO)可以倍增为10~60MHz。倍增器可以是1~32的整数(实际上在该系列微控 制器当中,由于 CPU 频率的限制,所以倍增器的值不可能大于6)。CCO 操作的范围为156~
320MHz。输出分频器可设置为2、4、8或者16分频以产生输出时钟。PLL 在芯片复位后关 闭并且被旁路,可通过软件使能。程序必须配置并且激活 PLL,等待 PLL锁定之后再将 PLL 作为时钟源。PLL设置时间为100μs。
(3) 复位和唤醒定时器
LPC214x有2个复位源:RESET 引脚和看门狗复位。RESET 引脚是一个施密特触发 输入引脚,带有附加的干扰滤波器。任何复位源所导致的芯片复位都会启动唤醒定时器,使内 部芯片复位保持有效直到外部复位撤除,然后振荡器开始运行。振荡器运行经过固定数目的 时钟后片内Flash控制器完成其初始化。
北京航空航天大学出版社
13 当内部复位撤除后,处理器从复位向量地址0开始执行。此时所有的处理器和外设寄存 器都被初始化为预设的值。
唤醒定时器的用途,是确保振荡器和其他芯片操作所需要的模拟功能,在处理器能够执行 指令之前完全正常工作。由于振荡器和其他功能在掉电模式下关闭,因此将处理器从掉电模 式中唤醒就要利用唤醒定时器。
唤醒定时器监视晶体振荡器是否可以安全地开始执行代码。当芯片上电时,或某些事件 导致芯片退出掉电模式时,振荡器需要一定的时间以产生足够振幅的信号驱动时钟逻辑。时 间的长度取决于许多因素,包括 VDD上升速度(上电时)、晶振的类型及电气特性以及其他外部 电路(例如,电容)和外部环境下振荡器自身的特性。
(4) 掉电检测器
LPC214x可以对 VDD引 脚 电 压 进 行2 级检 测。如 果 VDD电 压 低 于2.9V,掉 电 检 测 器 (BOD)向向量中断控制器声明一个中断。该信号可通过中断使能;或者,也可由软件通过读 取相应的寄存器来监控。
当VDD引脚的电压低于2.6V 时,第二级的低电压检测将产生复位,禁能 LPC214x。
(5) 代码安全
LPC214x可以控制 应 用 代 码 是 否 被 调 试 或 被 保 护 (以 防 盗 用)。当 片 内 Bootloader在 Flash中检测到一个有效校验,以及在 Flash的0x1FC 地址单元读取0x87654321时,禁止调
试,Flash代码被保护。一旦调试被禁能,它就只能通过执行芯片擦除来使能。
(6) 外部中断输入
根据可选引脚功能的设定,LPC214x最多可包含9个边沿或电平触发的外部中断输入。
外 部 事 件 可 作 为4 个独立的中断信号来处理。外部中断输入可用于将处理器从掉电状态 唤醒。
(7) 存储器映射控制
存储器映射控制可以改变从地址0x00000000开始的中断向量的映射。向量可以映射到 片内Flash存储器的底部,也可以映射到片内静态 RAM。这使得在不同存储器空间中运行的 代码都能够对中断进行控制。
(8) 功率控制
LPC214x支持空闲模式和掉电模式两种低功耗模式。
在空闲模式中,指令的执行被暂停,直到产生复位或中断为止。外围功能在空闲模式下继 续工作并可产生中断唤醒处理器。空闲模式使处理器自身、存储器系统和相关的控制器以及 内部总线不再消耗功率。
在掉电模式中,振荡器被关闭,芯片没有任何的内部时钟。处理器状态和寄存器、外设寄 存器和内部SRAM 的值在掉电模式下保持不变。芯片输出引脚的逻辑电平保持静态。通过 复位或特定的不需要时钟还可工作的中断可终止掉电模式并恢复正常操作。由于芯片所有动
北京航空航天大学出版社
14
态的操作都被暂停,掉电模式使芯片消耗的功率降低到几乎为零。
(9) VPB总线
VPB分频器决 定 处 理 器 时 钟(CCLK)和 外 设 时 钟(PCLK)之 间 的 关 系。VPB 分频器通过 VPB总线为外设提供所需的时钟(PCLK),使外设可工作在 ARM 处理器选择的速率下。为了 实现该功能,VPB总线频率可以降低为处理器时钟频率的1/2~1/4。VPB 总线在复位后的 默认状态是以1/4的处理器时钟速率运行。当所有外设都不必在全速率下运行时,VPB分频 器可以降频以降低功耗。由于 VPB分频器连接到 PLL的输出,PLL(如果正在运行)在空闲 模式时保持有效。
20.仿真和调试
LPC214x支持通过JTAG 串行端口进行仿真和调试。跟踪端口允许跟踪程序的执行。
调试和跟踪功能只在GPIO 的 P1口复用。这意味着当应用在嵌入式系统内运行时,位于 P0 口的所有通信、定时器和接口外设在开发和调试阶段都可用。
标准的ARM EmbeddedICE逻辑提供对片内调试的支持。对目标系统进行调试需要一 个主机来运行调试软件和EmbeddedICE协议转换器。EmbeddedICE 协议转换器将远程调 试协议命令转换成所需要的JTAG 数据,从而对目标系统上的 ARM 内核进行访问。
嵌入式跟踪宏单元(ETM)对深嵌入处理器内核提供了实时跟踪能力。它向一个跟踪端 口输出处理器执行的信息。ETM 直接连接到 ARM 内核而不是 AMBA 系统总线。它将跟踪 信息压缩并通过一个窄带跟踪端口输出。外部跟踪端口分析仪在软件调试器的控制下捕获跟 踪信息。
RealMonitor是一个可配置的软件模块,它由 ARM 公司开 发,可 以 提 供 实 时 的 调 试。
LPC214x包含一个编程到片内 Flash存储器中的 RealMonitor软件的指定配置。
1. 3 LPC214xARM7最小系统设计与制作
1. 3. 1 LPC214xARM7CPUPACK 板电路
LPC214x(LPC2141/2/4/6/8)CPUPACK 板电路和 PCB图如图1 4和图1 5所示,通 过J1~J4这4个插座连接 LPC214x(LPC2141/2/4/6/8)的52个引脚端到系统板。
1.电源电路
电源电路采用AS1117 3.3V 稳压器芯片提供系统板3.3V 电源电压。当接通电源时, LEDD1点亮则说明电路接通电源。
北京航空航天大学出版社
15
北京航空航天大学出版社
16
2.系统复位电路
复位电路采用专用芯片MAX811S,该芯片是一种低功耗微处理器监控电路IC,用于监控 微处理器和数字系统内部的供电情况,提供去抖动的手动复位。芯片共有 VCC、GND、MR和 RESET四个引脚,当给该芯片的MR引脚一个大于144ms的低脉冲时,该芯片通过与控制器
相连的RESET引脚使系统复位。
3.晶振电路
本系统的LPC214x(LPC2141/2/4/6/8)控制器选用12MHz晶振,内部 RTC实时时钟的 晶振频率为37.768kHz。其中 XTAL1接控制器的第62引脚,为振荡电路和内部时钟提供输 入,XTAL2接控制器的第61引脚,为振荡放大器提供输出;RTCX1为 RTC振荡电路的输入 引脚,接控制器的3引脚,RTCX2为 RTC振荡电路的输出引脚,接控制器的5引脚。
注意:对于初学者建议购买现成的 LPC214xARM7CPUPACK 板。
图1 5 LPC214x(LPC2141/2/4/6/8)CPUPACK 板电路
北京航空航天大学出版社
17
图1 5 LPC214x(LPC2141/2/4/6/8)CPUPACK 板电路(续)
北京航空航天大学出版社
18 图1 5 LPC214x(LPC2141/2/4/6/8)CPUPACK 板电路(续)
1. 3. 2 LPC214xARM7最小系统实验板电路
LPC214xARM7最小系统实验板电路如图1 6所示,系统提供蜂鸣报警、串行通信、数 码管显示、按键控制、流水灯控制、液晶显示、10位的 D/A 和 A/D 转换、PWM 脉冲输出,而且 方便外围扩展。注意:初学者建议购买现成的 LPC214xARM7最小系统实验板。
1.蜂鸣器电路
使用LPC214x控制器的 P0.7引脚控制蜂鸣器,当给该引脚输出低电平时,三极管8550 导通,实现了蜂鸣器报警。
2.流水灯电路
通过LPC214x 控制器和 74HC595 芯片之间的 SPI串行通信来实现对流水灯的 控 制。
具有SPI串 行 外 设 接 口 ,片 选 信 号 引 脚 和 控 制 器 的P0.8引 脚 ,当 给P0.8低 电 平 时 ,选 通
北京航空航天大学出版社
19
北京航空航天大学出版社
20
图1 6 LPC214x最小系统电路原理图(续)
北京航空航天大学出版社
21
图1 6 LPC214x最小系统电路原理图(续)
北京航空航天大学出版社
22
图1 6 LPC214x最小系统电路原理图(续)
北京航空航天大学出版社
23
图1 6 LPC214x最小系统电路原理图(续)
北京航空航天大学出版社
24
图1 6 LPC214x最小系统电路原理图(续)
北京航空航天大学出版社
25 74HC595芯片;串行时钟线引脚 SCLK 接控制器的 P0.4引脚,为芯片提供数据传输时钟频
率;主机输入/从机输出 MISO 和主机输出/从机输入 MOSI引脚分别接控制器P0.6和P0.5, 用于设定SPI数据传输模式,本系统设为主机控制器输出,从机74HC595输入模式;Q0~Q1 共8个并行输出引脚分别和 LED4~LED11共8个发光二极管相接;74HC595芯片拥有8位 串行输入、并行输出的存储器,实现将控制器通过SPI串行接口输入的一字节数并行的传送给 8个 LED 灯,控制流水灯显示。SPI的最大通信速率为fPCLK/8,频率计算公式为
fSPI=fPCLK/SPCCR
其中,SPCCR 为SPI时钟计数寄存器,fPCLK=fCCLK/VPB=12MHz,设SPCCR 寄存器值 为12,则SPI通信速率为1MHz。
3.LED 数码管显示和按键电路
LED 数码管显示和按键电路采用 ZLG7290作为驱动器,ZLG7290是一个专用的数码管 显示驱动及键盘扫描管理芯片,能够直接驱动8位共阴式数码管(或64只独立的 LED),同时 还可以扫描管理多达64只按键,其中有8只按键还可以作为功能键使用,就像计算机键盘上 的Ctrl、Shift、Alt键一样。
4.液晶显示电路
LCD12864液晶显示电路由 LPC214x控制器引脚直接控制。本系统选用的12864型号 为FYD12864 0402B,共20个引脚,选择与控制器并行通信,将液晶的使能信号引脚 E 与控 制器的P0.16连接,当控制器给其低电平时,使能液晶。RS引脚与控制器的 P0.10相连,用 于选择控制器是对液晶写指令还是写数据,当 P0.10为高电平时,传送的是数据;当其为低电 平时,传送的是指令。R/W 引脚与控制器的 P0.12相连,用于控制对液晶读数据或写数据。
DB0~DB7为三态数据线,分别连接控制器的 P1.16~P1.23;RST 为复位引脚,接控制器的 P0.22;LEDK 为 背 光 灯 控 制 引 脚,接 控 制 器 的 P0.18,当 其 为 高 电 平 时,三 极 管 导 通,背 光
灯亮。
北京航空航天大学出版社
第 2 章
显示器电路
2. 1 键盘及 LED数码管显示器电路设计与制作
2. 1. 1 ZLG7290B主要特性
键盘及LED 显示器电路采用 ZLG7290B 实现。ZLG7290B 是广州周立功单片机发展有 限公司自行设计的数 码 管 显 示 驱 动 及 键 盘 扫 描 管 理 芯 片,能够直接驱动 8位共阴式数码管 (1in以下)或64只独立的 LED;能够管理多达64只按键,自动消除抖动,其中有8只可以作 为功能键使用;段电流可达20mA,位电流可达100mA 以上;利用功率电路可以方便地驱动 1in以上的大型数码管;具有闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能;提供具有 10种数字和21种字母的译码显示功能,或者直接向显示缓存写入显示数据;不接数码管而仅 使用键盘管理功能时,工作电流可降至1mA;与微控制器之间采用I2C串行总线接口,只需两 根信号线,节省I/O 资源;工作电压范围为3.3~5.5V;工作温度范围为-40~+85℃;该芯 片为工业级芯片,抗干扰能力强,在工业测控中已有大量应用。
1.ZLG7290B的引脚功能
ZLG7290B采用 DIP 24(窄体)或者SOP 24封装,其引脚功能如表2 1所列。
表2 1 ZLG7290B引脚功能
引脚号 符 号 属 性 功 能
13,12,21,22,3~6 Dig7~Dig0 输入/输出 LED 显示位驱动及键盘扫描线 10~7,2,1,24,23 SegH~SegA 输入/输出 LED 显示段驱动及键盘扫描线
20 SDA 输入/输出 I2C 总线接口数据/地址线
19 SCL 输入/输出 I2C 总线接口时钟线
14 INT 输出 中断输出端,低电平有效
15 RES 输入 复位输入端,低电平有效
北京航空航天大学出版社
27 续表2 1
引脚号 符 号 属 性 功 能
17 OSC1 输入
18 OSC2 输出 连接晶体以产生内部时钟
16 VCC 电源 电源正端(3.3~5.5V)
11 GND 电源 电源地
2.ZLG7290B工作原理
ZLG7290B是一种采用I2C 总线接口的键盘及 LED 驱动管理器件,需外接6MHz的晶 振。使用时 ZLG7290B 的从地址为70H,器件内部通过I2C 总线访问的寄存器地址范围为 00H~17H,任一寄存器都可按字节直接读/写,并支持自动增址功能和地址翻转功能。
(1) 驱动数码管显示
使用ZLG7290B驱动数码管显示有两种方法,第一种方法是向命令缓冲区(07H~08H) 写入复合指令,向07H 写入命令并选通相应的数码管,向08H 写入所要显示的数据,这种方 法每次只能写入一个字节的数据,多字节数据的输出可在程序中用循环写入的方法实现;第二 种方法是向显示缓存寄存器(10H~17H)写入所要显示的数据的段码,段码的编码规则从高 位到低位依次为abcdefgdp,这种方法每次可写入1~8个字节数据。
(2) 读取按键
使用ZLG7290B读取按键时,读普通键的入口地址和读功能键的入口地址不同,读普通 按键的地址为01H,读功能键的地址为03H。读普通键返回按键的编号,读功能键返回的不 是按键编号,需要程序对返回值进行翻译,转换成功能键的编号。ZLG7290B具有连击次数计 数器,通过读取该寄存器的值可区别单击键和连击键,判断连击次数还可以检测被按时间;连 击次数寄存器只为普通键计数,不为功能键计数。此外,ZLG7290B的功能键寄存器,实现了 2个以上按键同时按下,来扩展按键数目或实现特殊功能,类似于 PC机的Shift、Ctrl、Alt键。
3.与微控制器连接
ZLG7290B通过I2C接口与微控制器进行串口通信,I2C总线接口传输速率可达32kbit/s。
ZLG7290B的I2C总线通信接口主要由SDA、SCL 和INT这3个引脚组成。SCL 线用来传递 时钟信号;SDA 线负责传输数据;SDA 和 SCL 与 LPC2148相连时,需加3.3~10kΩ 的上拉 电阻。INT负责传递键盘中断信号,与 LPC2148相连时需串联一个470Ω 电阻。ZLG7290B 与LPC2148进行I2C通信的原理如图2 1所示。
北京航空航天大学出版社
28
图2 1 ZLG7290B与 LPC2148进行I2C通信的原理图
2. 1. 2 ZLG7290B应用电路
一个采用ZLG7290B构成的8位 LED 显示器和16键的应用电路和 PCB图如图2 2和 图2 3所示。
在图2 2中,U1就是 ZLG7290B。为了使电源更加稳定,一般要在 VDD3.3到 GND 之 间接入47~470μF的电解电容。J1和J2是 ZLG7290B与微控制器的接口,按照I2C 总线协 议的要求,信号线 SCL和 SDA 上必须要分别加上拉电阻,其典型值是10kΩ。晶振 Y1通常 取值6MHz,调节电容 C3和 C4通常取值在22pF左右。复位信号是低电平有效,直接通过 拉低RST 引脚的方法进行复位。数码管采用共阴极的,不能直接使用共阳极的。数码管在工 作时要消耗较大的电流,R1~R8是 LED的限流电阻,典型值是270Ω。如果要增大数码管的 亮度,可以适当减小电阻值,最低为200Ω。
键盘采用16只按键,键盘电阻 R10~R17的典型值是3.3kΩ,这里选择的是1kΩ。数码 管扫描线和键盘扫描线是共用的,所以二极管 D1和 D2是必须的,有了它们就可以防止按键 干扰数码管显示的情况发生。
2. 1. 3 ZLG7290B应用中应注意的一些问题
1.ZLG7290B一定要放在控制面板上
ZLG7290B可广泛应用于仪器仪表、工业控制器、条形显示器、控制面板等领域。在实际 应用中,控制面板和主机板往往是分离的,它们之间有几十厘米的距离,要用长的排线相连。
键盘和数码管一般都位于控制面板上,主控制器则在主机板上。
注意:在设计时 ZLG7290B一定要跟着控制面板走,而不要放在主机板上。
ZLG7290B采用动态扫描法驱动数码管显示。为了防止显示出现闪烁,采用了比较高的 扫描频率。扫描键盘同样用的也是频率较高的信号。如果 ZLG7290B放在主机板上,这些扫 描信号势必要走长线,而高频信号最忌讳走长线了,这容易导致显示混乱、按键失灵等故障。
北京航空航天大学出版社
29
图2 2 ZLG7290B8位 LED显示器和16键的应用电路
北京航空航天大学出版社
30
图2 3 ZLG7290B8位 LED显示器和16键应用电路 PCB图