一种多通道可编程PS2接口无人机系统按键译码器的制作方法

文档序号:11948924阅读:366来源:国知局
一种多通道可编程PS2接口无人机系统按键译码器的制作方法与工艺

本发明属于无人机电子技术,涉及一种无人机系统多通道可编程PS2按键译码装置。



背景技术:

按键译码器是将非编码独立按键或者矩阵按键转化为具有多路PS2接口标准键盘的设备,可被应用于工业控制、视频监控、以及无人机系统等众多领域。目前,公知的按键译码设备都是按键键码固化的专用设备,不能够根据使用要求更改而改变按键的键码值,当应用到新的使用要求时,需重新设计按键译码设备,因此不具有通用化的特点。已公知的专利(专利200610132019.7和200510100145.X)是用于嵌入式系统装置(例如手机)的按键识别,无法实现与PC中的PS2接口直接连接,同时每个按键的键码是固定的无法更改,并且与处理器或计算机连接的接口只有一个,无法满足无人机多机控制系统中需要使用单组按键同时控制多台控制计算机,根据需要可在线更改键码等要求,因此无法在无人机系统中应用。



技术实现要素:

本发明解决的技术问题是:为了克服现有的按键译码装置不能通用化以及不能够同时控制多台计算机的缺点,本发明设计出了一种能够通过指令接口发送指令改变按键所对应键码值的译码设备,同时针对单组按键控制多台计算机的使用要求,本装置设计有多PS2接口,根据指令接口接收到的指令来设置单个或者多个PS2接口输出,满足无人机多机控制系统的使用要求。

本发明的技术方案是:一种多通道可编程PS2接口无人机系统按键译码器,其特征在于,包括按键接口电路2、指令译码电路3、指令接收电路6、数据回传电路7、键码存储电路8和若干PS2接口电路;键码存储电路8中用于存储按键类型、PS2输出通道和键码值三类设置信息;上电工作时,指令译码电路3先从键码存储电路8中将按键模式、PS2输出通道和键码值信息读入指令译码电路3的内存中;当有按键按下时,按键接口电路2接收来自外部的按键信号后,传入指令译码电路3;指令译码电路3将接收的按键信号和指令译码电路3内存中存储的按键类型和键码信息进行比对,从而确定当前按键信号对应的键码值;按照内存中存储的PS2输出通道设置信息,将键码值经设置的PS2接口电路按照公知的PS2传输协议传入其相对应的被控计算机;同时,当外部控制设备9发送查询指令时,指令译码电路3会将内存中保存的按键模式、PS2输出通道和键码值设置信息经回传数据电路7传入外部控制设备9进行显示;当需要改变按键模式、PS2输出通道或键码值设置信息时,外部控制设备9经指令接收电路6和指令译码电路3按照约定的通信协议将改变信息的指令传入键码存储电路8中;在不重新上电的情况下,指令译码电路3仍按照内存中所保存的按键类型、PS2输出通道和键码值设置信息进行工作,当重新上电时,指令译码电路3先从键码存储电路8中将新的按键模式、PS2输出通道和键码值信息读入指令译码电路3的内存中,本设备将会按新的设置信息进行工作。

本发明的进一步技术方案是:所述键码存储电路8是一种串行通信的EEPROM芯片型号是24C02,其A0端、A1端、A2端和GND端均接地;VCC端和外界的VCC端相连;WP端接地;SDA端和指令译码电路3的I2C接口输入端P3.1相连;SCL端和指令译码电路3的I2C接口输出端P3.0相连。需要说明的是,I2C的通信体制和编程方法是公知的。

本发明的进一步技术方案是:所述指令接收电路6为MAX3232芯片中的RS232信号接收器,数据回传电路7为MAX3232芯片中的RS232信号发送器;指令接收电路6的输入端与外部控制设备相连接,输出端与指令译码电路3上的UxRXD0端口相连接;数据回传电路7的输入端与指令译码电路3上的UxTXD0端口相连接,输出端与外部控制设备相连接。

本发明的进一步技术方案是:所述指令译码电路3为430系列单片机。

本发明的进一步技术方案是:按键接口电路2若连接非编码独立按键,引脚顺序连接指令译码电路3的IO管脚P1.0~1.7和P2.0~2.7,最多可接入16个非编码独立按键;若连接非编码矩阵按键,行向量引脚连接指令译码电路3的IO管脚P1.0~P1.7,列向量引脚连接指令译码电路3的IO管脚P2.0~P2.7,最多可接入8行×8列,即64个非编码矩阵按键。

发明效果

本发明的技术效果在于:由于采用了以单片机为核心的最小应用系统,设计了控制接口,外部控制设备9可以通过控制接口向设备发送指令更改按键对应的按键类型和键码信息,适用于非编码的独立按键和矩阵按键,并具有按键键码可更改的功能,具有很好的通用性。同时多PS2接口设计即能实现单组按键对单台计算机的控制也实现能够单组按键同时控制多台计算机,满足无人机系统多机控制的需要。

附图说明

图1是本发明的示意图;

图2是键码存储电路示意图。

附图标记说明:1-外部非编码独立按键或矩阵按键,2-按键接口电路,3-指令译码电路,4-PS2接口电路1,5-PS2接口电路2,6-指令接收电路,7-数据回传电路,8-键码存储电路,9-外部控制设备,10-外部被控计算机1,11-外部被控计算机2

具体实施方式

下面结合具体实施实例,对本发明技术方案进一步说明。

参见图1-图2,本装置包括按键接口电路2、指令译码电路3、PS2接口电路1 4、PS2接口电路2 5、指令接收电路6、数据回传电路7和键码存储电路8。所述按键接口电路为按键的接口电路。输入端为外部单个按键或矩阵按键,输出端连接指令译码电路3的P1.0~P1.7和P2.0~2.7接口。所述指令译码电路3为公知的430系列单片机最小应用系统,能够接收由异步串行数据接收端(UxRXD0)传输的控制指令,外部控制设备9通过软件,根据约定的控制指令帧格式及指令码,用帧内容的判决方法识别出按键类型、控制模式和键码设置信息,并将这些信息保存在键码存储电路8中,所保存的信息能够断电后不丢失。需要说明的是,所述的软件为串口通信软件,能从网上直接下载到或用公知的方法进行开发;键码存储电路8中保存的按键类型、控制模式和键码设置信息只能通过经接收由异步串行数据接收端(UxRXD0)传输的控制指令进行更改。此外指令译码电路3可根据控制指令按照约定的格式,通过异步串行数据发送端(UxTXD0)向外部控制设备9发送当前工作的按键类型、控制模式和键码设置信息的数据。上电工作时,指令译码电路3先从键码存储电路8中将按键模式、PS2输出通道和键码值信息读入指令译码电路3的内存中。如果按键类型设置为独立按键,指令译码电路3周期性采集P1.0~P1.7和P2.0~2.7接口的按键信号,当未有按键按下时,指令译码电路3采集的P1.0~P1.7和P2.0~2.7接口信号全为低电平,当有按键按下时,按键所对应的接口信号为高电平,获得按键所对应的按键信息,同时根据指令译码电路3内存中的控制模式信息,将按键信息按照公知的标准PS2通信接口协议通过单片机的GPIO端口将按键信息发送给对应的PS2接口电路。如果按键类型设置为矩阵按键,指令译码电路3会将P1.0~P1.7设置为输入,默认状态为低电平,将P2.0~P2.7设置为输出,默认状态为高电平,指令译码电路3周期性采集P1.0~P1.7按键信号,当有按键按下时,指令译码电路3采集的P1.0~P1.7信号按键对应的信号为高电平,从而知道矩阵按键中哪行有按键按下,然后指令译码电路3会将P1.0~P1.7设置为输出,默认状态为高电平,将P2.0~P2.7设置为输入,默认状态为低电平,指令译码电路3采集的P2.0~P2.7信号按键对应的信号为高电平,从而知道矩阵按键中哪列有按键按下,最终得知矩阵按键中哪个按键被按下,指令译码电路3会将采集到按键信号与指令译码电路3内存中的键码设置信息进行比对,获得按键所对应的按键信息,同时根据键码存储电路8中所保存的控制模式信息,将按键信息按照公知的标准PS2通信接口协议通过单片机的GPIO端口将按键信息发送给对应的PS2接口电路。所述控制指令接收电路6为RS232信号接收器。控制指令进入RS232信号接收器,从其输出端进入指令译码电路3的异步串行数据接收端。所述的PS2接口电路1用于与外部被控制计算机连接,输入端为指令译码电路3的P4.0和P4.1脚位,输出端接外部被控制计算机。所述的PS2接口电路2用于与外部被控制计算机连接,输入端为指令译码电路3的P4.2和P4.3脚位,输出端接外部被控制计算机。所述指令接收电路6为RS232信号接收器。输入端接外部控制设备9,输出端接指令译码电路3的UxRXD0引脚。所述数据回传电路7为RS232信号发送器。输入端接指令译码电路3UxTXD0引脚,输出端接外部控制设备9。所述的键码存储电路8为数据存储电路。输入端和连接指令译码电路3的P3.0引脚,输出端连接指令译码电路3的P3.1引脚。所述键盘接口电路2为非编码独立按键或者矩阵按键的接口电路。输入端为外部非编码独立按键或矩阵按键,输出端连接指令译码电路3的P1.0~P1.7和P2.0~2.7接口,最多16个独立按键。当输入端为单个按键连接时,最多可连接16个按键,当输入端为矩阵按键时,最多可连接8行×8列个矩阵按键,即64个矩阵按键。

所述指令译码电路3为公知的430系列单片机最小应用系统,能够通过异步串行数据接收端(UxRXD0)接收指令接收电路6传输的控制指令控制指令,通过软件根据约定的控制指令帧格式及指令码,用约定的判决方法识别出不同的按键设置码,需要说明的是,其中所述的约定的协议和判决方法见专利201510197173.1,即:约定的协议为通信协议,每个数据帧长度为66个字节,以十六进制数据“0x EB 0x 90”为数据帧头,数据帧头后第1个字节为按键类型,使用十六进制数据0x55表示非编码独立按键,十六进制数据0xAA表示非编码矩阵按键;数据帧头后第2个字表示通过那个或那几个PS2通道输出,本字节用低4位表示,每位中0表示不输出,1表示输出,例如0x01表示仅PS1口有输出,0x02表示仅PS2口输出,0x03表示PS1口和PS2口都有输出;若为非编码独立按键,数据帧头后从第3个字节到第10个字节依次代表连接P1.0~P1.7引脚按键的键码值,数据帧头后从第11个字节到第18个字节依次代表连接P2.0~P2.7引脚按键的键码值,数据帧头后第19个字节到第66个字节均为“0x00”;若为非编码矩阵按键,连接P1.0~P1.7引脚按键是矩阵按键的行向量,连接P2.0~P2.7引脚按键是矩阵按键的列向量,形成8(行)×8(列)矩阵,数据帧头后从第3个字节到第10个字节代表连接第一行按键的键码值(如帧头后第3个字节代表第1行第1列的按键的键码值,帧头后第4个字节代表第1行第2列的按键的键码值,依次类推帧头后第10个字节代表第1行第8列的按键的键码值),从帧头后第11个字节到第18个字节依次代表连接第2行按键的键码值,依次类推从帧头后第59个字节到第66个字节依次代表连接第8行按键的键码值。所述的键码值为公知的PC机标准键盘对应的ASCII码值,比如“a”的ASCII码值为0x61,“A”的ASCII码值为0x41。以要将本设备设置为独立按键,仅PS2输出,如果仅设置P1.0所连接的按键对应输出a,P1.3所连接的按键对应输出A为例,则控制指令内容为0xEB 0x90 0x55 0x02 0x61 0x00 0x41 0x00…….,其余不设置的内容默认填写0x00。本设备首先将键码存储电路8中的存储信息清零,然后把除0xEB 0x90外所有内容按照字节顺序保存在键码存储电路8中,当存储成功后本设备会向外部控制设备9的串口通信软件发送的成功标志数据,其内容为字符“OK”。当控制指令帧第3字节为0xFA时,表示外部控制设备9查询本设备当前工作状态,本设备会将内存中所保存的按键模式、PS2输出通道和键码值信息回传给外部控制设备9,回传数据帧格式与控制指令帧格式相同,即帧长为66个字节,“0x EB 0x90”为数据帧头,数据帧头后第1个字节为按键类型,使用十六进制数据0x55表示当前设置为非编码独立按键,十六进制数据0xAA表示当前设置为非编码矩阵按键;数据帧头后第2个字表示通过那个或那几个PS2通道输出,表示方法与控制指令相同,其余字节为各个按键的编码值。

指令译码电路3将设置信息保存在键码存储电路8中。上电工作时,指令译码电路3会从键码存储电路8中读出设置信息到其内存中,然后根据设置信息控制模式是输出单个PS2接口还是输出多个PS2接口来对应数量的计算机。按键类型、键码设置信息和控制模式信息均保存在键码存储电路8中,所保存的信息能够断电后不丢失。按键类型、键码设置信息和控制模式信息只能通过经接收由异步串行数据接收端(UxRXD0)传输的控制指令进行更改。所述的PS2接口电路1用于与外部被控制计算机连接,输入端为指令译码电路3的P4.0和P4.1脚位,输出端接外部被控制计算机。本电路主要将MSP430单片机输出的CMOS电平转化为标准PS2接口使用的TTL电平。

所述的PS2接口电路2用于与外部被控制计算机连接,输入端为指令译码电路3的P4.2和P4.3脚位,输出端接外部被控制计算机。本电路主要将MSP430单片机输出的CMOS电平转化为标准PS2接口使用的TTL电平。

所述指令接收电路6为RS232信号接收器。输入端接外部控制设备9,输出端接指令译码电路3的UxRXD0引脚,即P3.5引脚。

所述数据回传电路7为RS232信号发送器。输入端接指令译码电路3的UxTXD0引脚即P3.4引脚,输出端接外部控制设备9。

所述的键码存储电路8为数据存储电路。输入端和输出端连接指令译码电路3的P3.0、P3.1引脚。

相比现有技术本专利的创新点有以下几点:(1)现有技术键盘接口电路连接为固定的非编码独立按键或者固定的非编码矩阵按键,不能两者兼容;本专利键盘接口电路可以兼容非编码独立按键或者非编码矩阵按键两种控制方式。

(2)现有技术按键的键码固化,不能够根据使用要求更改而改变按键的键码值;本专利可以根据实际工作需要改变按键的键码值。

(3)由于现有技术的键盘接口电路和按键的键码固定化,所以其无存储功能;本专利由于可以改变按键方式和按键的键码值,所以有所选用的控制信息和按键的键码值具有存储功能,改变后自动存储,仅需上电重新启动即可按改变后的工作方式进行工作。

(4)现有技术键盘接口电路与计算机通过1路PS2是一对一的控制关系,而本专利键盘接口电路与计算机可以一对一的控制关系,也可以一对二的控制关系。

本发明的工作过程如下:首次输入控制信息和更改控制信息均是通过外部控制设备9的串口通信软件发送给RS232信号接收器,在经过指令译码电路3到存储到键码存储电路8中。在指令译码电路3中,接收“RS232信号接收器”的中断优先级最高,若该中断触发,按键信息无效,装置接收控制信息,并自动存储控制信息,存储成功后会在外部控制设备9的串口通信软件接收本装置发送的成功标志数据,其内容为字符“OK”,这时将设备断电,再重新启动设备时,键码存储电路8中新存入的信息被读入到指令译码电路3的内存中,本装置按照内存中所保存的“按键类型、控制模式和键码设置信息”进行工作。

如果按键类型设置为独立按键,加电工作时,指令译码电路3周期性采集P1.0~P1.7和P2.0~2.7接口的按键信号,当未有按键按下时,指令译码电路3采集的P1.0~P1.7和P2.0~2.7接口信号全为低电平,当有按键按下时,按键所对应的接口信号为高电平,指令译码电路3会将采集到按键信号与内存中保存的键码设置信息进行比对,获得按键所对应的按键信息,同时根据内存中所保存的控制模式信息,将按键信息按照公知的标准PS2通信接口协议通过单片机的GPIO端口将按键信息发送给对应的PS2接口电路。如果按键类型设置为矩阵按键,加电工作时,指令译码电路3会将P1.0~P1.7设置为输入,默认状态为低电平,将P2.0~P2.7设置为输出,默认状态为高电平,指令译码电路3先周期性采集P1.0~P1.7按键信号,当有按键按下时,指令译码电路3采集的P1.0~P1.7信号按键对应的信号为高电平,从而知道矩阵按键中哪行有按键按下,然后指令译码电路3会将P1.0~P1.7设置为输出,默认状态为高电平,将P2.0~P2.7设置为输入,默认状态为低电平,指令译码电路3采集的P2.0~P2.7信号按键对应的信号为高电平,从而知道矩阵按键中哪列有按键按下,最终得知矩阵按键中哪个按键被按下,指令译码电路3会将采集到按键信号与内存中保存的键码设置信息进行比对,获得按键所对应的按键信息,同时根据内存中所保存的控制模式信息,将按键信息按照公知的标准PS2通信接口协议通过单片机的GPIO端口将按键信息发送给对应的PS2接口电路。

当需要更改按键类型、控制模式和键码设置信息时,外部控制设备9将控制指令通过指令接收电路6传给指令译码电路3的UxRXD0引脚,当指令译码电路3接收到控制指令时,首先将键码存储电路8中的存储信息清零,然后将新的控制指令的按键类型、控制模式和键码设置信息保存到键码存储电路8中。然后当本设备重新上电时,指令译码电路3就从键码存储电路8将新的按键类型、控制模式和键码设置信息读到内存中,按照新的设置信息开始工作。

当要查询本设备当前所设置的工作状态时,外部控制设备9将查询指令通过指令接收电路6传给指令译码电路3的UxRXD0引脚,当指令译码电路3接收到控制指令时,会将内存中所保存的设置信息按照约定的通信协议,经指令译码电路3的UxTXD0引脚,通过数据回传电路7发送外部控制设备9。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1