第5章ARM接口设计技术.ppt
《第5章ARM接口设计技术.ppt》由会员分享,可在线阅读,更多相关《第5章ARM接口设计技术.ppt(163页珍藏版)》请在三一文库上搜索。
1、第5章 ARM接口设计技术,键盘接口 LED显示器接口 LCD显示器接口 触摸屏接口 通讯接口 中断接口 A/D和D/A转换器接口 ARM的JTAG接口,芯片S3C44B0X简介1,S3C44B0X是以ARM7TMDI为内核的高性能CPU,是ARM公司最早为业界普遍认可并且赢得最广泛应用的处理核。 S3C44B0X的推荐最高工作频率为66MHz,按照ARM公司提供的技术资料,ARM7类CPU的运算速度可按如下公式计算:MIPS0.9MHz,由此可得出,S3C44B0X的最大运算速度大约为0.966MHz59.4MIPS。 芯片S3C44B0X具有71个通用多功能输入输出引脚,这些I/O口的应用
2、是S3C44B0X处理器的基础应用,分别包含在如下7组端口中: 端口A:10位,输出端口 端口B:11位,输出端口 端口C:16位,输入输出端口 端口D:8位,输入输出端口 端口E:9位,输入输出端口 端口F:9位,输入输出端口 端口G:8位,输入输出端口,芯片S3C44B0X简介2,每组端口都是多功能口,需要用软件对端口配置寄存器PCONn来设置满足不同的需要。 在运行程序之前必须先对每一个用到的引脚功能进行设置。如果某些引脚的复用功能没有使用,可以将该引脚设置成I/O口。 在一般的应用中: PA:地址线。 PB:bank选择线和SDRAM的接口信号线。 PC:数据线、IIS接口或LCD数据
3、线等。 PD:LCD的信号线。 PE:串口信号线和定时器输出。 PF:多功能I/O口。 PG:多功能I/O口。,S3C44B0X的片上功能,2.5V ARM7TDMI内核,带有8KB高速缓存器(SAMBAII总线体系结构)。 外部存储器控制器(FP/EDO/SDRAM控制,片选逻辑)。 LCD控制器(最大支持256色STN,LCD具有专用DMA)。 2通道通用DMA、2通道外设DMA并具有外部请求引脚。 2通道UART,带有握手协议(支持lrDA1.0,具有16-byte FIFO)和1通道SIO。 1通道多主IIC-BUS控制器。 1通道IIS-BUS控制器。 5个PWM定时器和1通道内部定
4、时器。 看门狗定时器。 71个通用I/O口、8通道外部中断源。 功耗控制:具有普通、慢速、空闲核停止模式。 8通道10位ADC。 具有日历功能的RTC。 具有PLL的片上时钟发生器。,S3C44B0X特性1,(1)体系结构 集成了手持设备和通用嵌入式系统应用的解决方案。 16/32位RISC体系结构和ARM7TDMI处理器内核强大的指令体系。 Thumb代码压缩机,最大化代码密度同时保持了32位指令的性能。 基于JTAG的片上集成ICE调试支持解决方案。 328位硬件乘法器。 实现低功耗SAMBAII的新型总线结构。,S3C44B0X特性2,(2)系统管理器 支持大/小端方式。 寻址空间:每b
5、ank的寻址空间为32M字节(共256M字节)。 支持每bank可编程的8/16/32位数据总线宽度。 7个bank具有固定的bank起始地址和可编程的bank大小。 8个存储器bank。 所有的存储器bank具有可编程的操作周期。 支持外部等待信号延长总线周期。 支持掉电时DRAM/SDRAM的自刷新模式。 支持均匀/非均匀的DRAM地址。,S3C44B0X特性3,(3)Cache存储器和内部SRAM 一体化的8K字节Cache。 未用的Cache空间用来作为0/4/8K字节的SRAM存储空间。 支持LRU替换算法。 采用保持主存储器与Cache内容一致性的“写穿式”策略。 写存储器具有4级
6、深度。 当Cache未命中时,采用“请求数据优先填充”技术。,S3C44B0X特性4,(4)时钟和电源管理 片上PLL使MCU工作时最大达到75MHz。 可以通过软件设置各功能模块的输入时钟。 电源模式:正常、慢速、空闲和停止模式。 正常模式:正常工作模式。 慢速模式:不加PLL的低时钟频率模式。 空闲模式:只停止CPU的时钟。 停止模式:停止所有的时钟。 通过EINT7:0或RTC报警中断从停止模式唤醒。,S3C44B0X特性5,(5)中断控制器 30个中断源(看门狗定时器、6个定时器、6个UART、8个外部中断、4个DMA、两个RTC、1个ADC、1个IIC、1个SIO) 采用向量化的IR
7、Q中断模式以减少中断的延迟。 可选的电平/边沿模式触发外部中断。 电平/边沿模式具有可编程的优先级。 支持FIQ为紧急的中断请求进行服务。,S3C44B0X特性6,(6)定时器和PWM(脉宽调制) 5通道16位具有PWM功能的定时器,1通道16位内部定时器(可进行基于DMA或中断的操作)。 可编程的占空比周期、频率和优先级。 支持外部中断源。 能产生死区。 (7)RTC(实时时钟) 充分的时钟特性:毫秒、秒、分钟、小时、日、星期、月、年。 32.768kHz时钟。 定时警报,可用于唤醒CPU。 可产生时钟节拍中断。,S3C44B0X特性7,(8)通用I/O口 8个外部中断口。 71个多功能输入
8、/输出口。 (9)UART(异步串行通信) 2通道通用UART,可进行基于DMA或中断的操作。 支持5位、6位、7位或8位串行数据传输/接收。 可编程的波特率。 支持IrDA1.0(115.2Kbps)。 支持用于测试的回馈模式。 每个通道具有两个内部32字节的FIFO分别用于输入和输出。,S3C44B0X特性8,(10)DMA(直接存储器操作)控制器 2通道通用DMA控制器。 2通道DMA桥(外设DMA)控制器。 支持I/O到存储器,存储器到I/O,I/O到I/O的DMA请求。 同时发生的多个DMA具有可编程的优先级顺序。 采用猝发式的传输模式以提高FPDRAM、EDODRAM和SDRAM的
9、数据传输速率。 (11)A/D转换器 8通道的ADC。 10-bit。,S3C44B0X特性9,(12)LCD控制器 支持彩色/黑白/灰度LCD屏。 支持单路扫描和双路扫描。 支持虚拟显示屏功能。 系统存储器用来作为显示缓存。 用专门的DMA从系统存储器中获得图像数据。 灰度等级:16级灰度。 最多256种颜色。,S3C44B0X特性10,(13)看门狗定时器 16位的看门狗定时器。 在定时器溢出时发出中断请求或系统复位。 (14)IIC总线接口 1通道多主IIC总线,可进行基于中断的操作模式。 可进行串行,8位,双向数据传输,标准模式速度达到100Kb/S,快速模式达到400Kb/S。,S3
10、C44B0X特性11,(15)IIS总线接口 1通道音频IIS总线接口,可进行基于DMA的操作。 串行,每通道8/16位数据传输。 (16)SIO(同步串行I/O) 1通道SIO,可进行基于DMA或中断的操作。 可编程的波特率。 支持8位串行数据的传输和接收操作。 (17)工作电压范围:内核为2.5V,I/O口为3.0V3.6V。 (18)工作频率:最大75MHz。 (19)封装:160LQFP/160FBGA。,S3C44B0X微处理器引脚信号1,(1)总线控制 om1:0 输入:om1:0设置S3C44B0X在测试模式和确定nGCS0的总线宽度,逻辑电平在复位期间由这些管脚的上拉下拉电阻确
11、定。 00:8-bit 01:16-bit 10:32-bit 11:Test mode ADDR24:0 输出:地址总线,输出相应段的存储器地址. DATA31:0 输入输出:数据总线,总线宽度可编程为8/16/32 位 nGCS7:0 输出:芯片选择,当存储器地址在相应段的地址区域时被激活.存取周期和段尺寸可编程. nWE 输出:写允许信号,指示当前的总线周期为写周期. nWBE3:0 输出: 写字节允许信号,S3C44B0X微处理器引脚信号2,(1)总线控制 nBE3:0 输出:在使用SRAM情况下字节允许信号. nOE输出:读允许信号,指示当前的总线周期为读周期. nXBREQ 输入:
12、 nXBREQ 总线控制请求信号,允许另一个总线控制器请求控制本地总线,nXBACK信号激活指示已经得到总线控制权。 nXBACK 输出:总线应答信号。 nWAIT 输入:nWAIT请求延长当前的总线周期,只要nWAIT为低,当前的总线周期不能完成。 ENDIAN 输入:它确定数据类型是little endian还是big endian,逻辑电平在复位期间由该管脚的上拉下拉电阻确定. 0:little endian 1:big endian,S3C44B0X微处理器引脚信号3,(2)DRAM/SDRAM/RAM nRAS1:0 输出:行地址选通信号。 nCAS3:0 输出: 列地址选通信号。
13、nSRAS输出:SDRAM行地址选通信号。 nSCAS输出:SDRAM列地址选通信号。 nSCS1:0 输出:SDRAM芯片选择信号。 DQM3:0 输出:SDRAM数据屏蔽信号。 SCLK输出:SDRAM时钟信号。 SCKE输出:SDRAM时钟允许信号。,S3C44B0X微处理器引脚信号4,(3)LCD控制单元 VD7:0输出:LCD数据线,在驱动4位双扫描的LCD时,VD3:0为上部显示区数据,VD7:4为下部显示区数据。 VFRAME输出:LCD场信号,指示一帧的开始,在开始的第一行有效。 VM输出:VM极性变换信号,变化LCD行场扫描电压的极性,可以每帧或可编程多少个VLINE信号打开
14、。 VLINE输出:LCD行信号,在一行数据左移进LCD驱动器后有效。 VCLK输出:LCD点时钟信号,数据在VCLK的上升沿发送,在下降沿被LCD驱动器采样。,S3C44B0X微处理器引脚信号5,(4)TIMER/PWM TOUT4:0输出:定时器输出信号。 TCLK输入:外部时钟信号输入。 (5)中断控制单元 EINT7:0输入:外部中断请求信号。 (6)DMA nXDREQ1:0输入:外部DMA请求信号。 nXDACK1:0输出:外部DMA应答信号。,S3C44B0X微处理器引脚信号6,(7)UART RxD1:0输入:UART接收数据输入线。 TxD1:0输出:UART发送数据线。 n
15、CTS1:0输入:UART清除发送输入信号。 nRTS1:0输出:UART请求发送输出信号。,S3C44B0X微处理器引脚信号7,(8)IIC-BUS IICSDA输入输出:IIC总线数据线。 IICSCL输入输出:IIC总线时钟线。 IISLRCK输入输出:IIS总线通信时钟选择信号线。 IISDO输出:IIS总线串行数据输出信号。 IISDI输入:IIS总线串行数据输入信号。 IISCLK输入输出:IIS总线串行时钟。 CODECLK输出:CODEC系统时钟。,S3C44B0X微处理器引脚信号8,(9)SIO SIORXD输入:SIO接收数据输入线。 SIOTXD输出:SIO发送数据线。
16、SIOCK输入输出:SIO时钟信号。 SIORDY输入输出:当SIO的DMA完成SIO操作时的握手信号。 (10)ADC AIN7:0输入: ADC模拟信号输入 AREFT输入:ADC顶参考电压输入。 AREFB输入:ADC底参考电压输入。 AVCOM输入:ADC公共参考电压输入。 (11)通用口线 P70:0输入输出:通用I/O口(一些口只有输出模式)。,S3C44B0X微处理器引脚信号9,(12)Reset&Clock nRESET输入:复位信号,nRESET挂起程序,放S3C44B0X进复位状态。在电源打开已经稳定时,nRESET必须保持低电平至少4个MCLK周期。 OM3:2输入:OM
17、3:2确定时钟模式。 00 = Crystal(XTAL0,EXTAL0), PLL on ;01 = EXTCLK, PLL on ;10, 11 = Chip test mode. EXTCLK输入:当OM3:2选择外部时钟时的外部时钟输入信号线,不用时必须接高(3.3V). XTAL0模拟输入:系统时钟内部振荡线路的晶体输入脚。不用时必须接高(3.3V). EXTAL0模拟输出:系统时钟内部振荡线路的晶体输出脚,它是XTAL0的反转输出信号。不用时必须悬空。 PLLCAP模拟输入:接系统时钟的环路滤波电容(700PF)。 XTAL1模拟输入:RTC时钟的晶体输入脚。 EXTAL1模拟输出
18、:RTC时钟的晶体输出脚。它是XTAL1的反转输出信号。 CLKout输出:时钟输出信号,S3C44B0X微处理器引脚信号10,(13)JTAG测试逻辑 nTRST输入:TAP控制器复位信号,nTRST在TAP启动时复位TAP控制器。若使用debugger,必须连接一个10K上拉电阻,否则nTRST必须为低电平。 TMS输入:TAP控制器模式选择信号,控制TAP控制器的状态次序,必须连接一个10K上拉电阻。 TCK输入:TAP控制器时钟信号,提供JTAG逻辑的时钟信号源,必须连接一个10K上拉电阻。 TDI输入:TAP控制器数据输入信号,是测试指令和数据的串行输入脚,必须连接一个10K上拉电阻
19、。 TDO输出:TAP控制器数据输出信号,是测试指令和数据的串行输出脚。,S3C44B0X微处理器引脚信号11,(14)电源 VDD:S3C44B0X内核逻辑电压(2.5V) VSS:S3C44B0X内核逻辑地. VDDIO:S3C44B0X I/O口电源(3.3V). VSSIO:S3C44B0X I/O地. RTCVDD:RTC电压(2.5V或3V,不支持3.3V). VDDADC:ADC电压(2.5V). VSSADC:ADC地.,键盘概述,计算机的键实际上就是开关,制造这种键的方法是多种多样的。 几种常用的按键: (1)机械式按键 (2)电容式按键 (3)薄膜式按键 (4)霍耳效应按键
20、,按键识别方法,通常采用两种方法: (1)行扫描法, (2)行反转法。 行扫描法:使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫描完全部的行线为止。 行反转法:行线接并行口,先让它工作在输出方式下,将列线也接一个并行口,先让它工作在输入模式下。CPU通过输出端口往各行线上全部送低电平,然后读入列线的值。如果有某一键被按下,则必定会使某一列线值为0。然后,程序再对两个并行端口进行方式设置,使行线工作在输入,列线工作在输出,将刚才读的列线值从列线所接的并行端口输出,再读取行线上的输入值。,用ARM芯片实现键盘接
21、口1,例:与4X4的矩阵键盘接口,采用节省口线的“行扫描法”方法来检测键盘,这样只需要8根口线。 选取PF口作为检测键盘用端口,设定PF0 PF3为输出扫描码的端口,PF4-PF7为键值读入口。,用ARM芯片实现键盘接口2,矩阵键盘按键的识别方法,此方法分两步进行: 识别键盘哪一行的键被按下:让所有行线均为低电平,检查各列线电平是否为低,如果有列线为低,则说明该列有键被按下,否则说明无键被按下。 如果某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平,并置其余各行为高电平,检查各列线电平的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。,行扫描法获取键值的程序1,接口中利用
22、了PF口的相关寄存器,PF口的寄存器有3个:PF口数据寄存器 PDATF、PF口上拉电阻寄存器 PUPF和PF口控制寄存器 PCONF。,行扫描法获取键值的程序2,行扫描法获取键值的程序3,1寄存器设置 程序中,首先通过设置PCONF寄存器,来实现端口功能配置,然后再分别设置PDATF及PUPF寄存器。 (1)设置PCONF寄存器 由于需要设定PF0PF3为输出口,PF4PF7为输入口,因此,在端口工作之前设置: rPCONF000 000 000 00 01 01 01 01 B0x55; (2)设置PDATF寄存器 PF0PF3作为输出口输出扫描码时,可采用如下语句: rPDATF=0xf
23、0; /PF0PF3全写入0 PF4PF7作为输入口读入键值时,采用如下语句: Keyval=(rPDATF /使能PF0PF7的内部上拉电阻,行扫描法获取键值的程序4,2键盘扫描程序框图,行扫描法获取键值的程序5,3键盘扫描程序代码 #include #include char ReadKeyVal(void) unsigned char i,j,H_val,L_val; char keyval= -1; rPCONF = 0x55; rPUPF=0x00; rPDATF=0xf0; if(L_val=(rPDATFi+),行扫描法获取键值的程序6, rPDATF=H_val; for(j=
24、0;j4)|0xf0; Keyval =get_val(H_val) 4 + get_val(L_val); return keyval; else H_val = H_val 1; return keyval; ,行扫描法获取键值的程序7,/get_val子函数是由扫描值、读取的列值分别得到行号、列号 char get_val(unsigned char val) unsigned char i,x; x=0; for(i=0;i1)|0x80 ; x = x+1 ; ,LED 概述,LED:七段发光二极管, 在专用的微型计算机系统中,特别是在嵌入式控制系统中, 应用非常普遍。它价格低廉、体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 接口 设计 技术
链接地址:https://www.31doc.com/p-2566792.html