计算机控制系统的硬件,除主机外,通常还包括两类外围设备,一类是常规外围设备,如键盘、CRT显示器、打印机、磁盘机等;另一类是被控设备和检测仪表、显示装置、操作台等。外围设备种类繁多,有机械式、机电式和电子式;有的作为输入设备、有的作为输出设备;工作速度不一,外围设备的工作速度通常比CPU的速度低得多,且不同外围设备的工作速度又差别很大;信息类型和传送方式不同,有的使用数字量,有的使用模拟量,有的要求并行传送信息,有的要求串行传送信息。因此,仅靠CPU及其总线是无法承担上述工作的,必须增加I/O接口完成外围设备与CPU的总线相连。接口是计算机控制系统不可缺少的组成部分。
所谓接口(Interface)是指微处理器CPU与外部设备、存储器或者两种外部设备之间通过系统总线进行连接的逻辑电路,它是CPU与外界进行信息交换的中转站。
一个简单的、基本的外设接口框图如图5-3所示。接口通过三总线(DB数据总线、AB地址总线、CB控制总线)与CPU连接,外设通过接口与CPU连接。
图5-3 外设接口简单框图
与CPU进行数据信息、控制信息和状态信息的交换。
一、接口传输信号的种类
在微机控制系统或微机系统中,主机和外围设备间所交换的信息通常分为数据信息、状态信息和控制信息三类,如图5-3所示。
1.数据信息
数据信息是主机和外围设备交换的基本信息,通常是8或16位的数据,它可以用并行格式传送,也可以用串行格式传送。数据信息又可以分为数字量、模拟量、开关量和脉冲量。
数字量是指由键盘、磁盘机、拨码开关、编码器等输入的信息,或者是主机送给打印机、磁盘机、显示器、被控对象等的输出信息。它们是二进制码的数据或是以ASCII码表示的数据或字符(通常为8位的)。
模拟量是来自现场的温度、压力、流量、速度、位移等物理量,也是一类数据信息。一般通过传感器将这些物理量转换成电压或电流,电压和电流仍然是连续变化的模拟量,要经过A/D转换变成数字量,最后送入计算机;反之,从计算机送出的数字量要经过D/A转换,变成模拟量,最后控制执行机构。所以模拟量表示的数据信息都必须经过变换才能实现交换。
开关量表示两个状态,如开关的闭合和断开、电动机的启动和停止、阀门的打开和关闭等。这样的量只要用一位二进制数就可以表示。
脉冲量是一个一个传送的脉冲列,脉冲的频率和脉冲的个数可以表示某种物理量。如检测装在电动机轴上的脉冲信号发生器发出的脉冲,可以获得电动机的转速和角位移数据信息。
2.状态信息
状态信息是外围设备通过接口向CPU提供的反映外围设备所处的工作状态的信息,它作为两者交换信息的联络信号。输入时,CPU读取准备好(READY)状态信息,检查待输入的数据是否准备就绪,若准备就绪,则读入数据,未准备就绪就等待;输出时,CPU读取忙(BUSY)状态信息,检查输出设备是否已处于空闲状态,若为闲状态则可向外围设备发送新的数据,否则等待。
3.控制信息
控制信息是CPU通过接口传送给外围设备的。控制信息随外围设备的不同而不同,有的控制外围设备的启动、停止;有的控制数据流向,控制输入还是输出;有的作为端口寻址信号等。
课程思政案例五
二、数据传送的控制方式
在计算机的操作中最基本和最频繁的操作是数据传送,在微机系统中,数据主要在CPU、内存和I/O接口之间传送。外围设备种类繁多,它们的功能不同,工作速度不一,与主机配合的要求也不相同。CPU采用分时控制,每个外围设备只在规定的时间片内得到服务。为了使各个外围设备在CPU控制下成为一个有机的整体,协调、高效率、可靠地工作,就要规定一个CPU控制(或称调度)各个外围设备的控制策略,或者叫作数据传送的控制方式。
通常采用的有三种控制方式:程序控制方式、中断控制方式和直接存储器存取(DMA)方式。在进行微机控制系统设计时,可按不同要求来选择各外围设备的控制方式。
1.程序控制方式
程序控制I/O方式,是指CPU和外围设备之间的信息传送,是在程序控制下进行的。它又可分为无条件传送方式和查询传送方式。
1)无条件传送方式
所谓无条件传送方式是指CPU不必查询外围设备的状态即可进行信息的传送,即在此种方式下,外围设备总是处于就绪状态,如开关、LED显示器等。一般它仅适用于一些简单外围设备的操作。
无条件传送方式的工作原理如图5-4所示。CPU和外围设备之间的接口电路通常采用输入缓冲器和输出锁存器,由地址总线和信号端经地址译码器译出所选中的I/O端口,用、信号决定数据流向。
图5-4 无条件传送方式
外围设备提供的数据自输入缓冲器接入。当CPU执行输入指令时,读信号有效,选择信号处于低电平,因而按端口地址译码器所选中的三态输入缓冲器被选通,使已准备好的输入数据经过数据总线读入CPU。CPU向外设输出数据时,由于外设的速度通常比CPU的速度慢得多,因此输出端口需要加锁存器,CPU可快速地将数据送入锁存器锁存,然后去处理别的任务,在锁存器锁存的数据可供较慢速的外围设备使用,这样既提高了CPU的工作效率,又能与较慢速外围设备的动作相适应。CPU执行输出指令时,和信号有效,CPU输出的数据送入按地址译码器所选中的输出锁存器中保存,直到该数据被外围设备取去,CPU又可送入新的一组数据,显然第二次存入数据时,需确定该输出锁存器是空的。
2)查询传送方式
查询式I/O方式,也称为条件传送方式。按查询传送式,CPU和外围设备的I/O接口除需设置数据端口外,还要有状态端口。查询式I/O接口电路原理框图如图5-5所示。
图5-5 查询传送方式
状态端口的指定位表明外围设备的状态,通常只是“0”或“1”的两状态开关量。交换信息时,CPU通过执行程序不断读取并测试外围设备的状态,如果外围设备处于准备好的状态(输入时)或者空闲状态(输出时),则CPU执行输入指令或输出指令,与外围设备交换信息,否则,CPU要等待。当一个微机系统中有多个外围设备采用查询传送方式交换信息时,CPU应采用分时控制方式,逐一查询,逐一服务,其工作原理如下:每个外围设备提供一个或多个状态信息,CPU逐次读入并测试各个外围设备的状态信息,若该外围设备请求服务(请求交换信息),则为之服务,然后清除该状态信息;否则,跳过,查询下一个外围设备的状态。各外围设备查询完一遍后,再返回从头查起,直到发出停止命令为止。
从原理上看,查询传送式比无条件传送方式可靠,接口电路简单,不占用中断输入线,同时查询程序也简单,易于设计调试。由于查询传送方式是通过CPU执行程序来完成的,因此各外设的工作与程序的执行保持同步关系,特别适用于多个按一定规律顺序工作的生产机械或生产过程的控制,如组合机床、自动线、温度巡检、定时采集数据等。
但是在查询式I/O方式下,CPU要不断地读取状态字和检测状态字,不管那个外围设备是否有服务请求,都必须一一查询,许多次的重复查询可能都是无用的,且又占去了CPU的时间,效率较低。
数据传送方式的选择必须满足实时控制的要求。对于查询传送方式,满足实时控制要求的使用条件是:“所有外围设备服务时间的总和必须小于或等于任一外围设备的最短响应时间。”
这里所说的服务时间是指某台外围设备服务子程序的执行时间,最短响应时间是指某台设备相邻两次请求服务的最短间隔时间。某台设备提出服务请求后,CPU必须在其最短响应时间内响应它的请求,给予服务,否则就会丢失信息,甚至造成控制失误。最严重的情况是,在一个循环查询周期内,所有外围设备(指一个CPU管理的)都提出了服务请求,均需分别给予服务,因此,就提出了上述必须满足的使用条件。
这种方式一般适用于各外围设备服务时间不太长、最短响应时间差别不大的情况。若各外围设备的最短响应时间差别大且某些外围设备服务时间长,采用这种方式不能满足实时控制要求,就要采用中断控制方式。
2.中断控制方式
为了提高CPU的效率和使系统具有良好的实时性,可以采用中断控制方式。采用中断方式CPU就不必花费大量时间去查询各外围设备的状态,而是当外围设备需要请求服务时,向CPU发出中断请求,CPU响应外围设备中断,停止执行当前程序,转去执行一个外围设备服务的程序,此服务程序称为中断服务处理程序,或称中断服务子程序。中断处理完毕,CPU又返回来执行原来的程序。
微机控制系统中,可能设计有多个中断源,且多个中断源可能同时提出中断请求。多重中断处理必须注意以下四个问题。
1)保存现场和恢复现场
为了不致造成计算与控制的混乱和失误,进入中断服务程序首先要保存通用寄存器的内容,中断返回前又要恢复通用寄存器的内容。
2)正确判断中断源
CPU能正确判断出是哪一个外围设备提出中断请求,并转去为该外围设备服务,即能正确地找到申请中断的外围设备的中断服务程序入口地址,并跳转到该入口。(www.xing528.com)
3)实时响应
实时响应就是要保证每个外围设备的每次中断请求,CPU都能接收到并在其最短响应时间之内给予服务完毕。
4)按优先权顺序处理
多个外围设备同时或相继提出中断请求时,应能按设定的优先权顺序,按轻重缓急逐个处理,必要时应能实现优先权高的中断源可中断比其优先权较低的中断源,从而实现中断嵌套处理。
3.直接存储器存取(DMA)方式
利用中断方式进行数据传送,可以大大提高CPU的利用率,但在中断方式下,仍必须通过CPU执行程序来完成数据传送,每进行一次数据传送,就要执行一次中断过程,其中保护和恢复断点、保护和恢复寄存器内容的操作与数据传送没有直接关系,但会花费CPU的不少时间。当高速外围设备与计算机系统进行信息交换时,若采用中断方式,将会出现CPU频繁响应中断而不能有效地完成主要工作或者根本来不及响应中断而造成数据丢失的现象。采用直接存储器存取(Direct Memory Access,DMA)传送方式可以确保外围设备与计算机系统进行高速信息交换。DMA传送的基本原理如图5-6所示。
图5-6 DMA数据传送方式
DMA传送的工作过程如下:
(1)外围设备向DMA控制器提出DMA申请;
(2)DMA控制器接受外围设备的DMA请求,向CPU发出接管总线控制权的总线请求;
(3)CPU在当前的总线周期结束后,响应DMA请求,并把总线控制权交给DMA控制器;
(4)DMA控制器向外围设备发出DMA应答信号,开始进入DMA传输;
(5)DMA控制器按传输数据的长度直接控制外围设备与存储器进行数据交换;
(6)数据传送操作结束,DMA控制器撤销向CPU发出的总线请求信号,并把总线控制权交给CPU;
(7)CPU恢复对系统总线的控制,即恢复由CPU来发出地址信号、控制信号和数据,并且从被总线请求打断的程序处继续执行程序。
任务实施
步骤一 查阅相关资料
以小组(5~8人为宜)为单位,查阅相关资料或网络资源,学习控制系统的相关知识。
步骤二 观看视频演示
观看连续型多臂机器人视频演示,加深对连续型多臂机器人的认识。
参观实训基地。
步骤三 设计连续型多臂机器人的控制系统方案
小组间进行交流与学习,梳理知识内容,设计连续型多臂机器人的控制系统方案。
连续型多臂机器人控制系统设计方案
控制系统是机器人系统的重要组成部分,其主要作用是对机器人各驱动元器件进行实时控制,实现机器人各驱动组件之间的协调运作,从而使得各部分组件共同完成同一工作。应用于空间抓捕的连续型多臂机器人在对目标进行捕获的过程中,需要具备高的可靠性、操作实时性等特点,因此需要连续型多臂机器人具有较好的协同操作特性,并且能够对每条操作臂进行实时控制。
连续型多臂机器人的总体控制系统示意如图5-7所示。该控制系统由操作人员将PC上位机软件中编写的程序烧写到硬件电路板,其中PC上位机软件与下位机硬件电路板之间利用USB转串口通信的方式实现上、下位机的双向通信,即上位机可以向下位机电路板发送指令信息,同时可以读取下位机电路板反馈的机器人运动状态信息,如电机编码器、拉力传感器等读数,判断机器人运行是否正常;而遥控器则是通过红外通信的方式实现对下位机电路板的单向通信,即由操作者利用遥控器对下位机电路板单向发送指令信息,实现对机器人的电机调试及机器人的轨迹指令。
图5-7 连续型多臂机器人总体控制示意
一、控制系统硬件方案设计
机器人控制系统的硬件是指控制系统中的电子元器件与设备,一般为控制芯片、外围电路、电源、显示屏、指示灯与蜂鸣器等电子元器件。控制系统的硬件是实现机器人运动控制的载体,应首先对机器人系统的硬件系统进行设计。该机器人系统共有33个驱动电机,驱动电机的数量较多,为了控制的简便性与可靠性,采用串行通信的方式对电动机进行控制。串行通信就是将所有驱动电机连接在一条控制总线上,在进行通信时将控制指令逐位依次传输发送至电动机驱动器。串行通信速率较低,而该机器人系统对运动速度要求较低,故串行通信可以满足控制需求。
CAN通信是目前应用最广泛的现场总线方式之一,这种通信方式具有实时性强、成本低廉等优点,并且可以满足双向实时通信的要求,得到广泛的应用。故该机器人控制系统采用CAN通信实现对驱动电机的控制。
在对下位机嵌入式硬件电路进行设计时,首先根据控制需求选择嵌入式硬件电路所需的芯片。ARM公司的stm32芯片具有较多外围设备接口,该芯片结构简单,易于操作,集成度高,功耗低,且成本低廉,在工业上获得较为广泛的应用,故采用此芯片作为机器人控制系统嵌入式下位机硬件电路的主控芯片。采用的芯片型号为STM32F407ZGT6,该芯片包含较多的定时器、串口、IO口等外围设备接口,能够满足复杂的控制功能需求与较高的实时通信速率。该主控芯片通过ADC模块将拉力传感器采集的电压模拟量转换为拉力值的数字信号,通过CAN通信实现电动机驱动器的数据发送与采集,通过USB串口与上位机进行数据交换。按照功能将控制系统分为若干个模块,各功能模块示意如图5-8所示。
图5-8 机器人功能模块示意
二、控制系统软件设计
控制系统软件的功能是将运动控制算法所规划的机器人运动轨迹点转换为机器人驱动元件的控制量,保证每个驱动元件实现精确的运动量,从而实现机器人末端执行模块的期望运动轨迹,最终完成期望任务。
控制系统的下位机软件主要是将上位机软件发送的离散数据信息进行插值计算,并将其发送给电动机驱动器实现对电动机的控制,其主要包括遥控任务、串口通信任务、电动机驱动任务和传感器采集任务等。遥控操作任务是操作人员对机器人进行控制的重要环节,其任务内容是通过遥控器对下位机软件发送操作指令,使机器人执行下位机软件中相应的任务。电动机驱动任务主要是将上位机发送的离散轨迹点所对应的电动机转角进行插值计算,通过三次样条插值得到连续平滑的电动机转角曲线,进而将这些电动机转角通过硬件电路发送给电动机驱动器实现对电动机的控制,使得电动机连续平稳的旋转,从而实现对操作臂稳定的控制。除此之外,下位机软件还需要通过ADC转换模块,将拉力传感器采集的电压量转换至拉力值,实时监测驱动绳索的拉力大小,通过驱动绳索的松紧程度判断操作臂的运动是否正常。
下位机软件的整体程序框图如图5-9所示,在机器人执行任务时,首先需要利用上位机或者遥控操作对下位机软件发送指令进行系统初始化操作,包括电路板资源、控制任务、传感器采集任务和显示任务等进行初始化。初始化任务完成后,下位机软件对电动机控制量进行读取与插值计算,然后通过CAN总线将电动机控制量发送给电动机驱动器,同时将电动机编码器反馈的实际位置通过CAN总线反馈至下位机软件,对期望位置与实际位置进行对比,判断电动机是否达到期望位置,若实际位置不满足要求,则进行故障提醒及清除。在电动机实际位置正确的前提下,判断电动机轨迹是否运行完毕,直到所有轨迹正确运行完成,则该任务完成,本次任务结束。
图5-9 下位机软件控制程序流程图
任务评价
续表
拓展阅读五
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。