什么是ADC的中断方式和查询方式

什么是ADC的中断方式和查询方式,第1张

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方式的优缺点有哪些、什么是中断简述中断处理过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10122999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存