嵌入式系统原理与接口技术课件_第1页
嵌入式系统原理与接口技术课件_第2页
嵌入式系统原理与接口技术课件_第3页
嵌入式系统原理与接口技术课件_第4页
嵌入式系统原理与接口技术课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

微机原理与接口技术

第五章ARM接口设计技术主讲人:鞠雷山东大学计算机科学与技术学院微机原理与接口技术

第五章ARM接口设计技术主讲人:鞠22内容提要A/D和D/A转换器接口通讯与中断接口LED显示器键盘接口通用并行接口GPIO22内容提要A/D和D/A转换器接口通讯与中断接口LED显33芯片S3C44B0XS3C44B0X是基于ARM7TDMI的体系结构,是ARM公司最早为业界普遍认可并且赢得最广泛应用的处理核。33芯片S3C44B0XS3C44B0X是基于ARM7T4芯片S3C44B0XⅠ/芯片体系结构7个多功能并行接口

A--G2个异步串行接口通用异步收发器0/1中断控制接口,管理30个中断源(26个中断向量)。LCD液晶显示器接口,连接LCD显示器。8路A/D转换接口4芯片S3C44B0XⅠ/芯片体系结构7个多功能并行接口2个5ARM系统硬件体系结构P2605基于ARM架构的32位微处理器SamsungS3C44B0XLCD显示USB接口

USBN9603两个RS-232串行通信接口JTAG调试端口TCP/IP协议CANBUS键盘输入16MB非线性Flash(硬盘)8MBSDRM(系统内存)1MB线性Flash(BIOS)存储器:

11Mflash存储器,保存基本输入输出系统.

2

8M静态随机存储器.

3

16M非线性(NAND)Flash硬盘外设:

LCD显示器,连接LCD接口。点阵:640X480,320X240,160X160。扩充键盘接口:硬件实现:采用zlg7289实现键盘扫描。软件实现:以内部接口和软件实现。扩充网络接口:RT8019以太网控制器,IEEE802.3协议,10M同轴电缆。扩充网络接口:CAN

BUS,Area

Network

controller,现场总线,用于工业控制,1M/1KM。UART串口电平转换:0v

------

+3v~12v5v

------

-3v~-12v

5ARM系统硬件体系结构P2605基于ARM架构的32位微处6S3C44B0X具有71个通用多功能输入输出引脚,构成了7个I/O接口:一个10位的输出接口(A)一个11位的输出接口(B)一个16位的输入/输出接口(C)两个8位的输入/输出接口(D和G)两个9位的输入/输出接口(E和F)特点:1、每个接口含有1或两个控制端口和一个数据端口。其中A、B口含有一个控制口和一个数据口,C、D、E、F和G口又增加一个上拉电阻配置口(控制口)。2、ARM系统完成I/O功能的方法是使用使用特定的存储器地址映射I/O地址。66S3C44B0X具有71个通用多功能输入输出引脚,构成了77

44B.H中gpio寄存器定义(一般了解)#definerPCONA (*(volatileunsigned*)0x1d20000);#definerPDATA (*(volatileunsigned*)0x1d20004);#definerPCONB (*(volatileunsigned*)0x1d20008)#definerPDATB (*(volatileunsigned*)0x1d2000c)#definerPCONC (*(volatileunsigned*)0x1d20010)#definerPDATC (*(volatileunsigned*)0x1d20014)#definerPUPC (*(volatileunsigned*)0x1d20018)#definerPCOND (*(volatileunsigned*)0x1d2001c)#definerPDATD (*(volatileunsigned*)0x1d20020)#definerPUPD (*(volatileunsigned*)0x1d20024)744B.H中gpio寄存器定义(一般了解)8(一般了解)#definerPCONE (*(volatileunsigned*)0x1d20028)#definerPDATE (*(volatileunsigned*)0x1d2002c)#definerPUPE (*(volatileunsigned*)0x1d20030)#definerPCONF (*(volatileunsigned*)0x1d20034)#definerPDATF (*(volatileunsigned*)0x1d20038)#definerPUPF (*(volatileunsigned*)0x1d2003c)#definerPCONG (*(volatileunsigned*)0x1d20040)#definerPDATG (*(volatileunsigned*)0x1d20044)#definerPUPG (*(volatileunsigned*)0x1d20048)8(一般了解)99内容提要A/D和D/A转换器接口通讯与中断接口LCD显示器与触摸屏接口(了解)LED显示器键盘接口ARM的JTAG接口99内容提要A/D和D/A转换器接口通讯与中断接口LCD显10键盘接口键盘有两种方案:

1、采用芯片实现键盘扫描;zlg7289

2、用软件实现键盘扫描。嵌入式控制器的功能很强,可允分利用这一资源。

计算机的键实际上就是开关,制造这种键的方法是多种多样的,以下是几种常用的按键:机械式按键

电容式按键

薄膜式按键

霍耳效应按键

10内含两个金属片和一个复位弹簧,按下时,两个金属片便被压在一起。结构简单成本低,缺点是容易产生抖动。压键时,可活动的金属片向两块固定的金属片靠近,从而改变了两块固定的金属片之间的电容。此时,检测电容变化的电路就会产生一个逻辑电平信号以表示该键已被按下。这是一种特殊的机械式按键开关,由三层塑料或橡胶夹层结构构成。上面一层在每一行键下面有一条印制银导线,中间层在每个键下面有一个小园孔,下面一层在每一列键下面也有一条印制银导线。压键时将上面一层的印制银导线压过中层的小孔与下面一层的印制银导线接触。霍耳效应按键利用活动电荷在磁场中的偏转效果。压键时,晶体便在磁力线垂直于参考电流方向的磁场中移动。晶体在磁场中移动会在晶体另外两个相对的表面之间产生一个小电压,该电压经过放大之后用来表示键已被压下。晶体切割磁力线感生电压。10键盘接口键盘有两种方案:10内含两个金属片和一个11用ARM芯片实现键盘接口与4X4的矩阵键盘接口,采用“行扫描法”方法来检测键盘,只需要8根口线.选取PF口作为检测键盘用端口,设定PF0–PF3为输出扫描码的端口,PF4--PF7为键值读入口。11PF0PF1PF2PF3S3C44B0XPF4PF5PF6PF7+5V输出扫描码端口键值读入口外接上拉电阻11用ARM芯片实现键盘接口与4X4的矩阵键盘接口,采用“12矩阵键盘按键的识别方法①识别键盘是否有键按下:让所有行线均为低电平,检查各列线电平是否为低,如果有列线为低,则说明该列有键被按下,否则说明无键被按下。

rPDATF=0xf0;输出全0值②若有键按下,则识别哪行的键被按下:逐行置低电平,并置其余各行为高电平,检查各列线电平的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。行扫描码0xfe0xfd0xfb0xf71212矩阵键盘按键的识别方法①识别键盘是否有键按下:1213键值与行扫描码、列输入值间的关系

由行扫描码、列输入值求行号、列号:行扫描码右移直到最低位是零,次低位是1,移位次数就是行号。列输入值先右移4次再按行扫描码处理。1列2列3列PF7PF313键值与行扫描码、列输入值间的关系由行扫描码、列输入值求14行扫描法识别矩阵键盘按键14PF0PF1PF2PF3S3C44B0XPF4PF5PF6PF7+5V某一按键按下所有的行线为低电平逐行为低电平14行扫描法识别矩阵键盘按键14PF0+5V某一按键按下所有15编写键盘扫描程序15开始初始化键值为-1PF0-3输出全0PF4-7读入为全1?PF0-3输出扫描码PF4-7读入为全1?扫描码指针移位获得行号和列号,计算键值返回键值NYYN15编写键盘扫描程序15开始初始化键值为-1PF0-3输出全16寄存器设置设置PCONF寄存器PF口的有3个端口:

控制口PCONF,用于设置接口的功能。

数据口PDATF,用于输入、输出数据。

上拉电阻配置口PUPF,用于使能上拉电阻。

设定PF0-3为输出口,PF4-7为输入口,在端口工作之前设置1、rPCONF=0000000000001010101BPF4-7为输入PF0-3为输出1616寄存器设置设置PCONF寄存器16171718寄存器设置2、设置PDATF寄存器PF0-3作为输出口输出扫描码时,采用语句:rPDATF=Oxf0//PF0-3全写入0PF4-7作为输入口读入键值时,采用语句:Keyval=(rPDATF&0xf0)>>4;3、设置PUPF寄存器设置内部上拉电阻的语句为:rPUPF=0x00;//使能PF0-7的内部上拉电阻1818寄存器设置2、设置PDATF寄存器1819行扫描法获取键值的程序设计寄存器设置

接口中利用了PF口的相关寄存器,PF口的寄存器有3个——PCONF,PDATF(PF口数据寄存器)和PUPF(口上拉电阻寄存器)19PDATF位描述PF[8:0][8:0]当端口设定为输入口时,这个寄存器的相应位就对应着引脚的状态;当端口设定为输出口时,输出引脚的状态与该寄存器的相应位相同;当端口设定为多功能口时,PDATF中的内容无效PUPF位描述PF[8:0][8:0]0:相应位的上拉电阻使能1:相应位的上拉电阻禁止19行扫描法获取键值的程序设计寄存器设置19PDATF位描述20键盘扫描子程序代码如下:返回的是各键的键值:0–F。#include<string.h>#include<stdio.h>charReadKeyVal(void){unsignedchari,j,H_val,L_val;charkeyval=-1;rPCONF=0x55;rPUPF=0xff;上拉电阻禁止rPDATF=0xf0;输出全0值,判是否有键按下20键盘扫描子程序代码如下:返回的是各键的键值:21if((L_val=(rPDATF&0xf0))!=0xf0){ H_val=0xfe;//0xfe,0xfd0xfb0xf7对应于第0、1、2、3行键 for(i=0;i<4;i++) {rPDATF=H_val;输出扫描码for(j=0;j<100;j++);延时 if((L_val=(rPDATF&0xf0))!=0xf0)//输入列数据不全为1 { L_val=((L_val>>4))|0xf0;循环右移4次 Keyval=get_val(H_val)×4+get_val(L_val); returnkeyval; } else H_val=H_val<<1;

//H_val行无键按下,此行输出0不影响H_val+1行。 }}returnkeyval;}21if((L_val=(rPDATF&0xf0))!=0x22//get_val子函数是由行扫描值、读取的列值分别得到行号、列号。charget_val(unsignedcharval){ unsignedchari,x; x=0; for(i=0;i<4;i++) { if((~val)==1)returnx;//取反 val=(val>>1)|0x80;//负数算数右移 x=x+1; }}22//get_val子函数是由行扫描值、读取的列值分别得到2323内容提要A/D和D/A转换器接口通讯与中断接口LCD显示器与触摸屏接口(了解)LED显示器键盘接口ARM的JTAG接口2323内容提要A/D和D/A转换器接口通讯与中断接口LC24LED显示器接口概述LED(LightEmittingDiode)常称为发光二极管,在专用的微型计算机系统中,特别是在嵌入式控制系统中,应用非常普遍.价格低廉、体积小、功耗低,而可靠性又很好从单板微型机、袖珍计算机到许多微型机控制系统及数字化仪器都用LED作为输出显示2424LED显示器接口概述LED(LightEmittingLED优缺点(百度百科)优点体积小,轻耗电量低(相同照明效果比传统光源节能近80%)使用寿命长(比传统光源寿命长10倍以上)高亮度、低热量(冷光灯)环保(不含水银,光谱中不含紫外线和红外线,安全触摸等)坚固耐用多变幻技术先进(融合了计算机技术、网络通信技术、图像处理技术、嵌入式控制技术等,具有在线编程、无限升级、灵活多变的特点。)25LED优缺点(百度百科)优点25LED优缺点(百度百科)缺点近日由美国加州大学艾尔文分校进行的一项调查却显示,LED灯中包含有锑、砷、铬、铅以及其他多种金属元素。其中,部分LED灯的有毒元素含量已经超过了监管部门制定的标准。比如在低亮度红色LED灯中,研究人员发现其铅含量超标达到8倍,镍含量也超标2.5倍。实际上在美国加州法律中,绝大多数LED灯都已经被明确定义为有毒垃圾,如果使用普通填埋的办法处理将会污染土壤和地下水。而如果LED灯破碎,还可能会对直接接触的人体健康造成损害。但至今,无论各国政府还是民众都对LED灯的环境和健康危险知之甚少。26LED优缺点(百度百科)缺点26LED优缺点(百度百科)缺点LED需要由于单个发光面比较窄,通常大规模集成在线路板上,形成一个比较大的发光源,由此会造成大量热量积累,有时会击穿电路板。所以LED灯的散热一定要好。人眼最不能接受的是蓝光和UV光(即紫外线光),蓝光杀伤人眼活性细胞的能力是绿光的10倍,而UV光杀伤人眼活性细胞的能力又是蓝光的10倍,长期接触大量低波长的蓝光能大量杀伤人眼活性细胞,最终癌化形成斑块。而LED白光形成主要是靠450-455NM波长蓝光激发荧光粉,属于伤害最强的区段易出现「黄圈」问题

27LED优缺点(百度百科)缺点2728LED的工作原理287个字段分别称为a、b、c、d、e、f、g段,有时还有一个小数点段DP。通过7个发光段的不同组合,可以显示0到9和A到F共16个字母数字,从而实现十六进制的显示阴极控制端数据端28LED的工作原理287个字段分别称为a、b、c、d、e297段字型码297段字型码30电路原理动态显示:1、译码,待显示数字转换成7段代码。2、位控端口输出位码,每次控制显示一位,从而实现数据的动态显示。位码:0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x013、段控端口输出欲显示数字的7段代码。译码:将一个4位二进制数(可能为十六进制数或BCD码)译为LED的7段字形码。采用两种方法:1、采用专用芯片,实现对BCD码的译码(7447)2、软件译码法:在软件设计时,将0到F共16个数字(或者0到9)对应的显示代码组成一个表,查表译码。3030电路原理动态显示:3031用ARM芯片实现LED显示接口31接口电路结构特点:8位LED的各段并联,任一时刻只能显示一位。PG口输出只能一位为1。

PF口输出共阳极LED的字型码。31用ARM芯片实现LED显示接口31接口电路结构特点:327段数码LED编程(初始化)设置PCONF、PCONG寄存器(F、G设置为输出口)rPCONF=0010010010101010101B=0x12555;rPCONG=0101010101010101B=0x5555;设置PUPF、PUPG寄存器rPUPF=0x00;//使能PF0-7的内部上拉电阻rPUPG=0x00;//使能PG0-7的内部上拉电阻32在端口工作之前设置为输出端口。设置内部上拉电阻。327段数码LED编程(初始化)设置PCONF、P

温馨提示

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

最新文档

评论

0/150

提交评论