输入
出处:按学科分类—工业技术 北京出版社《现代综合机械设计手册下》第2860页(7621字)
4.1.1 光电阅读机的组成和工作原理
光电阅读机是零件加工程序输入的主要设备之一。有的计算机数控系统,其系统程序也用光电阅读机输入。光电阅读机,一般经过零件程序缓冲器将零件程序送入存储器,即光电阅读机→零件程序缓冲器→存储器.这一过程由光电阅读机中断处理程序和输入管理程序予以实现.一次中断只读一个字符,中断信号由中导孔产生。用光电阅读机输入零件加工程序一般有两种工作方式:一是边读边加工,这时光电阅读机为间歇工作方式;另一种是一次将零件加工程序读入计算机内存,加工时再由存储区逐段调出。
光电阅读机的组成原理如图8.5-35所示。主要由光源、透镜、光敏二极管、主动轮、压轮、启动衔铁、制动衔铁、导向轮等部分组成。光电阅读机启动时,启动衔铁工作,压轮在杠杆作用下向上压住纸带,同时制动衔铁释放,纸带在主动轮带动下前进。制动时,制动衔铁工作,同时启动衔铁释放,主动轮和压轮分离,纸带被制动衔铁压住而停止前进。
启动衔铁和制动衔铁由专门的启停触发器控制。二者始终处于轮流交替工作状态。
从光源发出的光,通过透镜穿过纸带上的孔照射到光敏二极管,经信号放大器放大整形,变成计算机接口线路需要的波形。对应9只光敏二极管,有9个信号放大器,其中有一个为专门接收纸带中导孔信号的放大器。
图8.5-36所示为光电阅读机接口电路原理图。其接口由门电路、D触发器、CC门(集电极开路)、信号放大器组成。其中8个D触发器组成8位缓冲寄存器JA。OC门的输出与总线相连。接口电路的工作过程如下:
当控制机执行启动光电阅读机指令时,接口中的SR信号为“1”,将相应门打开。控制机送出的控制信号S通过控制门产生SSR将触发器CB置“1”.CD清“0”,同时将启停触发器置“1”,光电阅读机工作,纸带前进。纸带信号孔的信号经放大器加到对应缓冲寄存器JA的输入端。与此同时,中导孔信号(脉冲)一方面把纸带信号孔的信号装入JA中,同时又把CB清“0”,CD置“1”,光电阅读机触发器清“0”。制动衔铁工作,启动衔铁释放,纸带停止前进。
CD为“1”表示从光电阅读机读入一行孔的信息已装入JA中。这时通过SR信号向控制机发出中断请求。控制机响应中断后,将JA中的内容读入,并将CB置“1”,CD清“0”,启停触发器置“1”,开始下行孔信号的读入。如果需要停机,则控制机发出C信号,将CB、CD清“0”,启停触发器也清成零态,光电阅读机便停止工作。
图8.5-35 光电阅读机组成原理
1-光源;2-透境;3-光敏二极管;4-主动轮;5-压轮;6-起动衔铁;7-制动衔铁;8-导向轮;9-穿孔纸带;10-启动触发器
图8.5-36 光电阅读机接口电路原理图
4.1.2 键盘的工作原理
键盘是计算机数控系统不可缺少的输入设备。它实际上是一组排列成矩阵形式的按键开关。键盘有全编码和非编码两种基本类型。全编码键盘由硬件逻辑自动提供与被按键对应的ASCⅡ码或其它编码,使用方便;而非编码键盘仅提供行和列的矩阵,按键的编码由程序实现,也可以由一些专用芯片完成其中的一些工作。
计算机数控系统多数采用非编码键盘作为输入设备。使用非编码键盘需解决的问题有:识别键盘矩阵中的被按键;产生与被按键对应的编码;消除键接触时产生的抖动干扰;防止键盘操作的串键错误。
识别被按键有“行扫描”和“线反转”两种方法。行扫描法的基本思想是先进行行扫描,即依次使各行为“0”,然后分别读出列数据,并检查此行是否有键按下(有键按下时为非全“1”数据)。若有键按下,根据行输出,列输入两组数据便可判定按键的位置。如图8.5-37所示,只有行输出为1101时,列输入数据才是非全“1”数据1101,说明有键按下。线反转法也是一种行扫描方法,但需要用PIO接口。其整个过程分两步,如图8.5-38所示。第一步,输出行信号,即通过对PIO编程指定D3~D0为列输入线,D7~D4为行输出线,并使行输出信号D7~D4为0000。若有键按下(如图所示),则与非门的输出(即INT)为1,向CPU申请中断,表示键盘已有键被按下。与此同时,将经列输入线输入的代码1011保存起来。其中的“0”对应着被按键的列位置。第二步,线反转,即对PIO编程,将其输出和输入反转过来(使D3~D0为输出线,D7~D4为输入线),以确定被按键的行位置。这时,代码1011通过D3~D0输出,使D7~D4得到输入0111,D7的“0”表明了被按键的行位置。至此,PIO口D7~D0的代码01111011既包含了被按键的行位置,也包含了被按键的列位置,被按键的位置完全被确定下来。这种方法不需要逐行扫描,因此速度较快,而且键盘控制程序也较简单。但这种方法需要专用的PIO口。
图8.5-37 行扫描原理
图8.5-38 线反转原理
键值即被按键的编码,可以是ASCII码,也可以是别的编码。可以根据具体情况采用不同的方法获得。其中常采用查表法。采用查表法时,需在内存中预先存放编码表。当CPU得到被按键的识别代码后,把识别代码进行适当的运算以得到表地址,然后根据该表地址读出被按键所对应的编码。
键多数为机械开关,手动按键时难免有抖动。去抖动,可以采用硬件方法,也可以采用软件方法。采用RC滤波器和RS触发器是简单有效的硬件去抖动方法,用于键数较少的情况。键数较多时(如多于16个键)通常采用软件去抖动方法。采用延时软件,可延迟一定时间后再检验键的闭合。延时时间一般选为20ms。
操作时,同时按下一个以上键的情况是很难避免的,常把这种情况称为串键。解决串键,可以采用双键同时按下保护、几个键同时按下保护及几个键连锁等方法。
双键同时按下保护方法,对同时按下两个键的情况提供保护。其具体方法是,在没有出现仅一个键闭合之前不从键盘读出,即只有最后保持在按下状态的键才是正确的键。几个键同时按下保护方法,对多于两个键同时按下的情况提供保护。这种方法是在未出现仅一个键保持按下状态以前不理睬所有同时按下的键。对于这种方法,为防止互连短路,需要增加保护二极管。几个键连锁方法,是当一个键被按下时,在此键未完全释放之前,其它键虽可被按下或松开,但并不产生任何代码。
4.1.3 常用的显示器件
常用的有CRT显示器和发光二极管显示器。CRT显示器以CRT为核心器件,通过接口板与微机相连。CRT是电真空器件,由电子枪、偏转系统及荧光屏三部分组成。图8.5-39所示是以高集成度PVC4作为控制器的显示接口板的功能框图。该接口板与显示器的连接方式有直接驱动和复合信号驱动两种。用于8088CPU STD总线微机。各种16位STD总线微机系统都有配套的显示接口板供选用。
图8.5-39 显示接口板功能框图
发光二极管显示器(LED-Light Emitting Diode)具有体积小、功耗低、响应速度快、易于匹配、寿命长和可靠性高等特点,故在计算机数控系统中得到广泛应用。常用的为七段发光管显示器,可用以显示数字、文字或符号,有的还处加一个小数点。其管脚及内部接线如图8.5-40所示,其中图a)为共阴极接法,图b)为共阳极接法。对于共阴极接法的七段发光二极管,当某一阳极有逻辑“1”信号时,该段便发光。在共阳极的情况下,当某一阴极有逻辑“0”信号时,该段发光。为使发光二极管正常工作,必须采取的措施有:采用驱动器为发光二极管提供2~20mA的驱动电流;将BCD码、字母和有关符号转换为相应的七段代码,以便显示需要的字形。转换的对应关系见表8.5-12和8.5-13。
图8.5-40 七段发光二极管显示器的管脚及内部接线图
表8.5-12 二一+进制数的七段表示法
表8.5-15 字母及特殊符号的七段表示法
采用七段发光二极管的显示电路有多种。图8.5-41所示显示电路,是直接将七段发光二极管经锁存器与CPU相连,从BCD码求出显示模型,通过软件查表法完成的。图8.5-42所示显示电路,是在锁存器(74LS273)和共阳极的七段发光二极管显示器之间采用了74LS47芯片。该芯片是BCD-七段发光二极管译码器/驱动器,可完成从BCD码到七段显示字模的转换,并输出驱动发光二极管的电流(150Ω电阻为限流电阻)。图8.5-43所示显示电路,采用将锁存器、译码器和驱动器集中在一起的集成电路模块8T74,可使电路简化,省去三态输出的I/O接口。74LS259用作地址译码器,为译码器/驱动器提供片选信号。如果采取将锁存器、译码器、驱动器、显示器四体合一的集成模块,如HewLett-Pa-ckard-5082-7302(可显示16位),可进一步使电路简化。
图8.5-41 七段发光二极管显示电路1
图8.5-42 七段发光二极管显示电路2
图8.5-43 七段发光二极管显示电路3
4.1.4 盒式磁带机及其接口
Kansas City标准,即磁带记录技术的标准,其要点有:由8个频率为2400HZ的周波表示逻辑“1”;由4个频率为1200HZ的周波表示逻辑“0”;一个字符由一个逻辑0的起始位、7或8个数据位和一个或两个停止位“1”组成;ASCII数据位的次序为最低位在先,最高位在后;在数据块前至少有30s的空闲位(逻辑“1”),数据块结束后至少有5s的空闲位作为间隔;数据的传送速率为300Baud(即每位宽3.33ms)。数据块的内容不作规定。
Intel Hex Format标准,即用来规定数据块结构的标准,其要点是:数据块内的每个记录以冒号(:)开始,以回车和换行符号结束;所有信息用ASCII码表示;数据记录格式为:
字节1 冒号(:)分解符。
字节2-3 规定该记录中的字节数,最多32个ASCII字节。
字节4-5 该记录起始地址的高位字节。
字节6-7 该记录起始地址的低位字节。
字节8-9 记录类型:ASC11“00”。
字节10- 自第10个字节开始为用ASCII码表示的数据字节、一个记录内最多为32个字节。
最后两个字 存放除了分解符,回车和换行符节以外的所有字节的“检验和”,此“检验和”为各二进制字节和的负数。
每一个记录以回车和换行符作为结束标志。
“文件结束”记录格式为:
字节1 冒号(:)分解符。
字节2-3 ASCII“0”。
字节4-5 ASCII“0”。
字节6-7 ASCII“0”。
字节8-9 记录类型01(ASCII0,ASCII1)。
字节10-11 检验和。
图8.5-44所示为接口电路。该电路工作在Z80-CPU、Z80-CTC的环境下。图中的上半部分用于将数据从磁带读入计算机。从J1端输入的脉冲峰—峰值,应为2V左右。输入电平的高低可用U7驱动LED显示器指示。U7的另一部分为限幅、整形电路,为U15提供一不畸变的方波输入。U15的一半与U14的一半组成频率检测器,用以鉴别1200HZ和2400HZ。当U7输出2400HZ脉冲(“1”)时,U14的12脚()输出为“1”:U7输出1200HZ脉冲(“0”)时,U14的12脚输出为“0”。U14的12脚通过三态缓冲器连接到数据总线的D7。CPU读取数据并拼装成ASCII字符,再由程序转换成二进制数。而图中的下半部分,则用于将数据从计算机写入磁带。利用程序设定CTC通道1为定时器工作方式,使ZC1产生4800或2400HZ脉冲,通过U14分频得到2400或1200HZ的脉冲,再经阻容滤波滤去其中的高频分量,即可接至录音机的Auxi1iary或Microphone输入端。
图8.5-44 磁带机接口电路
在从磁带读入数据的软件中,输入一个记录时,应先检查输入的是否为冒号(;),再按Inte1 HEx格式输入数据,最后检查“检验和”。若正确,则输入下一记录,否则应进行出错处理。从磁带读入数据的流程如图8.5-45所示。
图8.5-45 从磁带读入数据流程
输入字符时,应先检查是否为起始位,再在一位的中间处检查一次(即延时整位一半的时间后进行检查),当确信为起始位后,即可在数据位的中间采样数据(此时延时一位宽度)。对输入的数据进行移位,变为并行,再去掉起始位和停止位。
在将数据写入磁带的软件中,由于磁带记录的“1“和“0”是以不同频率的信号表示的,而不同频率的信号是利用Z80CTC通道1产生的,故需对CTC通道1进行初始化。此外,对要写入磁带的数据块的起始和终了地址也要预先确定,还要建立40s的引导段。向磁带写数据块需先输出冒号,然后将数据块的长度与记录长度(最长为32个ASCII字节)比较。若长,可按Inte1 HEX格式组织数据块并输出;若短,则检查是否是文件的结尾段,若是结尾段,则按文件结束标志输出。图8.5-46所示为将数据写入磁带的流程。
图8.5-46 将数据写入磁带流程
4.1.5 零件程序的输入
零件程序可通过纸带阅读机、磁带机、磁盘机、键盘及串行通信接口,DNC口等输入,下面以纸带阅读机输入和键盘输入为例。纸带阅读机输入使用零件程序缓冲器,而键盘输入使用MDI缓冲器。缓冲器的规模不一,有的只能存放一个数据段,有的可以存放几个数据段。
以上两种方式的输入,一般都采用中断方式,在系统程序中设有相应的中断服务程序(阅读机中断服务程序和键盘中断服务程序),将字符送入缓冲器。从缓冲器到零件程序存储器的传输,是在输入程序控制下进行的。每执行一次阅读机中断服务程序,只读入一个字符。读入的字符并不立即存入零件程序缓冲器,而是在经过一系列检查认为合格后,才存入缓冲器。阅读机中断服务程序框图如图8.5-47所示。其中的打开和停止阅读机,是指是否允许阅读机工作,由软件实现。只有打开阅读机,才能读数并向主机发出中断请求。阅读机读取的字符先存放在阅读机接口的暂存器,主机响应中断后从接口将字符读入内存,经过检验后存入零件程序缓冲器。“EOB”为数据段结束符号,零件程序中的每一个数据段必须以“EOB”符号结束。“M02”表示整个零件程序结束。另外,每个数据段字符数都有一规定值,最多不得超过该规定值。每次读入一个字符,计数器加1,当计数器增加到规定值时,虽仍然读数,但不存入缓冲器。
图8.5-47 阅读机中断服务程序框图
键盘中断服务程序用来将键盘打入的字符存入MDI缓冲器。按一下键,即向主机申请一次中断。其框图如图8.5~48所示。除键盘中断服务程序外,还可设置键盘命令处理程序,用于刀补表输入、刀补表清除、纸带机输入命令、目录显示、程序编辑以及各种命令的判别和处理等。是否进入键盘命令处理程序,由面板的键盘工作方式选择开关决定。
图8.5-48 键盘中断服务程序框图
综上所述,输入部分的功能主要包括:把零件程序经缓冲器输入到零件程序存储器;将零件程序从零件程序存储器再送入缓冲器。从缓冲器取出程序段,是在加工时由译码程序完成的。