AD转换是需要一定时间的,是让程序就地等待转换结果读取数据,还是让ADC转换结束之后自动处理结果,可以有两种选择。选择前者就是查询方式,选择后者就是中断方式。ADC转换结束之后有一个标志会置位,查询方式就是让程序等待这个标志位置位。而如果开放了ADC中断,这个标志位置位的同时会发生中断,程序暂时挂起,自动进入中断服务程序处理ADC转换结果,处理结束之后继续被挂起的程序。你提问中的两种方式,和其它诸如定时器、I/O、串行接口等模块的应用,道理都是一样的。当然,我说的仅限于单片机片内ADC,至于外挂的ADC那是另一番情景了。
程序查询方式,最简单的I/O方式,数据在CPU和外设之间的传送完全靠计算机程序控制,外设和CPU之间是串行工作,CPU效率低。
DMA方式,完全由硬件执行I/O交换,其主要优点是数据传送速度很高,CPU根本不参加传送 *** 作,而直接在内存和外设之间进行,传送速率仅受内存访问时间的限制。缺点是需要更多的硬件。中断方式,外设主动提出数据传送要求的I/O方式,CPU在收到这个要求之前,则执行着本身的程序,突出的优点是CPU效率高。缺点是硬件结构相对复杂,服务开销时间较大。
DMA传送方式
DMA传送方式有3种:单元传送方式、块传送方式和on-the-fly传送方式。与外部DMA请求/应答协议不同的是,DMA传送方式定义了每次传送读/写的单元数。
(1)单元传送方式(单字节传送方式)
单元传送方式意味着每个DMA请求对应一对DMA读/写周期,即1个单元读,然后1个单元写。
(2)块传送方式(连续传送方式)
块传送方式意味着在连续4个字的DMA写周期前有连续的4个字的DMA读周期,即4个字突发读,然后4个字突发写,因此传输的数据个数应该是16字节的倍数。
(3)on-the-fly传送方式(请求传送方式)
在on-the-fly传送方式下DMA读/写可以同时进行。DMA应答信号通知外部设备去读或者写。同时,存储控制器将产生与读/写相关的控制信号给外部存储器。如果外部设备能够支持on-the-fly传送方式,将会使得外设的数据传输速率大大地增加。
中断就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序的流程如下。 中断处理过程基本上由3部分组成,第一部分为准备部分,其基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序;第二部分为处理部分,即真正执行具体的为某个中断源服务的中断服务程序;第三部分为结尾部分,首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。中断服务程序的最后一条指令一定是中断返回指令。
一个完整的中断过程包括:
中断请求:是指中断源(引起中断的事件或设备)向CPU
发出的请求中断的要求。
中断判优:当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求;
中断响应:指CPU中止现行程序转至中断服务程序的过程;
中断处理:就是指CPU执行中断服务程序;
中断返回: 执行完中断服务程序后,返回到被中断的程序
中断的作用:
(1)CPU与I/O设备并行工作
(2)硬件故障处理
(3)实现人机联系:在计算机工作过程中,如果用户要干预机器,如查看计算的中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的计算机里这些功能几乎是无法实现的。
(4)实现多道程序和分时 *** 作
(5)实现实时处理
(6)实现应用程序和 *** 作系统的联系
(7)多处理机系统各处理机间的联系
中断程序是在中断事件发生时调用,程序也不知道什么时候有中断事件发生。子程序是在需要的时候调用,在程序里可以预见它的使用。
因为中断是由系统调用的,不知道什么时候中断,所以你可以选择允许中断或者不允许中断,这就好比你正在干工作时,电话铃响了,你可以选择接电话也可以选择不接电话,中断就好比电话铃,你不知道电话铃什么时候响起。开放中断就是允许中断,就好比电话铃响允许你接电话,禁止中断就是不允许中断,就好比电话铃响不允许你接电话。子程序是条件调用的程序,你可以知道什么时候调用,子程序是为了优化程序结构。
简单一句,中断是随时发生的,时间不确定。而子程序则时间确定,跟系统设计顺序有关系,起简化、优化作用。用在随机事件,只是中断的一个应用。
有些中断的应用,其事件是可以预料,也能确定的,比如说定时。
子程序控制的内容与主程序是一样的,都是在扫描周期结束后才变化的,而中断就是马上去做,不等这个扫描周期结束 。
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
计算机科学术语。指处理机处理程序运行中出现的紧急事件的整个过程。
程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断;当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断。
中断又可分为屏蔽中断和非屏蔽中断两类。可由程序控制其屏蔽的中断称为屏蔽中断或可屏蔽中断。屏蔽时,处理机将不接受中断。反之,不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。
非屏蔽中断主要用于断电、电源故障等必须立即处理的情况。处理机响应中断时,不需执行查询程序。由被响应中断源向CPU发向量地址的中断称为向量中断,反之为非向量中断。向量中断可以提高中断响应速度。
参考资料
编辑委员会数学辞海北京:中国科学技术出版社,2002
1、中断定义
CPU在执行一个程序时,对系统发生的某个事件(程序自身或外界的原因)作出的一种反应:CPU暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事件后,到适当的时候返回断点,继续完成被打断的程序。(如有必要,被中断的程序可以在后来某时间恢复,继续执行。)
事件:如读盘,盘有问题,无法读,产生中断,解决后,程序恢复,软件错误也会中断。
特点:1) 中断随机的
2) 中断是可恢复的
3) 中断是自动进行处理的
2、中断系统的有关概念
中断由软件( *** 作系统)、硬件协同完成,硬件机构称中断装置。
中断装置:指发现中断,响应中断的硬件。
中断处理程序是由软件来完成的。
以上合称中断系统
中断源:引起中断发生的事件
中断寄存器:硬件为每个中断源设置寄存器,中断发生时信息被记录在寄存器中,以便分析处理(记录中断)
中断字:中断寄存器中的内容
程序状态字:控制指令执行顺序,并保留和指示与程序相关的系统状态。
基本内容
程序基本状态(指令地址,条件码,目态/管态,等待计算)
中断码:保存程序执行时,当前发生的中断事件,以便 *** 作系统分析处理(设置中断码)
中断屏蔽位
程序状态字寄存器(CPU按照其内容执行)
系统堆栈:在内存开辟的一块区域用来临时保存进程运行现场
DMA 方式中的中断请求,只是为了报告 CPU一组数据传送结束, 有待 CPU做一些其他处理工作。程序中断方式的中断请求是为了传送数据, I/O 和主机交换信息完全靠 CPU响应中断后,转至中断服务程序完成的。
1中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理。
2DMA方式则是以数据块为单位传输的,在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数。
3中断方式的数据传送是由设备到CPU再到内存,或者相反。
4DMA方式的数据传送则是将所传输的数据由设备直接送入内存,或是由内存直接送到设备。
扩展资料:
常用的设备和CPU之间数据传送控制百方式有4种,它们是程序直接控制方式、中断控制方式、DMA方式和通道方式。
程序直接控制方式和中断控制方式都只适用于简单的、外设很少的计算机系统,因为程序直接控制方式耗费大量的CPU时间,而且无法检测发现设备或其他硬件产生的错误,设备和CPU、设备和设度备只能串行工作。
中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且知能够并行 *** 作的设备台数也受到中断处理时间的限制,中断次数增多导致数据丢失。
DMA方式和通道方式较好道地解决了上述问题。这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。
DMA方式与通道控制方式的区别是,DMA方式要求CPU执行设备内驱动程序启动设备,给出存放数据的内存始址以及 *** 作方式和传送字节长度等;而通道控制方式则是在CPU发出I/O启动命令之后,由通道指令采完成这些工容作。
发生中断时CPU在中断允许的情况下,强制跳转至中断处理程序对该中断进行响应。
中断处理程序需要注意:
若是改写系统中断,尽量保存系统中断的原地址;
如果是自定义中断,需要注意是否允许多重中断,即能否被另一个中断(包括同一个中断号的相同中断)打断,若不希望被打断,应当在中断处理程序开始时关闭中断允许位IF(用CLI指令),并且在程序结束时开启中断位(用STI指令)。
另外,中断处理程序本身也是一个过程,也有可能出错,所以尽量不要在中断处理程序中产生错误,以免程序不可控。
以上就是关于什么是ADC的中断方式和查询方式全部的内容,包括:什么是ADC的中断方式和查询方式、程序查询方式、中断方式、DMA方式的优缺点有哪些、什么是中断简述中断处理过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)