《ARM嵌入式接口技术应用应用》第一章ARM实验板硬件结构和开发环境_第1页
《ARM嵌入式接口技术应用应用》第一章ARM实验板硬件结构和开发环境_第2页
《ARM嵌入式接口技术应用应用》第一章ARM实验板硬件结构和开发环境_第3页
《ARM嵌入式接口技术应用应用》第一章ARM实验板硬件结构和开发环境_第4页
《ARM嵌入式接口技术应用应用》第一章ARM实验板硬件结构和开发环境_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ARM嵌入式接口技术应用 -提高篇众多领域中抽象出六大常见应用模块最后对嵌入式实时操作系统COS-II作了重点阐述,并对独自研发的操作系统移植代码作了重点剖析。章节目录第一章ARM实验板硬件结构与开发环境第二章串行通信 第三章存储器件 第四章时钟控制模块 第五章人机交互输出接口 第六章人机交互输入接口 第七章模/数与数/模转换 第八章C/OS-嵌入式操作系统的移植 第九章 电机控制 第一章 ARM实验板硬件结构与开发环境一、 硬件平台功能模块介绍二、 开发环境与JTAG下载环境介绍三、 蜂鸣器范例程序的烧写与调试四、 附录-LPC2220的简要介绍 一、硬件平台部分功能模块1、串行通信:SPI

2、、I2C、UART、RS232、RS4852、存储器操作:EEPROM、SRAM、Nor-FLASH、Nand-FLASH3、片内功能模块:定时器、计数器、看门狗、PWM、实时时钟、低功耗4、人机交互:矩阵式键盘、触摸屏、声音电路、数码管、显示屏、蜂鸣器5、数模和模数转换、数字电位器7、嵌入式操作系统uCOS-II平台上的相关实验,等等更多实验。6、步进电机和直流电机(实验箱上完成 )。可开展的实验1.1 RS232和RS485串行通信接口 LPC2220内部的UART0模块与SP3232E芯片构成RS232通信模块;SP3232E芯片是RS232通信转换芯片;UART1模块与MAX483芯片

3、构成RS485通信模块。MAX483是5V工作电源的半双工的RS485通信转换芯片。 流水灯接口74HC164是一款串/并转换芯片,ARM可以通过串行通信方式把数据发送到74HC164芯片中,然后74HC164把接收到的数据输出到并行端口QAQH上。每个输出端都连接了一个LED灯。1.3 LCM接口液晶显示器件具有显示信息量大、低压、低功耗、长寿命、无辐射、无污染的优异特性,在显示领域占据了重要地位。LPC2220采用间接访问方式连接LM2068图形液晶模块,该液晶模块没有地址总线,显示地址和显示数据均通过Q1Q8共8根I/O线传送。EEPROM接口电路 EEPROM是一种价格便宜、接口简单、

4、应用广泛的存储器件,主要应用于保存关键数据且数据量不大的场合。本系统采用的是CAT24WC16芯片,ARM芯片提供的是漏极开路的I2C总线 ,时钟线和数据线上都要接一个上拉电阻 存储器接口核心板上扩展了16 Mbit FLASH(SST39VF1601)和4 Mbit SRAM,其中FLASH用来保存用户的程序代码,SRAM用来存储程序运行时的数据。 1.6 Nand-Flash接口K9F6408U0C是三星公司生产的与非型64 Mbit FLASH存储器,它具有工作电压低、擦写速度快、体积小等优点,正成为大型数据如语音、数字图像、文件等系统数据的载体。 1.7 ADC接口LPC2220系列A

5、RM具有8路10位 ADC转换器,其参考电压为。本实验板提供了两路电压信号测量输入通道ADC1和ADC2,其中每1个通道又有两个可选择的信号输入源 。1.8 DAC接口DAC7512N是一款35V电源供电的DAC芯片,通过SPI接口接收数字量数据,再将数字量数据转换成相对应的电压模拟量输出。 1.9 数码管接口本实验板采用了4位1体的共阳极数码管,4位1体的数码管总共需要12个I/O控制端口,其中4个I/O口用于控制数码管的位选端,另外8个I/O口用于控制数码管的段选端 。74HC595芯片把从ARM接收到的串行数据并行输出到QAQH端口上,进而控制数码管的段选端(A1A4)输入数据。2.0

6、蜂鸣器和喇叭接口在发声电路设计上,本实验板准备了两路发声电路:蜂鸣器、喇叭。两路发声电路分别通过两路I/O口SPK、BEE进行控制。 2.1 键盘接口键盘按照结构形式可分两大类:编码键盘和非编码键盘。本实验板具有16个按键,采用非编码式,4行4列矩阵式排列。2.2 触摸屏接口本实验板采用电阻四线式触摸屏,触摸屏采用ADS7843芯片进行控制。ADS7843芯片的通信引脚和控制引脚连接LPC2220处理器的I/O口上。2.3 计数接口本实验板设计了两路计数接口电路,外部脉冲信号可以连接Count接头的1、2脚或者3、4脚。JS1和JS2两个端口连接LPC2220的捕获引脚,实现对外部脉冲计数。2

7、.4 PWM接口PWM输出电路可以输出一个PWM波形,匹配输出电路也可以产生一个脉冲波形。在PWM和MAT都各自连接了一个集成运算放大电路,放大倍数由RP1、RP2电位计调节,信号放大之后再由4线接口输出。2.5 实验板结构 电源插座2. 外部电压测试端口3. 按键区域(17个按键)4. RS232接口5. 4位数码管6. 触摸屏接口7. 液晶屏接口8. 液晶屏亮度调节旋钮9. 8个LED灯10.核心板插座11.喇叭接口灯外部测试端口13.蜂鸣器14.电位器区域采样源设置跳线16.外部端口连接区域 二、开发环境ADS集成开发环境,其成熟版本为。支持软件调试及JTAG硬件仿真调试,支持汇编、C和

8、C+源程序,具有编译效率高,系统库功能强等特点。名称描述使用方法代码生成工具ARM汇编器,ARM的C、C编译器,Thumb的C、C编译器,ARM连接器由Code Warrior IDE调用集成开发环境Code Warrior IDE工程管理,编译链接调试器AXD,ADW/ADU,armsd仿真调试指令模拟器ARMulator由AXD调用ARM开发包一些底层的程序例子,使用程序由Code Warrior IDE调用ARM应用库C、C函数库等用户程序使用集成开发环境的组成 1.1 Code Warrior IDE 简介使用了Code Warrior IDE集成开发环境,用户在这个IDE集成开发环境

9、下可以方便的编写程序并管理好整个工程项目。1.2 AXD调试器简介ADX调试器为ARM扩展调试器。AXD能够装载映像文件到目标内存,具有单步、全速和断点等调试功能,可以观察变量、寄存器和内存的数据等等。三、 蜂鸣器程序范例实验目的:通过编写一个简单的程序,熟悉的开发环境和调试环境,掌握如何通过JTAG接口把程序烧写到实验板上。有关ARM汇编指令和软件的详细介绍请参考本套书中的第一本“入门篇”。实验内容:编写一个简单的程序,控制蜂鸣器间断地产生蜂鸣声。实验电路如图,蜂鸣器的控制引脚BEE连接ARM芯片的。当为高电平时,三极管Q7导通,蜂鸣器蜂鸣;当为低电平时,三极管Q7截止,蜂鸣器停止蜂鸣。1.

10、1 蜂鸣器程序#include “”/包含所有的头文件定义/* 名称:DelayMS()* 功能:软件延时* 入口参数:dly延时参数,大约延时dly毫秒*/void DelayMS(uint32 dly) uint32 i; for(; dly0; dly-) for(i=0; i5000; i+);/* 名称:main()* 功能:控制蜂鸣器蜂鸣。*/int main(void) IO1DIR = IO1DIR | (124); / 设置控制蜂鸣器引脚为I/O输出 while(1) IO1CLR = (124);/ P1.24 = 0, 关闭蜂鸣器 DelayMS(100); IO1SET

11、 = (124);/ P1.24 = 1, 打开蜂鸣器 DelayMS(100); 1.2 建立工程选择Windows操作系统的“开始”“所有程序”“”“CodeWarrior for ARM Developer Suite” 命令启动Metrowerks CodeWarrior或双击CodeWarrior for ARM Developer Suite快捷方式启动。 选择“QuickStart_ARM”工程模板;在“Project name:”中输入工程文件名,例如命名为BEE,点击“Location:”文本框的“Set”按钮,浏览选择想要将该工程保存的路径(注意:路径名最好是英文的),将这

12、些设置好后,点击“确定”,即可建立一个新的名为的工程。1.3 编辑程序新建的工程项目已经包含了一些基本的程序文件(启动代码文件和,在“*.h”组中有所需的头文件,主程序文件) 。我们在user组中双击,打开main文件,然后输入程序清单所示的程序 。在工程项目视图中单击“Make”图标对工程进行编译链接,(或者按快捷键F7)。编译后,将会弹出一个“Errors & Warnings”对话框,报告编译信息 1.4 程序下载当工程编译链接通过后,会在相应的工程目录(如“E:testBEEBEE_DataFlash”)生成一个可执行映象文件和二进制可执行文件BEE.bin 。二进制可执行文件是用来程

13、序下载的,而可执行映像文件是用来程序调试的。接下来我们的工作是先把二进制可执行文件下载到ARM实验板上,下载步骤如下: 首先将JTAG仿真器的25针接口通过并口延长线与PC机的并口连接,将JTAG仿真器的另外一头连接到实验板的下载口上,再使用配套USB线(5V)给实验板供电。 打开H-JTAG Server软件,单击菜单“Settings”“Jtag Settings” 。弹出Jtag Settings对话框,选择Wiggler下载器。 单击菜单“Operations”“Detect Target”,此时H-JTAG软件进行目标板的连接,如果检测到目标板,会在在主界面的中央部分会显示芯片的类型

14、和其 32 位芯片ID。如果检测失败,或者芯片无法识别,H-JTAG将会显示UNKNOWN,提示用户 H-JTAG无法检测/识别目标开放板。 单击菜单“Flasher”“Start H-Flasher”,弹出H-Flasher烧写向导。二进制文件的烧写一共分为4步,即Flash选择存储器配置初始化芯片脚本编程下载。 在向导第一步当中,选择Flash芯片型号。根据实验板的具体情况,我们选择SST厂商,在SST厂商芯片中选择具体型号为SST39VF1601。 在向导的第二步,是对存储器进行配置。 SST39VF1601只支持 16-BIT 模式,所以位宽采用默认设置。 根据 LPC2220的数据手

15、册,我们需要对三个寄存器进行设置: PINSEL20 xE002C014 BCFG0 0 xFFE00000 BCFG10 xFFE00004。 在配置好后,在编程向导的第四步中,就可以对 FLASH 执行不同的操作了。选择文件格式为二进制(Plain Binary Format),烧写的目的地址为 0 x80000000,设置如图所示。然后开始烧写。烧写完成后,H-FLASHER 会提示烧写并验证成功。1.5 程序的调试启动AXD调试环境后,单击菜单“Options”“Configure Target”,弹出“Choose Target”对话框在图所示的配置窗口中,点击 Add 按钮添加驱动

16、程序,用户会看到选择 DLL 文件的对话框。在对话框里选择 H-JTAG 安装目录下的 ,然后点击确定。 添加“”文件后,“Choose Target”对话框中会多一个“H-JTAG”选项,选中“H-JTAG”选项。如图,点击 OK,AXD的配置就全部完成了。打开“Load Image”对话框,在该对话框中找到刚刚生成的可执行映象文件“”,如图所示。单击“打开”按钮后,AXD调试环境就装载了可执行映像文件。 程序下载完毕后,程序运行指针会自动跳到第一条语句(启动代码) 。单击AXD调试环境工具条中得运行键即可运行 四、附录 - LPC2220简要介绍LPC2220是基于一个支持实时仿真和跟踪的

17、32位ARM7TDMI-S核,QFP144封装的芯片。LPC2220芯片内部功能模块包括: 1) 8路10位A/D转换器,转换时间低至。 2) 2个32位定时器、PWM单元、实时时钟和看门狗。 3) 多个串行接口,包括2 个16C550工业标准 UART、高速I2C接口和2个SPI接口。 4) 一个向量中断控制器,可程序配置优先级和向量地址。 5) 多达76个通用I/O口,9个边沿或电平触发的外部中断引脚。 6) 通过外部存储器接口可将存储器配置成4组,每组的容量高达16Mb,数据宽度为8/16/32位。 7) EmbeddedICE-RT和嵌入式跟踪接口使用片内RealMonitor软件对任

18、务进行实时调试并支持对执行代码进行无干扰的高速实时跟踪。 8) 双电源环境下工作,CPU内核工作电压范围:1.95 V(1.8 V0.15 V) ;I/O操作电压范围:3.6 V(3.3 V10%),可承受5V电压 LPC2220引脚描述LPC2220的芯片引脚与LPC221X(如LPC2220、LPC2214)系列的芯片引脚是兼容的。除电源引脚(如V18、V3、Vs等)、晶振引脚(XTAL1、XTAL2)和复位引脚(RESET)外,其他的引脚都具备多种功能,通过寄存器的配置可以让其工作在某种功能下。 1.2 LPC2220的引脚功能的设置ARM芯片中往往一个引脚可以具有多个功能,即引脚复用。

19、通过配置相关寄存器来选择引脚具体的功能。在LPC2220芯片中,有一个引脚连接模块专门管理引脚的功能选择。这个引脚连接模块包含3个寄存器:PINSEL0、PINSEL1、PINSEL2。名称描述访问复位值地址PINSEL0引脚选择寄存器0读/写0 x0000 00000 xE002 C000PINSEL1引脚选择寄存器1读/写0 x1540 00000 xE002 C004PINSEL2引脚选择寄存器2读/写见表1- 80 xE002 C0141.3 引脚功能选择寄存器0PINSEL0引脚名称00011011复位值1:0P0.0GPIO (P0.0)TxD(UART0)PWM1保留003:2P

20、0.1GPIO (P0.1)RxD(UART0)PWM3EINT0005:4P0.2GPIO (P0.2)SCL(I2C)捕获0.0(TIMER0)保留007:6P0.3GPIO (P0.3)SDA(I2C)匹配0.0(TIMER0)EINT1009:8P0.4GPIO (P0.4)SCK(SPI0)捕获0.1(TIMER0)保留0011:10P0.5GPIO (P0.5)MISO(SPI0)匹配0.1(TIMER0)保留0013:12P0.6GPIO (P0.6)MOSI(SPI0)捕获0.2(TIMER0)保留0015:14P0.7GPIO (P0.7)SSEL(SPI0)PWM2EINT

21、20017:16P0.8GPIO (P0.8)TxD(UART1)PWM4保留0019:18P0.9GPIO (P0.9)RxD(UART1)PWM6EINT30021:20P0.10GPIO (P0.10)RTS(UART1)捕获1.0(TIMER1)保留0023:22P0.11GPIO (P0.11)CTS(UART1)捕获1.1(TIMER1)保留0025:24P0.12GPIO (P0.12)DSR(UART1)匹配1.0(TIMER1)保留0027:26P0.13GPIO (P0.13)DTR(UART1)匹配1.1(TIMER1)保留0029:28P0.14GPIO (P0.14)

22、CD(UART1)EINT1保留0031:30P0.15GPIO (P0.15)RI(UART1)EINT2保留00 1.4 引脚功能选择寄存器1PINSEL1引脚名称00011011复位值1:0P0.16GPIO (P0.16)EINT0匹配0.2保留003:2P0.17GPIO (P0.17)捕获1.2SCK(SPI1)匹配1.2005:4P0.18GPIO (P0.18)捕获1.3MISO(SPI1)匹配1.3007:6P0.19GPIO (P0.19)匹配1.2MOSI(SPI1)匹配1.3009:8P0.20GPIO (P0.20)匹配1.3SSEL(SPI1)EINT30011:10P0.21GPIO (P0.21)PWM5保留捕获1.30013:12P0.22GPIO (P0.22)保留捕获0.0匹配0.00015:14P0.23GPIO (P0.23)保留保留保留0017:16P0.24GPIO (P0.24)保留保留保留0019:18P0.25GPIO (P0.25)保留保留保留0021:20P0.26GPIO (P0.26)保留

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论