




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 ARM的接口技术,6.1 I/O 接口概述 6.2 CPU 与外设之间数据传送的方式 6.3 VIC 中断向量控制器 6.4 GPIO 6.5 UART,6.1 I/O接口概述,I/O接口的作用 CPU与外设交换的信息 I/O接口的基本结构 I/O端口的编址,6.1.1 I/O接口的作用 计算机与外界的信息交换是通过输入/输出设备进行的。一般的输入/输出设备都是机械的或机电相结合的产物,比如常规的外设有键盘、显示器、打印机、扫描仪、磁盘机、鼠标器等,它们相对于高速的中央处理器来说,速度要慢得多。此外,不同外设的信号形式、数据格式也各不相同。因此,外部设备不能与CPU直接相连,需要通过相
2、应的电路来完成它们之间的速度匹配、信号转换,并完成某些控制功能。通常把介于主机和外设之间的一种缓冲电路称为I/O接口电路,简称I/O接口(Interface)。,6.1.2 CPU与外设交换的信息 主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三类。 1数据信息 数据信息又分为数字量、模拟量和开关量三种形式。 1) 数字量 数字量是计算机可以直接发送、接收和处理的数据。例如,由键盘、显示器、打印机及磁盘等I/O外设与 CPU交换的信息,它们是以二进制形式表示的数或以ASCII码表示的数符。,2) 模拟量 当计算机应用于控制系统中时,输入的信息一般为来自现场的连续变化的物理量,
3、如温度、压力、流量、位移、湿度等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也必须先经过数字量向模拟量的转换(D/A转换),把数字量转换成模拟量才能去控制现场。,3) 开关量 开关量可表示两个状态,如开关的断开和闭合,机器的运转与停止,阀门的打开与关闭等。这些开关量通常要经过相应的电平转换才能与计算机连接。开关量只要用一位二进制数即可表示。,2. 状态信息 状态信息作为CPU与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过
4、对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示输出设备是否处于空闲状态,如为空闲状态,则可接收CPU输出的信息,否则CPU要暂停送数。因此,状态信息能够保障CPU与外设正确地进行数据交换。,3控制信息 控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工作原理不同而含义不同。 虽然数据信息、状态信息和
5、控制信息含义各不相同,但在计算机系统中,CPU通过接口和外设交换信息时,只能用输入指令(LDR)和输出指令 (STR)传送数据,所以状态信息、控制信息也是被作为数据信息来传送的,即把状态信息作为一种输入数据,而把控制信息作为一种输出数据,这样,状态信息和控制信息也通过数据总线来传送。但在接口中,这三种信息是在不同的寄存器中分别存放的。,6.1.3 I/O接口的基本结构 I/O接口的基本结构如图所示。每个接口电路中都包含一组寄存器,CPU与外设进行信息交换时,各类信息在接口中存入不同的寄存器,一般称这些寄存器为I/O端口,简称为口(Port)。用来保存CPU和外设之间传送的数据(如数字、字符及某
6、种特定的编码等)、对输入/输出数据起缓冲作用的数据寄存器称为数据端口;用来存放外设或者接口部件本身状态的状态寄存器称为状态端口;用来存放CPU发往外设的控制命令的控制寄存器称为控制端口。,正如每个存储单元都有一个物理地址一样,每个端口也有一个地址与之相对应,该地址称为端口地址。有了端口地址,CPU对外设的输入/输出操作实际上就是对I/O接口中各端口的读/写操作。数据端口一般是双向的,数据是输入还是输出,取决于对该端口地址进行操作时CPU发往接口电路的读/写控制信号。由于状态端口只做输入操作,控制端口只做输出操作,因此,有时为了节省系统地址空间,在设计接口时往往将这两个端口共用一个端口地址,再用
7、读/写信号来分别选择访问。 应该指出,输入/输出操作所用到的地址总是对端口而言,而不是对接口而言的。接口和端口是两个不同的概念,若干个端口加上相应的控制电路才构成接口。,6.1.4 I/O端口的编址 微型计算机系统中I/O端口编址方式有两种:I/O端口与内存单元统一编址和 I/O端口与内存单元独立编址。 1I/O端口与内存单元统一编址(Memory map I/O ) 这种编址方式是对I/O端口和存储单元按照存储单元的编址方法统一编排地址号,由I/O端口地址和存储单元地址共同构成一个统一的地址空间。例如,对于一个有16根地址线的微机系统,若采用统一编址方式,其地址空间的结构如图6.2所示。,图
8、6.2 I/O端口与内存单元统一编址,采用统一编址方式后,CPU对I/O端口的输入/输出操作如同对存储单元的读/写操作一样,所有访问内存的指令同样都可用于访问I/O端口,因此无需专门的I/O指令,从而简化了指令系统的设计;同时,对存储器的各种寻址方式也同样适用于对I/O端口的访问,给使用者提供了很大的方便。但由于I/O端口占用了一部分存储器地址空间,因而相对减少了内存的地址可用范围。,2I/O端口与内存单元独立编址(Peripheral I/O) 在这种编址方式中,建立了两个地址空间,一个为内存地址空间,一个为I/O地址空间。内存地址空间和I/O地址空间是相对独立的,通过控制总线来确定CPU到
9、底要访问内存还是I/O端口。为确保控制总线发出正确的信号,除了要有访问内存的指令之外,系统还要提供用于CPU与I/O端口之间进行数据传输的输入/输出指令。,6.2 CPU与外设传送数据的方式,程序传送方式 中断传送方式 直接存储器存取传送方式(DMA),6.2.1 程序传送方式 1无条件传送方式 微机系统中的一些简单的外设,如温度传感器、压力传感器、开关、继电器、数码管、发光二极管等,在它们工作时,可以认为输入设备已随时准备好向CPU提供数据,而输出设备也随时准备好接收CPU送来的数据,这样,在CPU需要同外设交换信息时,就能够用LDR或STR指令直接对这些外设进行输入/输出操作。由于在这种方
10、式下CPU对外设进行输入/输出操作时无需考虑外设的状态,故称之为无条件传送方式。,对于简单外设,若采用无条件传送方式,其接口电路也很简单。如简单外设作为输入设备时,输入数据保持时间相对于CPU的处理时间要长得多,所以可直接使用三态缓冲器和数据总线相连。当执行输入的指令时,读信号有效,因而三态缓冲器被选通,使其中早已准备好的输入数据送到数据总线上,再到达CPU。所以要求CPU在执行输入指令时,外设的数据是准备好的,即数据已经存入三态缓冲器中。(为什么输入要三态缓冲器、输出要锁存器?。),简单外设为输出设备时,由于外设取数的速度比较慢,要求CPU送出的数据在接口电路的输出端保持一段时间,因而一般都
11、需要锁存器,如图所示。CPU执行输出指令时,接口中的输出锁存器被选中,CPU输出的信息经过数据总线送入输出锁存器中,输出锁存器保持这个数据,直到外设取走。 无条件传送方式下,程序设计和接口电路都很简单,但是为了保证每一次数据传送时外设都能处于就绪状态,传送不能太频繁。对少量的数据传送来说,无条件传送方式是最经济实用的一种传送方法。,2查询传送方式(有条件传送) 查询传送也称为条件传送,是指在执行输入指令(IN)或输出指令(OUT)前,要先查询相应设备的状态,当输入设备处于准备好状态,输出设备处于空闲状态时,CPU才执行输入/输出指令与外设交换信息。为此,接口电路中既要有数据端口,还要有状态端口
12、。 查询传送方式的流程图见图6.2。从图中可以看出,采用查询方式完成一次数据传送要经历如下过程: (1) CPU从接口中读取状态字。 (2) CPU检测相应的状态位是否满足“就绪”条件。 (3) 如果不满足,则重复(1)、(2)步;若外设已处于“就绪”状态,则传送数据。,图6.2 查询传送方式的流程图,ARER Main, CODE, READONLY LDR R0, =Portstate Back LDR R1, =Portdata LDR R2, R0 TST R2, 0 x01 BNE Back LDR R3, R1 Portstate DCD 0 x0000FFFA Portdata
13、DCD 0 x0000FFF8,查询传送方式的主要优点是能保证主机与外设之间协调同步地工作,且硬件线路比较简单,程序也容易实现。但是,在这种方式下,CPU花费了很多时间查询外设是否准备就绪,在这些时间里CPU不能进行其他的操作;此外,在实时控制系统中,若采用查询传送方式,由于一个外设的输入/输出操作未处理完毕就不能处理下一个外设的输入/输出,故不能达到实时处理的要求。因此,查询传送方式有两个突出的缺点:浪费CPU时间,实时性差。所以,查询传送方式适用于数据输入/输出不太频繁且外设较少、对实时性要求不高的情况。 不论是无条件传送方式还是查询传送方式,都不能发现和处理预先无法估计的错误和异常情况。
14、为了提高CPU的效率、增强系统的实时性,并且能对随机出现的各种异常情况做出及时反应,通常采用中断传送方式。,6.2.2 中断传送方式 中断传送方式是指当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,使CPU暂停正在执行的程序,转去执行数据的输入/输出操作,数据传送结束后,CPU再继续执行被暂停的程序。 中断传送方式是由外设主动向CPU发出请求,等候CPU处理,在没有发出请求时,CPU和外设都可以独立进行各自的工作。目前的微处理器都具有中断功能,而且已经不仅仅局限于数据的输入/输出,而是在更多的方面有重要的应用。例如实时控制、故障处理以及系统功能调用等。,中断传送方式的优点是:CP
15、U不必查询等待,工作效率高,CPU与外设可以并行工作;由于外设具有申请中断的主动权,故系统实时性比查询方式要好得多。但采用中断传送方式的接口电路相对复杂,而且每进行一次数据传送就要中断一次CPU,CPU每次响应中断后,都要转去执行中断处理程序,且都要进行断点和现场的保护和恢复,浪费了很多CPU的时间。故这种传送方式一般适合于少量的数据传送。对于大批量数据的输入/输出,可采用高速的直接存储器存取方式,即DMA方式。,6.3 VIC 中断向量控制器,ARM PrimeCellTM向量中断控制器; 最多32个中断请求; 16个向量IRQ中断; 16个优先级,可动态分配优先级; 可产生软件中断; AR
16、M有7种模式并共享一个CPSR,CPRS中“I”位和“F”位分别用来控制IRQ模式和FIQ模式的使能。 当I=1,禁止IRQ中断,反之中断使能; 当F=1,禁止FIQ中断,反之中断使能;,Vector_Init_Block LDR PC,Reset_Addr LDR PC,Undefined_Addr LDR PC,SWI_Addr LDR PC,Prefetch_Addr LDR PC,Abort_Addr NOP ;Reserved vector LDR PC,IRQ_Addr LDR PC,FIQ_Addr Reset_Addr DCD Start_Boot Undefined_Addr
17、 DCD Undefined_Handler SWI_Addr DCD SWI_Handler Prefetch_Addr DCD Prefetch_Handler Abort_Addr DCD Abort_Handler DCD 0 ;Reserved vector IRQ_Addr DCD IRQ_Handler FIQ_Addr DCD FIQ_Handler,中断处理程序,ARM 处理器有 FIQ 和 IRQ 两级外部中断,均是由低 (LOW) 电平信号激活进入内核程序。为响应一个中断, CPSR 中相应的中断使能位必须清空。 在以下方式中, FIQ 较 IRQ 有更高的优先级: 当发
18、生多个中断时,首先处理 FIQ。 处理 FIQ 造成禁用 IRQ,直至 FIQ 处理程序再次将其置为可用状态前禁止使用。这通常是通过在处理程序结束时将 CPSR 从 SPSR 中恢复来完成的。 FIQ 向量是向量表(在地址 0 x1C 处)最后的入口,使得 FIQ 处理程序被直接放置在该向量位置并从该地址顺序执行。它避免了跳转以及相关的延迟,这一点非常重要,因为 FIQ 是为尽快处理中断而设计的。五个额外的 FIQ 模式的编组寄存器使得调用与处理程序之间的状态得以保存,从而又加快了其执行速度。 备注:中断处理程序必须包括清除中断来源的代码。,VIC控制寄存器:,1、中断选择寄存器 VICInt
19、Select (0 xFFFFF00C): 该寄存器将32个中断请求分别分配为FIQ或IRQ。该寄存器的位分布基于VIC通道号,某位置“1”,表示该通道的中断设置为FIQ,否则为IRQ。如: VICIntSelec= VICIntSelec | (1通道号);或: VICIntSelec=0 x00000000; 2、中断使能寄存器 VICIntEnable (0 xFFFFF010): 该寄存器用来使能已经分配的中断,该寄存器的位分布基于VIC通道号,某位置“1”,表示该通道的中断使能,否则为无效。如: VICIntEnable= VICIntEnable | (1通道号); 3、中断禁能清零寄存器 VICIntEnClr (0 xFFFFF014):该寄存器用来禁能已经分配的中断,该寄存器的位分布基于VIC通道号,某位置“1”,表示该通道的中断禁能,否则为无效。如: VICIntEnClr= VICIntEnClr | (1通道号);,参数设置寄存器:,1、向量地址寄存器VICVectAddr(0 xFFFFF030):该寄存器存放IRQ中断服务程序的地址,但该寄存器的值是从VICVectAddr0-15中复制得到的。 注:中断服务程序处理完毕后,必须清零该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐厅壁画施工方案
- 水网地段管道施工方案
- 壁画终端箱施工方案
- 2025年SYB创业培训后的试题及答案
- 6年级上册语文第十八课笔记
- 某航天机械能源公司投标书
- 2025年医学经典考试题及答案
- 地灾隐患点搬迁实施方案
- 2025年中山火炬职业技术学院单招职业倾向性测试题库附答案
- 2025年甘肃省庆阳地区单招职业适应性测试题库一套
- 《小学信息技术》完整版教学课件PPT
- 市政基础设施绿化工程移交书
- GB/T 30133-2022一次性卫生用品用面层
- GB/T 20878-2007不锈钢和耐热钢牌号及化学成分
- 部编版小学语文三年级下册书法教案设计(全册)
- 胎动不安课件
- 双重预防体系建设全套文件非煤矿山
- 文件袋、档案袋密封条模板
- 皮内注射技术操作考核评分标准
- 加油站重大风险清单
- 大唐大慈恩寺三藏法师传白话本(整理压缩版)
评论
0/150
提交评论