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