阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。 【说明】 服务型智能扫地机器人涉及了众多传感器,通过对环境信息的融合感知进行行为决策。同时也设计了丰富的多媒体人机交互系统,实现输入输出功能。 该机器人系统内部集成众多传感器,通过现场总线互联起来

admin2021-03-25  25

问题 阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。
【说明】
服务型智能扫地机器人涉及了众多传感器,通过对环境信息的融合感知进行行为决策。同时也设计了丰富的多媒体人机交互系统,实现输入输出功能。
该机器人系统内部集成众多传感器,通过现场总线互联起来,构成了底层的网络,选用的CAN控制器内含二个接收缓冲器、三个发送缓冲器,具有灵活的中断管理能力。
李工设计了一种采用中断方式的数据接收程序,每当接收寄存器接收到数据时,中断寄存器的接收中断使能,并产生中断信号通知CPU,中断处理程序在读取数据后,清空中断标识位,等待下一次中断。由于两个接收器共享一个中断号,在调试过程中发现,当短时间(毫秒级)接收大量数据时,丢包现象比较严重。李工对上述流程进行了改进,当产生一次中断时,依次查询两路接收器的状态,这样大大提高了数据接收处理能力,减少了系统开销,其处理流程如图4-2所示。

请将上述改进后的双通道数据接收流程图补充完整,将答案填写在答题纸的对应栏中。

选项

答案(1)设备中断使能 (2)接收器0有数据 (3)接收器1有数据 (4)接收器0有数据 (5)清除中断标识

解析 一般CPU和外部设备之间的数据传输有查询和中断两种方式。从查询式的传输过程可以看出,它的优点是硬件开销小,使用起来比较简单。但在此方式下,CPU要不断地查询外设的状态,当外设未准备好时,CPU就只能循环等待,不能执行其他程序,这样就浪费了CPU的大量时间,降低了主机的利用率。为了解决这个矛盾,提出了中断传送方式,即当CPU进行主程序操作时,外设的数据己存入输入端口的数据寄存器,或端口的数据输出寄存器己空,由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后CPU即返回继续执行原来被中断的主程序。这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高。能够向CPU发出中断请求的设备或事件称为中断源。而对其的处理方式即中断处理。
当CPU(中央处理器)执行一条现行指令的时候,如果外设向CPU发出中断请求,那么CPU在满足响应的情况下,将发出中断响应信号,与此同时关闭中断,表示CPU不再受理另外一个设备的中断。这时,CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。然后,它将转移到处理该中断源的中断服务程序。CPU在保存现场信息、设备服务(如交换数据)以后,将恢复现场信息。在这些动作完成以后,开放中断,并返回原来被中断的主程序的下一条指令。
当中断控制器的输入不够多时,使用共享中断是很有必要的。典型的外部通用异步收发器(UART),它只有一个中断输出,为不同的内部中断资源所共享,比如:接受中断和发送中断。这些中断在中断控制器内部用“或方式”有效地连接到一块了。
使用共享中断时,必须要考虑的是:当两个或更多的中断信号同时产生或相继产生时,会出现什么样的状况?如果不能很好处理的话,就有可能丢失中断信号以及锁定中断线。共享边缘触发中断比较复杂。如果两个中断信号同时产生或相继产生,中断控制器就会只收到一个中断信号。要避免丢失中断信号,中断服务程序必须在离开当前命令行外壳之前检查所有中断资源。
共享中断的最简单方式,就是使用电平触发中断类型。这种方式很安全,例如,如果两个中断请求同时要求中断服务,只能处理其中一个,这时中断线不会锁住,仍然能有效工作。而另一个中断请求会照常产生,等待处理。
转载请注明原文地址:https://jikaoti.com/ti/iJI7FFFM
0

相关试题推荐
随机试题
最新回复(0)