资讯详情

外设访问控制方法、装置与系统

具体实施方式

为了使本发明的目的、技术方案和优势更加清晰,本发明将结合实施方法和附图进一步详细说明。本发明的示意实施方法及其说明用于解释本发明,但不限于本发明。

本发明实施例提供了外部访问控制方法、设备和系统。本实施例中的处理器连接多个不同速度的外设,通过实时监控外设的工作状态来控制外设的访问:当外设正在读写时,禁止处理器发出下一个操作命令;当外设完成操作时,允许处理器发出下一个操作命令。这样可以提高处理器对各种不同速率外设的访问效率。结合附图详细说明本发明的具体实施方法。

图1是本发明实施例的系统原理图。如图1所示,本发明实施例的系统包括处理器10、连接处理器10的多个外设20、连接处理器10和多个外设20的外设访问控制装置30。外设访问控制装置30包括:控制信号接收单元301,用于接收处理器发出的控制信号;外设信号接收单元302,用于接收外设发出的响应信号;当控制信号为外设的操作命令时,禁止处理器发出下一个操作命令;当响应信号为操作完成信号时,允许处理器发出下一个操作命令。

在本实施例的具体实施模式中,处理器控制单元303禁止或允许处理器10通过设置处理器10访问控制管脚发出下一个操作命令。由于处理器类型的不同,访问控制管脚不同。如,PowerPc处理器中的UPMWAIT对外设的访问控制可以实现。在PowerPC当管脚有效时,发起一次读写操作UPM控制总线状态保持不变(UPM状态定),此时外设将保持当前的工作状态,处理器不会发起下一个操作命令;直到UPMWAIT这种保持不变的状态只有在无效时才能解除(UPM此时,处理器可以继续对外设发起下一个操作命令。

在本实施例的另一个具体实施模式中,外设操作完成信号为READY信号。大多数芯片都在接收处理器(CPU)当通过控制总线发出的命令准备某项操作或已完成某项操作时,会给出一个READY信号意味着你已经准备好了CPU所需的操作或已完成CPU所需的操作。如DSP的HRDY信号。每个芯片写作过程中,每个芯片都以不同的信号命名READY发出信号的阶段和意义也可能不同,但其主要功能是相同的。

无法给出READY本发明实施例外设访问控制装置30处理器控制单元303的低速芯片,也用于在等待时间内未收到外设20的响应信号(如READY当处理器10发出下一个操作命令时,处理器10发出下一个操作命令。为了适应不同速率的外设,外设访问控制装置30还包括:根据不同外设的接口速率设置不同的等待时间。

图2为本发明实施例外设访问控制方法流程图。如图2所示:

步骤S外设访问控制装置30接收处理器发出的控制信号;

步骤S202.外设访问控制装置30分析接收到的控制信号,判断是否有外设片选信号和阅读/编写操作命令;如果是,进入步骤S203,否则返回步骤S继续接收处理器的控制信号;

步骤S203.如果接到外设的操作命令,则设置处理器的访问控制管脚(如果将UPM总线的UPMWAIT管脚设置为有效)保持控制总线的状态不变,以保持外设当前的工作状态,禁止处理器发出下一个操作命令;

步骤S204接收外设的响应信号,如READY该响应信号可以提供外设对处理器发出的操作命令的执行状态,并接收到它READY信号表示外设已准备好执行操作或表示外设已完成操作,对不同类型的外设也可能有其他类型的响应信号;

步骤S205,判断是否收到外设操作完成信号,如果收到,则进入步骤S如果207没有收到,则进入步骤S206;

步骤S206年,如果未收到响应信号,芯片可能无法提供响应信号,为芯片设置等待时间,判断是否达到预设等待时间;如果到达,则进入步骤S207;如果没有,继续返回步骤S204接收外设返回的响应信号;

步骤S207.如果达到预设等待时间,则判断外设已完成操作。此时,允许处理器访问外设,即允许处理器发出下一个操作命令。

下面以一个实际的例子来详细说明本发明实施例的具体实现方式。

图3是本发明实施访问控制系统的实际原理图。如图3所示,本实施例的处理器为PowerPc,外部访问控制装置为CPLD,通过在CPLD实现中构状态机CPLD逻辑功能。外设D1、D2以及Dn的READY分别引入信号CPLD,经过CPLD在适当的时候输出当的时候输出UPMWAIT信号,对PowerPCUPM总线的UPMWAIT控制信号,以提高访问效率。

图3中PowerPC的UPM总线的控制总线分别与CPLD连接所需操作的外设芯片,以便CPLD可以从各种外围芯片接收PowerPC发出的控制命令。而PowerPC的数据总线和地址总线与各外围芯片连接,满足外围芯片时序要求的情况下,配合控制总线,可将想要写的数据写入外围芯片特定的地址上去或从外围芯片上指定的地址读出想要的值。

图4为本发明实施例CPLD构建构建的状态机示意图。图4中的状态机分别控制读写过程,可以在CPLD用硬件描述语言编程。以读取过程中的状态机为例:状态机在未收到控制指令时保持在状态机上IDLE状态下,当CPLD接到读写命令后,分别进入相应状态。接到阅读命令后,即进入Read_wait状态,等待设定的时间A,在此期间,如果等待芯片READY当信号到来时,它立即进入Read_nop状态,读取操作,当读取操作完成时,READY当信号消失时,进入Read_out状态。在Read_out状态无其他触发条件,等待时间C后返回IDLE状态。状态机通过完整的读取过程。

为了避免出现异常状态,需要做好逃逸处理。每个状态都有等待时间。等待加班后,无论是否有触发条件,都进入加班触发的下一个状态,以避免状态机在同一状态下停滞。Read_wait和Read_nop超过设定时间的状态等待将自动转换为下一个状态。

在整个状态机中,UPMWAIT进入状态机OUT状态(如图4所示Read_out或Write_out状态)UPMWAIT管脚无效,UPM状态解除,允许下一次访问;在状态机的其他状态下UPMWAIT管脚有效,UPM锁定状态,保持当前操作状态不变。

读写高速设备时,高速设备可以快速准备或快速完成操作,并发出READY状态机接收信号READY信号立即进入下一个状态,并迅速到达Read_out状态,此时释放UPMWAIT信号,回到IDLE状态,PowerPC的UPMWAIT下一个操作命令可以发出信号解除,此时,以继续高速访问外设,保证访问效率。

同样,在低速设备进行访问的时候,由于其处理速率相对较慢,READY信号会在很长一段时间内到来,此时UPMWAIT信号保持有效,PowerPC在设备完成运行之前,发出的命令不会消失READY信号使状态机进入OUT状态,这时UPMWAIT信号消失了,允许PowerPC发出下一个指令。这样,低速设备的时间顺序要求就会动态降低访问速率。为了保持各种速率设备的高访问效率。

芯片写操作的时间序列中,芯片可能会在不同的阶段给出READY不同的芯片在时间顺序上也有不同的信号。可根据具体需要在场UPM增加或减少状态机状态数,改变各状态的等待时间,以满足不同的时间要求。无法给出READY低速芯片的信号也可以计算等待时间,等待超时退出以满足时序要求。

本发明的实施例于多个不同速率的外围芯片UPM总线下访问效率低的问题提出了设计方案。使用需要控制的外围芯片READY信号对UPM总线的UPMWAIT功能进行控制,达到动态调节访问速率从而提高访问效率的目的。具体实施步骤如下:

第一步:在绘制硬件原理图的阶段,将外围芯片连接到UPM总线下,包括数据总线、地址总线和控制总线,以及外围芯片READY信号管脚分别引入CPLD的各个I/O管脚,将PowerPC的UPMWAIT管脚与CPLD的一根I/O管脚相连CPLD这些信号可以处理。

第二步:根据每个外围芯片芯片数据规定的顺序关系和相关技术参数,规划状态机的状态和等待时间,然后用硬件描述语言实现设计的状态机,烧写CPLD。

第三步:调试生成的板卡,以确保每个速率的外围芯片能够正确访问。测试访问效率是否能达到预期状态。如果有问题,请重复步骤2,修改状态机后再次测试。

除PowerPC外,其他CPU也有类似UPMWAIT本发明实施例的状态机可以有效地访问和控制多个外部芯片,如功能响应信号ARM内核处理器S3C2410总线控制器部分nWAIT引脚,IDT的79RC323系列MIPS内核信芯片WAITACKN的引脚等,在权利要求的保护范围内求的保护范围内。

本发明实施例的方法通过实时监测外设的工作状态来控制所述处理器对多个外设的访问,解决了系统总线对多个不同速率外设进行访问时效率不高的问题。当系统总线下连接多个不同速率的外设时,处理器在接收到当前访问外设发送的操作信号时启动下一个操作命令。这种处理方法使处理器对高速外设采用较高的访问速率,对低速外设采用较低的访问速率,使访问速率能够根据外设速率动态调整,在系统总线连接多个不同速率的外设时保持较高的访问效率。

本发明的实施例可以通过PowerPC的UPMWAIT支持不同速率的外围设备,提高访问效率。UPM总线可以由用户定制控制时序的特性,应用广泛。只要使用UPM本发明适用于总线和操作多个设备,以提高外围芯片的访问效率和UPM总线利用率。

上述具体实施方法进一步详细说明了本发明的目的、技术方案和有益效果。需要理解的是,上述只是本发明的具体实施方法,不限制本发明的保护范围。本发明的精神和原则内的任何修改、替换和改进都应包含在本发明的保护范围内。

标签: 固态继电器s203zl

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台