第一章 ARM实验板硬件结构与开发环境_第1页
第一章 ARM实验板硬件结构与开发环境_第2页
第一章 ARM实验板硬件结构与开发环境_第3页
第一章 ARM实验板硬件结构与开发环境_第4页
第一章 ARM实验板硬件结构与开发环境_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式开发与实例 教师 崔黎黎邮箱 ssqrs cll 章节目录 一 ARM实验板硬件结构与开发环境二 串行通信三 存储器件四 时钟控制模块五 人机交互 输出接口六 人机交互 输入接口七 模 数与数 模转换八 C OS 嵌入式操作系统的移植 第一章ARM实验板硬件结构与开发环境 一 硬件平台功能模块介绍二 ADS1 2开发环境与JTAG下载环境介绍三 蜂鸣器范例程序的烧写与调试四 LPC2220引脚设置 LPC2220简要介绍 LPC2220是基于一个支持实时仿真和跟踪的32位ARM7TDMI S核 QFP144封装的芯片 LPC2220芯片内部功能模块包括 1 8路10位A D转换器 转换时间低至2 44 s 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软件对任务进行实时调试并支持对执行代码进行无干扰的高速实时跟踪 8 双电源环境下工作 CPU内核工作电压范围 1 65 1 95V 1 8V 0 15V I O操作电压范围 3 0 3 6V 3 3V 10 可承受5V电压 一 硬件平台部分功能模块 1 1RS232和RS485串行通信接口 LPC2220内部的UART0模块与SP3232E芯片构成RS232通信模块 SP3232E芯片是RS232通信转换芯片 UART1模块与MAX483芯片构成RS485通信模块 MAX483是5V工作电源的半双工的RS485通信转换芯片 1 2流水灯接口 74HC164是一款串 并转换芯片 ARM可以通过串行通信方式把数据发送到74HC164芯片中 然后74HC164把接收到的数据输出到并行端口QA QH上 每个输出端都连接了一个LED灯 1 3LCM接口 液晶显示器件具有显示信息量大 低压 低功耗 长寿命 无辐射 无污染的优异特性 在显示领域占据了重要地位 LPC2220采用间接访问方式连接LM2068图形液晶模块 该液晶模块没有地址总线 显示地址和显示数据均通过Q1 Q8共8根I O线传送 1 4EEPROM接口电路 EEPROM是一种价格便宜 接口简单 应用广泛的存储器件 主要应用于保存关键数据且数据量不大的场合 本系统采用的是CAT24WC16芯片 ARM芯片提供的是漏极开路的I2C总线 时钟线和数据线上都要接一个上拉电阻 1 5存储器接口 核心板上扩展了16MbitFLASH SST39VF1601 和4MbitSRAM 其中FLASH用来保存用户的程序代码 SRAM用来存储程序运行时的数据 1 6Nand Flash接口 K9F6408U0C是三星公司生产的与非型64MbitFLASH存储器 它具有工作电压低 擦写速度快 体积小等优点 正成为大型数据如语音 数字图像 文件等系统数据的载体 1 7ADC接口 LPC2220系列ARM具有8路10位ADC转换器 其参考电压为3 3V 本实验板提供了两路电压信号测量输入通道ADC1和ADC2 其中每1个通道又有两个可选择的信号输入源 1 8DAC接口 DAC7512N是一款3 5V电源供电的DAC芯片 通过SPI接口接收数字量数据 再将数字量数据转换成相对应的电压模拟量输出 1 9数码管接口 本实验板采用了4位1体的共阳极数码管 4位1体的数码管总共需要12个I O控制端口 其中4个I O口用于控制数码管的位选端 另外8个I O口用于控制数码管的段选端 74HC595芯片把从ARM接收到的串行数据并行输出到QA QH端口上 进而控制数码管的段选端 A1 A4 输入数据 2 0蜂鸣器和喇叭接口 在发声电路设计上 本实验板准备了两路发声电路 蜂鸣器 喇叭 两路发声电路分别通过两路I O口SPK BEE进行控制 2 1键盘接口 键盘按照结构形式可分两大类 编码键盘和非编码键盘 本实验板具有16个按键 采用非编码式 4行4列矩阵式排列 2 2计数接口 本实验板设计了两路计数接口电路 外部脉冲信号可以连接Count接头的1 2脚或者3 4脚 JS1和JS2两个端口连接LPC2220的捕获引脚 实现对外部脉冲计数 2 3PWM接口 PWM输出电路可以输出一个PWM波形 匹配输出电路也可以产生一个脉冲波形 在PWM和MAT都各自连接了一个集成运算放大电路 放大倍数由RP1 RP2电位计调节 信号放大之后再由4线接口输出 2 4实验板结构 电源插座2 外部电压测试端口3 按键区域 17个按键 4 RS232接口5 4位数码管6 触摸屏接口7 液晶屏接口8 液晶屏亮度调节旋钮9 8个LED灯10 核心板插座11 喇叭接口12 LED灯外部测试端口13 蜂鸣器14 电位器区域15 AD采样源设置跳线16 外部端口连接区域 二 开发环境 ADS集成开发环境 其成熟版本为ADS1 2 支持软件调试及JTAG硬件仿真调试 支持汇编 C和C 源程序 具有编译效率高 系统库功能强等特点 ADS1 2集成开发环境的组成 1 1CodeWarriorIDE简介 ADS1 2使用了CodeWarriorIDE集成开发环境 用户在这个IDE集成开发环境下可以方便的编写程序并管理好整个工程项目 1 2AXD调试器简介 ADX调试器为ARM扩展调试器 AXD能够装载映像文件到目标内存 具有单步 全速和断点等调试功能 可以观察变量 寄存器和内存的数据等等 三 蜂鸣器程序范例 实验目的 通过编写一个简单的程序 熟悉ADS1 2的开发环境和调试环境 掌握如何通过JTAG接口把程序烧写到实验板上 有关ARM汇编指令和ADS1 2软件的详细介绍请参考本套书中的第一本 入门篇 实验内容 编写一个简单的程序 控制蜂鸣器间断地产生蜂鸣声 实验电路如图1 15 蜂鸣器的控制引脚BEE连接ARM芯片的P1 24 当P1 24为高电平时 三极管Q7导通 蜂鸣器蜂鸣 当P1 24为低电平时 三极管Q7截止 蜂鸣器停止蜂鸣 1 1蜂鸣器程序 include whole h 包含所有的头文件定义 名称 DelayMS 功能 软件延时 入口参数 dly延时参数 大约延时dly毫秒 voidDelayMS uint32dly uint32i for dly 0 dly for i 0 i 5000 i 名称 main 功能 控制蜂鸣器蜂鸣 intmain void IO1DIR IO1DIR 1 24 设置控制蜂鸣器引脚P1 24为I O输出while 1 IO1CLR 1 24 P1 24 0 关闭蜂鸣器DelayMS 100 IO1SET 1 24 P1 24 1 打开蜂鸣器DelayMS 100 1 2建立工程 选择Windows操作系统的 开始 所有程序 ARMDeveloperSuitev1 2 CodeWarriorforARMDeveloperSuite 命令启动MetrowerksCodeWarrior或双击CodeWarriorforARMDeveloperSuite快捷方式启动 选择 QuickStart ARM 工程模板 在 Projectname 中输入工程文件名 例如命名为BEE 点击 Location 文本框的 Set 按钮 浏览选择想要将该工程保存的路径 注意 路径名最好是英文的 将这些设置好后 点击 确定 即可建立一个新的名为BEE mcp的工程 1 3编辑程序 新建的工程项目BEE Mcp已经包含了一些基本的程序文件 启动代码文件Start s和target c 在 h 组中有所需的头文件 主程序文件main c 我们在user组中双击main c 打开main文件 然后输入程序清单1 1所示的程序 在工程项目视图中单击 Make 图标对工程进行编译链接 或者按快捷键F7 编译后 将会弹出一个 Errors Warnings 对话框 报告编译信息 1 4程序下载 当工程编译链接通过后 会在相应的工程目录 如 E test BEE BEE Data Flash 生成一个可执行映象文件BEE axf和二进制可执行文件BEE bin 二进制可执行文件是用来程序下载的 而可执行映像文件是用来程序调试的 接下来我们的工作是先把二进制可执行文件下载到ARM实验板上 下载步骤如下 首先将JTAG仿真器的25针接口通过并口延长线与PC机的并口连接 将JTAG仿真器的另外一头连接到实验板的下载口上 再使用配套USB线 5V 给实验板供电 打开H JTAGServer软件 单击菜单 Settings JtagSettings 弹出JtagSettings对话框 选择Wiggler下载器 单击菜单 Operations DetectTarget 此时H JTAG软件进行目标板的连接 如果检测到目标板 会在在主界面的中央部分会显示芯片的类型和其32位芯片ID 如果检测失败 或者芯片无法识别 H JTAG将会显示UNKNOWN 提示用户H JTAG无法检测 识别目标开放板 单击菜单 Flasher StartH Flasher 弹出H Flasher烧写向导 二进制文件的烧写一共分为4步 即Flash选择 存储器配置 初始化芯片脚本 编程下载 在向导第一步当中 选择Flash芯片型号 根据实验板的具体情况 我们选择SST厂商 在SST厂商芯片中选择具体型号为SST39VF1601 在向导的第二步 是对存储器进行配置 SST39VF1601只支持16 BIT模式 所以位宽采用默认设置 根据LPC2220的数据手册 我们需要对三个寄存器进行设置 PINSEL2 0 xE002C014BCFG0 0 xFFE00000BCFG1 0 xFFE00004 在配置好后 在编程向导的第四步中 就可以对FLASH执行不同的操作了 选择文件格式为二进制 PlainBinaryFormat 烧写的目的地址为0 x80000000 设置如图所示 然后开始烧写 烧写完成后 H FLASHER会提示烧写并验证成功 1 5程序的调试 启动AXD调试环境后 单击菜单 Options ConfigureTarget 弹出 ChooseTarget 对话框在图所示的配置窗口中 点击Add按钮添加驱动程序 用户会看到选择DLL文件的对话框 在对话框里选择H JTAG安装目录下的H JTAG DLL 然后点击确定 添加 H JTAG dll 文件后 ChooseTarget 对话框中会多一个 H JTAG 选项 选中 H JTAG 选项 如图 点击OK AXD的配置就全部完成了 打开 LoadImage 对话框 在该对话框中找到刚刚生成的可执行映象文件 BEE axf 如图所示 单击 打开 按钮后 AXD调试环境就装载了可执行映像文件 程序下载完毕后 程序运行指针会自动跳到第一条语句 启动代码 单击AXD调试环境工具条中得运行键即可运行 四 LPC2220引脚设置1 1LPC2220引脚描述 LPC2220的芯片引脚与LPC221X 如LPC2220 LPC2214 系列的芯片引脚是兼容的 除电源引脚 如V18 V3 Vs等 晶振引脚 XTAL1 XTAL2 和复位引脚 RESET 外 其他的引脚都具备多种功能 通过寄存器的配置可以让其工作在某种功能下 1 2LPC2220的引脚功能的设置 ARM芯片中往往一个引脚可以具有多个功能 即引脚复用 通过配置相关寄存器来选择引脚具体的功能 在LPC2220芯片中 有一个引脚连接模块专门管理引脚的功能选择 这个引脚连接模块包含3个寄存器 PINSEL0 PINSEL1 PINSEL2 1 3引脚功能选择寄存器0 1 4引脚功能选择寄存器1 1 5LPC2220GPIO相关寄存器介绍 1 GPIO方向寄存器当引脚配置为GPIO模式时 可使用该寄存器控制引脚的方向 任意引脚的方向位的设置必须与引脚功能一致 2 GPIO输出置位寄存器当引脚配置为GPIO输出模式时 可使用该寄存器从引脚输出高电平 写入1使对应引脚输出高电平 写入0无效 如果一个引脚被配置为输入或第二功能 写IOSET无效 4 GPIO引脚值寄存器该寄存器提供GPIO引脚的值 它反映了外部环境对引脚的影响 3 GPIO输出清零寄存器当引脚配置为GPIO输出模式时 可使用该寄存器从引脚输出低电平 写入1使对应引脚输出低电平并清零IOSET寄存器中相应的位 写入0无效 如果一个引脚被配置为输入或第二功能 写IOCLR无效 1 6GPIO功能使用举例 1将P0 0设置为GPIO口 方向为输出 将P0 1设为PWM3功能 1 PINSEL0 0 x00000008 IO0DIR 0 x00000001 2 PINSEL0 PINSEL0 2实现P0 0输出信号取反功能 Sig IO0PIN If Sig 3如下图所示 当开关K拨到高电平那一端时 L

温馨提示

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

评论

0/150

提交评论