毕业设计(论文)-基于LPC2148的功能模块开发应用.doc

上传人:公**** 文档编号:544955422 上传时间:2024-02-23 格式:DOC 页数:26 大小:2.14MB
返回 下载 相关 举报
毕业设计(论文)-基于LPC2148的功能模块开发应用.doc_第1页
第1页 / 共26页
毕业设计(论文)-基于LPC2148的功能模块开发应用.doc_第2页
第2页 / 共26页
毕业设计(论文)-基于LPC2148的功能模块开发应用.doc_第3页
第3页 / 共26页
毕业设计(论文)-基于LPC2148的功能模块开发应用.doc_第4页
第4页 / 共26页
毕业设计(论文)-基于LPC2148的功能模块开发应用.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《毕业设计(论文)-基于LPC2148的功能模块开发应用.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于LPC2148的功能模块开发应用.doc(26页珍藏版)》请在金锄头文库上搜索。

1、西安欧亚学院本科毕业论文(设计)提供全套毕业论文图纸,欢迎咨询1 绪论1.1 技术背景从8位单片机到目前的32位ARM微处理器,微型计算机技术的开发应用日臻成熟。RISC 32位ARM核的微处理器,具有高速、低耗、多功能等独特亮点。尤其是微型操作系统的嵌入,实现了ARM嵌入式系统高实时性、高可靠性、多任务管理等优异特性,成为真正意义上的嵌入式系统。目前,嵌入式系统的应用已遍及网络、通讯、信息家电、工业控制、航空、航天等高端应用领域,基于ARM技术的微处理器应用占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到人们生活的各个方面,越来越多的开发人员开始了基于ARM平台的开

2、发。1.2 选题意义1.2.1 ADC的作用采集是认知的开始、测量的前提、分析的基础,绝大多数的电子设备、仪器都是以数据采集技术为基础。随着电子技术和数字技术的飞速发展,信号的传输速度和CPU的处理速度越来越快,因此对数据采集和处理的要求也越来越高。模数转换器是用来把模拟输入信号(通常是电压)转换成等效数字量的装置。其形式从单片集成电路到高性能的组件都有,模数转换器关键的特性是绝对和相对精度、线性度、单调性、分辨率、转换速度、稳定性以及价格,还有一些可供选用的其他技术性能,诸如输入范围、数字输出编码以及实际尺寸等。模拟数据以数字形式收集后可便于存贮、传送、处理和显示,因此,模数转换在音、视频信

3、号处理、电子测量和工业控制等领域得到了广泛的应用。1.2.2 基于ARM的ADC模块开发意义数据采集系统用于电子测量和工业控制系统。采集到的信号通过A/D转换(即数据采集),送入微处理器主控单元。高速系统对ADC模块的要求很高,低端MCU及ADC模块难以满足高性能的应用要求,因而,大多数开发人员将目光瞄向了ARM芯片的模数转换器,因为其具有高速、多路、价廉等明显优势。我选择基于ARM的ADC模块开发题目,希望通过对于ADC模块的开发,能为日后的运用打下良好的基础。1.3 开发设计方案本课题设计是根据我校老师自主研制的ARM实验板进行设计开发的。用IAR软件对各个模块进行程序编写并进行调试,当程

4、序调试无误后,将程序下载到ARM实验板上,用电压源提供一个电压,送到ARM实验板中,经过模数转换器,将输入的模拟信号(电压)转换成数字信号,再通过LCD显示出所采集到的数字信号。图1-1 整机工作框图如上图所示,由信号源输出,提供3V电压,通过电位器送到LPC2148的ADC模块中,经过模数转换,将得到的数字信号储存到寄存器中,并送到LCD,显示出对应的数据。2 功能模块说明2.1 ARM主控芯片(LPC2148)2.1.1 工作特性LPC2148 是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7 TDMI-S CPU的微控制器,并带有32kB 和512kB 嵌入的高速Flash 存

5、储器。128 位宽度的存储器接口和独特的加速结构,使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。其特性为:(1) 16/32 位ARM7TDMI-S 微控制器,超小LQFP64 封装。(2) 8kB40kB 的片内静态RAM 和32kB512kB 的片内Flash 程序存储器。128 位宽度接口/加速器可实现高达60 MHz 工作频率。(3) 通过片内 boot 装载程序实现在系统编程/在应用编程(ISP/IAP)。单个Flash 扇区或整片擦除时间为400ms。256 字节编程时间为1ms。(4)

6、 Embedded ICE RT 和嵌入式跟踪接口提供实时调试(通过片内Real Monitor 软件)和高速跟踪指令执行。(5) USB 2.0 全速设备控制器具有2kB 的端点RAM。此外,LPC2146/8 提供8kB 的片内RAM,可被USB 的DMA 控制器访问。(6) 2 个10 位ADC 转换器,提供总共6/14 路模拟输入,每个通道的转换时间低至2.44us。(7) 1 个10 位的D/A 转换器提供可变的模拟输出。(8) 2 个32 位定时器/外部事件计数器(带4 路捕获和4 路比较通道)、PWM 单元(6路输出)和看门狗。(9) 低功耗实时时钟(RTC)具有独立的电源和特定

7、的32kHz 时钟输入。(10) 多个串行接口,包括2 个UART(16C550)、2 个高速I2C 总线(400 kbit/s)、SPI 和具有缓冲作用和数据长度可变功能的SSP。(11) 向量中断控制器(VIC)。可配置优先级和向量地址。(12) 多达 45 个可承受5V 电压的通用I/O 口(LQFP64 封装)。(13) 多达 9 个边沿或电平触发的外部中断管脚。(14) 通过一个可编程的片内 PLL(100us 的设置时间)可实现最大为60MHz 的 CPU 操作频率。(15) 片内集成振荡器可操作频率为 130 MHz 的外部晶体或频率高达50MHz 的外部振荡器。(16) 低功耗

8、模式:空闲和掉电。(17) 可通过个别使能/禁止外围功能和外围时钟分频来优化额外功耗。(18) 通过外部中断,USB,掉电检测(BOD)或实时时钟(RTC)将处理器从掉电模式中唤醒。(19) 单电源,具有上电复位(POR)和掉电检测(BOD)电路:CPU 操作电压范围:3.0V3.6 V (3.3 V 10)。2.1.2 结构图图2-1 LPC2148结构方框图由上图可见,其结构包含一个支持仿真的ARM7TDMI-S CPU,与片内存储器控制器接口的ARM7局部总线,与中断控制器接口的AMBA高性能总线(AHB)和连接片内外设功能的VLSI外设总线(VPB,ARM AMBA总线的兼容超集)。A

9、HB外设分配了2MB的地址范围,它位于4GB ARM存储器空间的最顶端。每个AHB外设也分配了16KB的地址空间。并且其外设功能都连接到VPB总线,外设包括外部中断、I2C串行接口、捕获/比较定时器0/1、SPI串行接口、ADC、UART、通用I/O、PWM、看门狗定时器、实时时钟、系统控制。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2MB的地址范围,从3.5GB地址点开始。每个VPB外设在VPB地址空间内斗分配了16KB地址空间。2.1.3 应用ARM芯片开发应用的重要环节之一是底层开发,即用汇编语言和C语言混合编程的启动代码。系统配置及部分启动代码程序:(1) 系统

10、配置头文件config.h#ifndef _CONFIG_H#define _CONFIG_H#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endiftypedef unsigned char uint8; /* 无符号8位整型变量 */typedef signed char int8; /* 有符号8位整型变量 */typedef unsigned short uint16; /* 无符号16位整型变量 */typedef signed short int16; /* 有符号16位整型变量 */typedef uns

11、igned int uint32; /* 无符号32位整型变量 */typedef signed int int32; /* 有符号32位整型变量 */typedef float fp32; /* 单精度浮点数(32位长度) */typedef double fp64; /* 双精度浮点数(64位长度) */#include nxp/iolpc2148.h#include stdio.h#include intrinsics.h / ARM核特征头函数/*系统时钟配置:Fosc、Fcclk、Fcco、Fpclk/*/#define Fosc 12000000 / 时钟频率:12MHz(晶振频率

12、范围:10MHz25MHz)。#define Fcclk (Fosc*5) / 系统时钟:60MHz(系统频率范围:Fcclk=(132)*Fosc,且=60MHZ)。#define Fcco (Fcclk*4) / 流控振荡频率:240MHz(允许频率范围:Fcco=156MHz320MHz,且必须为Fcclk的2、4、8、16倍)。#define Fpclk (Fcclk/4)*2 / 外设时钟频率:30MHz(Fpclk必须为 (Fcclk/4)的 1、2、4 倍,且不能高于Fcclk)。#define KOM_H IO1SET_bit.P1_24=1;#define KOM_L IO1

13、CLR_bit.P1_24=1;void ZLG7289_cmd_dat(char cmd, char dat);void ZLG7289_Init();#endif(2)用汇编语言编写的部分启动代码功能:分配个工作模式的栈区MODE_MSK DEFINE 0x1F ; Bit mask for mode bits in CPSRUSR_MODE DEFINE 0x10 ; User modeFIQ_MODE DEFINE 0x11 ; Fast Interrupt Request modeIRQ_MODE DEFINE 0x12 ; Interrupt Request modeSVC_MOD

14、E DEFINE 0x13 ; Supervisor modeABT_MODE DEFINE 0x17 ; Abort modeUND_MODE DEFINE 0x1B ; Undefined Instruction modeSYS_MODE DEFINE 0x1F ; System mode mrs r0,cpsr ; Original PSR value bic r0,r0,#MODE_MSK ; Clear the mode bitsorr r0,r0,#SVC_MODE ; Set Supervisor mode bits msr cpsr_c,r0 ; Change the mode ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号