著录项信息
专利名称 | 键盘和鼠标输入操作的数据记录和模拟装置及方法 |
申请号 | CN02146481.2 | 申请日期 | 2002-11-12 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-06-02 | 公开/公告号 | CN1501265 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F13/00 | IPC分类号 | G;0;6;F;1;3;/;0;0;;;G;0;6;F;1;2;/;0;4查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地信息产业基地创业路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 龚仲涛;卢旭;杜春海 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 夏宪富 |
摘要
一种键盘和鼠标输入操作的数据记录和模拟系统及方法,该系统是由以单片机为核心的模拟控制装置和由PC机构成的主控计算机所组成;在模拟控制装置的控制电路中,在单片机外围设有可编程逻辑电路、键盘鼠标输入接口、键盘鼠标模拟输出接口、被控计算机电源控制电路和与主控计算机接续的串行通讯接口,所述的可编程逻辑电路分别连接有作为数据缓存器的非易失存储器(NVRAM)、控制键盘、状态指示灯和被控计算机电源控制电路。本发明通过控制软件和硬件的有机结合,可以在各种不同操作系统中记录和模拟键盘和鼠标输入的数据,还可以将记录的数据归类保存,随用随取,为实现电脑安装、配置和测试等多种操作的全面自动化提供了一项有效的技术装备和手段。
1、一种键盘和鼠标输入操作的数据记录和模拟系统,其特征在于:该系统 是由以单片机为核心的模拟控制装置和由PC机构成的主控计算机所组成;所 述的模拟控制装置的控制电路中,在单片机外围设有可编程逻辑电路、键盘鼠 标输入接口、键盘鼠标模拟输出接口、被控计算机电源控制电路和与主控计算 机接续的串行通讯接口,所述的可编程逻辑电路分别连接有:用于存储键盘和/ 或鼠标输入数据的非易失存储器、控制键盘、状态指示灯和被控计算机电源控 制电路;所述的控制键盘中设置有:开始记录、停止记录、开始模拟和串口上 传数据四个自复位控制按键。
2、根据权利要求1所述的键盘和鼠标输入操作的数据记录和模拟系统,其 特征在于:所述非易失存储器的存储容量为32K,该存储器被划分为三个区域: 4个字节的数据区状态标识区,用于标识后面两个存储区里实际存储的数据长 度,其中前两个字节为数据存储区长度=最高字节+次高字节×256,后两个字 节为附加时间存储区长度=次低字节+最低字节×256;30000个字节的数据存 储区,用于分别存储键盘数据包、鼠标数据包和端口转换标识;以及2000个字 节的附加时间存储区。
3、一种键盘和鼠标输入操作的数据记录和模拟系统,其特征在于:该系统 由单片机为核心的模拟控制装置组成,所述的模拟控制装置的控制电路中,在 单片机外围设有可编程逻辑电路、键盘鼠标输入接口、键盘鼠标模拟输出接口 和被控计算机电源控制电路,所述的可编程逻辑电路分别连接有:用于存储键 盘和/或鼠标输入数据的非易失存储器、控制键盘、状态指示灯和被控计算机电 源控制电路;所述的控制键盘中设置有:开始记录、停止记录、开始模拟和串 口上传数据四个自复位控制按键。
4、一种键盘和鼠标输入操作的数据记录和模拟方法,其特征在于:如果要 将键盘和/或鼠标输入数据记录备份时,该方法是由以单片机为核心的模拟控制 装置运行方法和主控计算机运行方法两部分配合完成的,包括下列操作步骤:
(11)模拟控制装置加电后,初始化内部各项设置,同时,主控计算机初 始化内部资源,定义缓存区和内部变量,以及打开或新建一个二进制文件的操 作;接着,模拟控制装置判断被控计算机的键盘和鼠标是否需要初始化,并进 入下述各项循环判断该模拟控制装置各个控制按键状态或从串口接收到的控制 数据的操作过程;
(12)当判断到“开始记录”的控制按键按下或从串口接收到“开始记录” 的控制数据后,该模拟控制装置进入循环记录输入的数据状态;并在键盘和/ 或鼠标发送数据后的中断中,将记录到的键盘和/或鼠标输入的各个数据和数据 间的时间间隔,经过数据运算处理后存入该模拟控制装置内的数据存储区中; 同时,在循环记录的过程中,如果判断到“停止记录”的控制按键按下或从串 口接收到“停止记录”的控制数据后,该模拟控制装置将返回到循环判断其各 个控制按键的状态或从串口接收到的控制数据的操作过程;
(13)当判断到“开始模拟”的控制按键按下或从串口接收到“开始模拟” 的控制数据后,该模拟控制装置进入模拟工作状态,即将其数据存储区中存储 的键盘和/或鼠标的数据流按时间顺序发送到被控计算机的键盘和/或鼠标的输 入接口,并在发送完所有数据存储区中的数据后,返回到循环判断该模拟控制 装置各个控制按键的状态或从串口接收到的控制数据的操作过程;
(14)当判断到“串口上传数据”的控制按键按下或从串口接收到“串口 上传数据”的控制数据后,该模拟控制装置进入与主控计算机串行通信工作状 态:该模拟控制装置自动识别当前数据存储区和附加时间存储区中存储的数据 总容量,并在和主控计算机建立通信链路后,将数据存储区和附加时间存储区 中存储的数据一次全部发送过去,备份存储在主控计算机中;此时,主控计算 机则按照输入命令要求,将从串口接收到的数据存储在缓冲区中,并在接收完 毕后,将缓冲区中的数据存入新建的二进制文件中;此后,该模拟控制装置返 回到循环判断其各个控制按键的状态或从串口接收到的控制数据的操作过程; 而主控计算机则按照输入命令要求,对打开的文件中的数据进行处理,并将处 理后的数据从串口发送出去;然后,关闭上述操作过的文件,并自行退出;
(15)当判断是复位后第一次从串口接收的数据时,该模拟控制装置首先 对收到的数据进行命令解析,并调用相应的操作;并在解析完数据后,返回到 循环判断该模拟控制装置各个控制按键的状态或从串口接收到的控制数据的操 作过程;
(16)当判断到不是复位后第一次从串口接收的数据时,该模拟控制装置 将接收到的数据按照时间顺序和种类分别存储到相应的数据存储区中,在接收 全部数据之后,该模拟控制装置返回到循环判断其各个控制按键的状态或从串 口接收到的控制数据的操作过程。
5、根据权利要求4所述的键盘和鼠标输入操作的数据记录和模拟方法,其 特征在于:所述的步骤(12)中对键盘和/或鼠标输入的数据进行的数据运算处 理中,用双字节表示键盘输入的数据,其中低字节为时间数据,高字节为键值 数据;用四字节表示鼠标输入的数据,其中第一字节为时间数据,后三个字节 为鼠标输入的字节;且默认存储区中的数据包为键盘数据包,而在要向存储区 中存入鼠标数据包时,应在该鼠标数据包之前加入三个字节,作为端口转换标 识,这三个字节的数值均为0xFF;以便能够动态辨认鼠标或键盘的数据,并正 确模拟键盘或鼠标的操作过程。
6、根据权利要求4或5所述的键盘和鼠标输入操作的数据记录和模拟方法, 其特征在于:所述的步骤(12)中键盘和/或鼠标输入的数据间的时间间隔是用 3个字节来表示,其中只有最低的一个字节的时间值经过压缩标识后与键盘或 鼠标输入的数据值组成数据包存储在数据区;而对另外两个高字节,只有在其 有数值时,即用一个字节不能够存储时间值的情况下,才以两个一组的方式按 照其出现的顺序存储到附加时间存储区中。
7、根据权利要求6所述的键盘和鼠标输入操作的数据记录和模拟方法,其 特征在于:所述的对最低的一个字节的时间值进行压缩标识的方法是将一个8 位字节的数据用其低7位表示,而用该字节最高位表示另外两个高字节中是否 存储有时间变量数据;其具体操作步骤是:
(1)判断该最低一个字节的时间值X是否为0xFF?如是,则先将其减1, 再顺序进行下述步骤;若不是,则直接进行下述步骤;
(2)判断其两个高字节的值是否为零?如是,则按照公式:(X+1)/2, 进行运算,所得到的数值即为该字节压缩后的数值,即将该最低字节的数值X 加1,然后除以2;若不是,则按照另一公式:(X+1)/2+0x80进行运算,所 得到的数值即为该字节压缩后的数值,即将该最低字节的数值X加1,然后除 以2,再加上0x80。
8、一种键盘和鼠标输入操作的数据记录和模拟方法,其特征在于:如果不 需要将键盘和/或鼠标输入数据记录备份时,该方法由单片机为核心的模拟控制 装置独立操作完成,包括下列操作步骤:
(21)模拟控制装置加电后,初始化内部各项设置,接着,模拟控制装置 判断被控计算机的键盘和鼠标是否需要初始化,并在完成相关初始化操作后, 进入循环判断该模拟控制装置四个控制按键状态的操作过程;
(22)当判断到“开始记录”的控制按键按下后,该模拟控制装置进入循 环记录键盘和/或鼠标输入的数据状态;并在键盘和/或鼠标发送数据后的中断 中,将记录到的键盘和/或鼠标输入的各个数据和数据间的时间间隔,经过数据 运算处理后存入该模拟控制装置内的数据存储区中;同时,在循环记录的过程 中,如果判断到“停止记录”的控制按键按下,该模拟控制装置将返回到循环 判断该装置四个控制按键的状态;
(23)当判断到“开始模拟”的控制按键按下后,该模拟控制装置进入模 拟工作状态,即将其数据存储区中存储的键盘和/或鼠标的数据流按时间顺序发 送到被控计算机的键盘和/或鼠标的输入接口,并在发送完数据存储区中的所有 数据后,返回到循环判断该模拟控制装置四个控制按键的状态。
9、根据权利要求8所述的键盘和鼠标输入操作的数据记录和模拟方法,其 特征在于:所述的步骤(22)中对键盘和/或鼠标输入的数据进行数据运算处理 中,用双字节表示键盘输入的数据,其中低字节为时间数据,高字节为键值数 据;用四字节表示鼠标输入的数据,其中第一字节为时间数据,后三个字节为 鼠标输入的字节;且默认存储区中的数据包为键盘数据包,而在要向存储区中 存入鼠标数据包时,应在该鼠标数据包之前加入三个字节,作为端口转换标识, 这三个字节的数值均为0xFF;以便能够动态辨认鼠标或键盘的数据,并正确模 拟键盘或鼠标的操作过程。
10、根据权利要求8或9所述的键盘和鼠标输入操作的数据记录和模拟方 法,其特征在于:所述的步骤(22)中键盘和/或鼠标输入的数据间的时间间隔 是用3个字节来表示,其中只有最低的一个字节的时间值经过压缩标识后与键 盘或鼠标输入的数据值组成数据包存储在数据区;而对另外两个高字节,只有 在其有数值时,即用一个字节不能够存储时间值的情况下,才以两个一组的方 式按照其出现的顺序存储到附加时间存储区中。
11、根据权利要求10所述的键盘和鼠标输入操作的数据记录和模拟方法, 其特征在于:所述的对最低的一个字节的时间值进行压缩标识的方法是将一个 8位字节的数据用其低7位表示,而用该字节最高位表示另外两个高字节中是 否存储有时间变量数据;其具体操作步骤是:
(1)判断该最低一个字节的时间值X是否为0xFF?如是,则先将其减1, 再顺序进行下述步骤;若不是,则直接进行下述步骤;
(2)判断其两个高字节的值是否为零?如是,则按照公式:(X+1)/2, 进行运算,所得到的数值即为该字节压缩后的数值,即将该最低字节的数值X 加1,然后除以2;若不是,则按照另一公式:(X+1)/2+0x80进行运算,所 得到的数值即为该字节压缩后的数值,即将该最低字节的数值X加1,然后除 以2,再加上0x80。
技术领域\n本发明涉及一种键盘和鼠标输入操作的数据记录和模拟装置及方法,确切 地说,涉及一种在计算机操作过程中能够存储记录并仿真模拟键盘和/或鼠标输 入的数据的装置及方法,属于计算机外围设备技术领域。\n背景技术\n为了提高生产效率、保证产品质量和降低人工成本,努力实现和提高制造 产业中各个工序的自动化水平,已经成为许多企业关注和追求的焦点。\n目前,在电脑的生产线上重复性的安装、测试操作基本上还是由人工完成 的,这不仅大幅提高了产品成本,同时也严重降低了工作效率。虽然在基于 WINDOWS的操作平台下进行系统和驱动程序的安装,以及机器的硬件配置测 试时,已经可以使用以微软软件自动测试规范为基础的软件自动进行安装和测 试。该方法主要是记录人工操作电脑的过程,并在复现时,通过操作当前激活 的窗口来完成各种特定的操作;自动化程度较高,具有较好的效益。\n但是在非WINDOWS的操作系统环境下,比如在UNIX、LINIX等操作系 统下,因为使用的是与WINDOWS截然不同的运行体系,上述微软自动测试软 件就无法运行了。现在,基本上只能依靠人工进行这种单调、重复的安装和测 试操作。如何实现这些操作的自动化已经成为业内许多人士关注的课题。\n考虑到目前对电脑进行操作的输入设备主要是键盘和鼠标,并且,所有的 操作系统都支持基于PS2协议的键盘和鼠标,同时,几乎所有的计算机输入功 能都可以通过键盘和鼠标的操作直接或间接地实现之。因此,只要能够记录下 人工对键盘和鼠标的操作过程,并通过仿真模拟键盘和鼠标的工作方式与电脑 进行数据交换,就可以复现操作人员对计算机进行安装和检测的操作过程,使 该生产工序实现自动化。\n发明内容\n本发明的目的是提供一种键盘和鼠标输入操作的数据记录和模拟装置,该 装置安插在键盘和鼠标与计算机连接的通道之间,相当于在实际的键盘和鼠标 与计算机之间架设一条虚拟通路,通过其中的硬件和控制软件的有机结合,在 各种不同操作系统中实现电脑安装、配置和测试等多种操作的自动化。\n本发明的另一目的是提供一种键盘和鼠标输入操作的数据记录和模拟方 法,利用本发明的装置在各种不同操作系统中实现电脑安装、配置和测试等多 种操作的自动化。\n本发明的目的是这样实现的:一种键盘和鼠标输入操作的数据记录和模拟 系统,其特征在于:该系统是由以单片机为核心的模拟控制装置和由PC机构 成的主控计算机所组成;所述的模拟控制装置的控制电路中,在单片机外围设 有可编程逻辑电路、键盘鼠标输入接口、键盘鼠标模拟输出接口、被控计算机 电源控制电路和与主控计算机接续的串行通讯接口,所述的可编程逻辑电路分 别连接有:用于存储键盘和/或鼠标输入操作相关数据的非易失存储器 (NVRAM)、控制键盘、状态指示灯和被控计算机电源控制电路;所述的控制 键盘中设置有:开始记录、停止记录、开始模拟和串口上传数据四个自复位控 制按键。\n所述非易失存储器的存储容量为32K,该存储器被划分为三个区域:4个 字节的数据区状态标识区,用于标识后面两个存储区里实际存储的数据长度, 其中前两个字节为数据存储区长度=最高字节+次高字节×256,后两个字节为 附加时间存储区长度=次低字节+最低字节×256;30000个字节的数据存储区, 用于分别存储键盘数据包、鼠标数据包和端口转换标识;以及2000个字节的附 加时间存储区。\n本发明的目的还可以这样实现的:一种键盘和鼠标输入操作的数据记录和 模拟系统,其特征在于:该系统由单片机为核心的模拟控制装置组成,所述的 模拟控制装置的控制电路中,在单片机外围设有可编程逻辑电路、键盘鼠标输 入接口、键盘鼠标模拟输出接口和被控计算机电源控制电路,所述的可编程逻 辑电路分别连接有:用于存储键盘和/或鼠标输入数据的非易失存储器、控制键 盘、状态指示灯和被控计算机电源控制电路;所述的控制键盘中设置有:开始 记录、停止记录、开始模拟和串口上传数据四个自复位控制按键。由于上述系 统中省略了由PC机构成的主控计算机,此时不能够将键盘和/或鼠标输入操作 的数据记录存储备份。\n本发明的另一目的是这样实现的:一种键盘和鼠标输入操作的数据记录和 模拟方法,其特征在于:如果要将键盘和/或鼠标输入数据记录备份时,该方法 是由以单片机为核心的模拟控制装置运行方法和主控计算机运行方法两部分配 合完成的,包括下列操作步骤:\n(11)模拟控制装置加电后,初始化内部各项设置,同时,主控计算机初 始化内部资源,定义缓存区和内部变量,以及打开或新建一个二进制文件的操 作;接着,模拟控制装置判断被控计算机的键盘和鼠标是否需要初始化,并进 入下述各项循环判断该模拟控制装置各个控制按键状态或从串口接收到的控制 数据的操作过程;\n(12)当判断到“开始记录”的控制按键按下或从串口接收到“开始记录” 的控制数据后,该模拟控制装置进入循环记录输入的数据状态;并在键盘和/ 或鼠标发送数据后的中断中,将记录到的键盘和/或鼠标输入的各个数据和数据 间的时间间隔,经过数据运算处理后存入该模拟控制装置内的数据存储区中; 同时,在循环记录的过程中,如果判断到“停止记录”的控制按键按下或从串 口接收到“停止记录”的控制数据后,该模拟控制装置将返回到循环判断其各 个控制按键的状态或从串口接收到的控制数据的操作过程;\n(13)当判断到“开始模拟”的控制按键按下或从串口接收到“开始模拟” 的控制数据后,该模拟控制装置进入模拟工作状态,即将其数据存储区中存储 的键盘和/或鼠标的数据流按时间顺序发送到被控计算机的键盘和/或鼠标的输 入接口,并在发送完所有数据存储区中的数据后,返回到循环判断该模拟控制 装置各个控制按键的状态或从串口接收到的控制数据的操作过程;\n(14)当判断到“串口上传数据”的控制按键按下或从串口接收到“串口 上传数据”的控制数据后,该模拟控制装置进入与主控计算机串行通信工作状 态:该模拟控制装置自动识别当前数据存储区和附加时间存储区中存储的数据 总容量,并在和主控计算机建立通信链路后,将数据存储区和附加时间存储区 中存储的数据一次全部发送过去,备份存储在主控计算机中;此时,主控计算 机则按照输入命令要求,将从串口接收到的数据存储在缓冲区中,并在接收完 毕后,将缓冲区中的数据存入新建的二进制文件中;此后,该模拟控制装置返 回到循环判断其各个控制按键的状态或从串口接收到的控制数据的操作过程; 而主控计算机则按照输入命令要求,对打开的文件中的数据进行处理,并将处 理后的数据从串口发送出去;然后,关闭上述操作过的文件,并自行退出;\n(15)当判断是复位后第一次从串口接收的数据时,该模拟控制装置首先 对收到的数据进行命令解析,并调用相应的操作;并在解析完数据后,返回到 循环判断该模拟控制装置各个控制按键的状态或从串口接收到的控制数据的操 作过程;\n(16)当判断到不是复位后第一次从串口接收的数据时,该模拟控制装置 将接收到的数据按照时间顺序和种类分别存储到相应的数据存储区中,在接收 全部数据之后,该模拟控制装置返回到循环判断其各个控制按键的状态或从串 口接收到的控制数据的操作过程。\n所述的步骤(12)中对键盘和/或鼠标输入的数据进行的数据运算处理中, 用双字节表示键盘输入的数据,其中低字节为时间数据,高字节为键值数据; 用四字节表示鼠标输入的数据,其中第一字节为时间数据,后三个字节为鼠标 输入的字节;且默认存储区中的数据包为键盘数据包,而在要向存储区中存入 鼠标数据包时,应在该鼠标数据包之前加入三个字节,作为端口转换标识,这 三个字节的数值均为0xFF;以便能够动态辨认鼠标或键盘的数据,并正确模拟 键盘或鼠标的操作过程。\n所述的步骤(12)中键盘和/或鼠标输入的数据间的时间间隔是用3个字节 来表示,其中只有最低的一个字节的时间值经过压缩标识后与键盘或鼠标输入 的数据值组成数据包存储在数据区;而对另外两个高字节,只有在其有数值时, 即用一个字节不能够存储时间值的情况下,才以两个一组的方式按照其出现的 顺序存储到附加时间存储区中。\n所述的对最低的一个字节的时间值进行压缩标识的方法是将一个8位字节 的数据用其低7位表示,而用该字节最高位表示另外两个高字节中是否存储有 时间变量数据;其具体操作步骤是:\n(1)判断该最低一个字节的时间值X是否为0xFF?如是,则先将其减1, 再顺序进行下述步骤;若不是,则直接进行下述步骤;\n(2)判断其两个高字节的值是否为零?如是,则按照公式:(X+1)/2, 进行运算,所得到的数值即为该字节压缩后的数值,即将该最低字节的数值X 加1,然后除以2;若不是,则按照另一公式:(X+1)/2+0x80进行运算,所 得到的数值即为该字节压缩后的数值,即将该最低字节的数值X加1,然后除 以2,再加上0x80。\n本发明的另一目的还可以这样实现的:一种键盘和鼠标输入操作的数据记 录和模拟方法,其特征在于:如果不需要将键盘和/或鼠标输入数据记录备份时, 该方法由单片机为核心的模拟控制装置独立操作完成,包括下列操作步骤:\n(21)模拟控制装置加电后,初始化内部各项设置,接着,模拟控制装置 判断被控计算机的键盘和鼠标是否需要初始化,并在完成相关初始化操作后, 进入循环判断该模拟控制装置四个控制按键状态的操作过程;\n(22)当判断到“开始记录”的控制按键按下后,该模拟控制装置进入循 环记录键盘和/或鼠标输入的数据状态;并在键盘和/或鼠标发送数据后的中断 中,将记录到的键盘和/或鼠标输入的各个数据和数据间的时间间隔,经过数据 运算处理后存入该模拟控制装置内的数据存储区中;同时,在循环记录的过程 中,如果判断到“停止记录”的控制按键按下,该模拟控制装置将返回到循环 判断该装置四个控制按键的状态;\n(23)当判断到“开始模拟”的控制按键按下后,该模拟控制装置进入模 拟工作状态,即将其数据存储区中存储的键盘和/或鼠标的数据流按时间顺序发 送到被控计算机的键盘和/或鼠标的输入接口,并在发送完数据存储区中的所有 数据后,返回到循环判断该模拟控制装置四个控制按键的状态。\n本发明是一种键盘和鼠标输入操作的数据记录和模拟装置及方法,该装置 以单片机为核心,配合非易失存储器(NVRAM)、复杂可编程逻辑器件(CPLD)、 串行通信接口等外围器件,在作为输入设备的键盘和鼠标与电脑之间架设一条 虚拟通路,通过控制软件和硬件的有机结合,在各种不同操作系统中记录和模 拟键盘和鼠标输入的数据,可以适应各种复杂、无规律的操作过程,还可以将 记录的数据归类保存,随用随取,以及以各种不同方式组合和重复使用。整个 输入数据的记录存储过程是随着操作过程同时完成的,简单实用,可以按照操 作过程的原貌模拟复现。因此本发明能够有效利用人力资源,降低产品成本, 为实现电脑安装、配置和测试等多种操作的全面自动化提供了一项有效的技术 装备和手段。\n本发明的实现方法由两部分组成,一部分是控制单片机操作的,以程序方 式存储在单片机内部;另一部分是控制主控计算机操作的,作为控制程序存储 在主控计算机内部存储器里,其中对键盘和鼠标输入的数据和各数据之间的时 间值的压缩处理和存储的方法,创意新颖、简单、实用,大大节省了存储空间。\n附图说明\n图1是本发明系统在进行计算机自动安装测试时的安装连接关系示意图。\n图2是本发明系统中的模拟控制装置硬件结构组成方框示意图。\n图3是本发明的数据存储器中划分为三个不同用途的功能区域示意图。\n图4是本发明中控制单片机的模拟控制装置运行方法的流程图。\n图5是本发明中对时间数据进行压缩处理的方法流程图。\n图6是本发明中控制主控计算机运行方法的流程图。\n具体实施方式\n参见图1,本发明是一种键盘和鼠标输入操作的数据记录和模拟系统,该 系统是由以单片机为核心的模拟控制装置10和由PC机构成的主控计算机20 所组成;其中记录模拟装置10安插在键盘和鼠标与被控计算机30连接的通道 之间,并通过串行口与主控计算机20建立联络通道。该系统可以在各种不同操 作系统中实现电脑安装、配置和测试等多种操作的自动化。\n参见图2,本发明的模拟控制装置10的控制电路中,在单片机1外围还设 有可编程逻辑电路2、键盘鼠标输入接口6、键盘鼠标模拟输出接口7、被控计 算机电源控制电路4和与主控计算机接续的串行通讯接口8,其中可编程逻辑 电路2分别连接有作为数据缓存器的非易失存储器3(NVRAM)、控制键盘5、 状态指示灯9和被控计算机电源控制电路4。在控制键盘5中设置有:开始记 录、停止记录、开始模拟和串口上传数据四个控制按键,这四个控制按键均为 自复位按键。\n参见图3,为了平衡需要记录的数据量和单片机所能直接管理的数据量, 本发明选用32K的非易失存储器3(NVRAM)作为数据缓存器。为了更有效 地利用内存,使程序进行得更加迅捷、有效,该存储器被划分为三个区域,分 别为:数据区状态标识区(占用4个字节),用于标识后面两个存储区里实际存 储的数据长度,其中前两个字节为数据存储区中的数据长度=最高字节+次高字 节×256,后两个字节为附加时间存储区中的数据长度=次低字节+最低字节× 256;数据存储区(占用30000个字节),用于分别存储键盘数据包、鼠标数据 包和端口转换标识;以及附加时间存储区(占用2000个字节)。\n本发明的模拟控制装置主要完成下列功能:记录键盘和/或鼠标向被控计算 机发送过来的数据,记录键盘和/或鼠标发送数据之间的间隔时间,处理数据(完 成时间压缩、数据存取与辩识),模拟键盘和/或鼠标数据发送时序与主控计算 机进行通信,以及与主控计算机进行数据和命令通信。\n参见图4,说明本发明模拟控制装置的操作过程。在该装置加电后,初始 化内部各项设置,如中断、串口、计时器、变量等内部资源;接着判断被控计 算机的键盘和鼠标是否需要初始化?然后进入循环判断该装置四个控制按键 (“开始记录”、“停止记录”、“开始模拟”和“串口上传数据”)状态或从串口 接收到的相关控制数据后的操作过程,同时完成相应的各项操作。图4中的流 程比较详细地描述了模拟控制装置的操作过程,这里不再赘述。\n键盘和鼠标输入的数据都是以字节为基础,并且每个字节间的数据间隔时 间是不确定的。为了能够正确记录数据间的时间间隔,满足足够的时间分辨能 力(2.5ms),同时又不会占用过多的存储空间。本发明对键盘和鼠标输入的数 据和这些数据之间的时间间隔采用了特定的处理。其中键盘和鼠标输入的数据 间的时间间隔是用3个字节来表示。这样每个时间间隔值的数据就会关联3个 字节的数值,但是,这3个字节的时间间隔值不会在其中每个字节内都存有有 效的时间计数值。因为大多数的时间间隔值只需用一个字节就足够表示了,所 以如果每个时间间隔值的数据都相应地使用3个字节的数值来表示,其数据存 储量将会相当大,而且,其中会有相当多的无用时间数值占用数据存储空间。 为了有效、科学地利用内存,本发明采用了“时间动态压缩标识”的方法,该 方法是将最低的一个字节的时间值经过压缩标识后与键盘或鼠标输入的数据值 组成数据包存储在数据区,而对另外两个高字节,只有在其有值时,即用一个 字节不能够存储的情况下,才被存储到附加时间存储区中。所谓对最低的一个 字节的时间值进行压缩标识,是将一个字节(8位)的数据用其低7位表示, 而用该字节最高位表示另外两个高字节中是否存储有时间变量的有效数据。其 具体操作步骤参见图5:\n(1)首先判断该最低一个字节的时间值X是否为0xFF?如是,则先将其 减1,再顺序进行下述步骤;若不是,则直接进行下述步骤;\n(2)判断其两个高字节的值是否为零?如是,则按照公式:(X+1)/2, 进行运算,所得到的数值即为该字节压缩后的数值,即将该最低字节的数值X 加1,然后除以2;若不是,则按照另一公式:(X+1)/2+0x80进行运算,所 得到的数值即为该字节压缩后的数值,即将该最低字节的数值X加1,然后除 以2,再加上0x80。\n本发明的附加时间存储区的数据是以两个一组的方式存储的,每一组的低 字节在前,高字节在后。只有与某个键值数据相关的时间值的两个高字节中任 意一个不为零时,该两个高字节的值才会按照其出现的顺序存储在该附加时间 存储区中。\n本发明在对键盘和/或鼠标输入的数据进行特定的数据运算处理中,无论键 盘输入什么类型、什么组合形式的键值,都是用双字节表示键盘输入的数据, 其中低字节为时间数据(即上述的最低位字节的时间值),高字节为键值数据。 如果低字节的时间数据大于或等于128,根据本发明的“时间动态压缩标识” 方法,说明还有两个字节时间值存储在附加时间存储区中。因为鼠标输入的数 据格式固定,每次均为3个字节,所以在存储区中,它的存储格式也相对固定, 均用四字节表示之:其中第一字节为时间数据(即上述的最低位字节的时间值), 后三个字节为鼠标输入的字节。同样,若第一字节的时间数据大于或等于128, 则说明还有两个字节的时间值存储在附加时间存储区中。\n为了能够动态辨认鼠标或键盘输入的数据,并正确模拟键盘和鼠标的操作 过程,本发明采用了“默认端口及动态端口转换”的概念。也就是在存储区中 的数据包默认为键盘的数据包,而在要向存储区中存入鼠标数据包时,应在该 鼠标数据包之前加入三个字节,作为端口转换标识。这三个字节的数值均为 0xFF;以后每当需要转换存储的数据包时,都需要先加入这三个字节的标识, 以便能够动态辨认鼠标或键盘的数据,并正确模拟键盘或鼠标的操作过程。\n本发明的主控计算机主要完成下列功能:辩识模拟控制装置输入的各项命 令,并调取相应的操作;通过串行接口与模拟控制装置进行命令的交换和数据 的传输,以及完成文件的存取操作。\n参见图6,说明本发明的主控计算机操作过程:\n(21)初始化内部资源,定义缓存区和内部变量;\n(22)打开或新建一个二进制文件;\n(23)判断输入命令是否为从串口接收数据?若是,则从串口接收数据并 存入缓冲区中,并在接收完毕后,将缓冲区中的数据存入新建的二进制文件中;\n(24)判断输入命令是否为从串口发送数据?若是,则将打开的文件中的 数据进行处理,并将处理后的数据从串口发送出去;\n(25)关闭上述操作过的文件,并自行退出。\n需要说明的是:如果不需要将键盘和/或鼠标输入操作的数据记录存储备 份,可以省略该系统中的主控计算机,模拟控制装置中有关主控计算机的相关 操作和主控计算机的操作也都可以省略之。\n本发明已经研制成性能样机,并进行了实施试验,试验的结果是成功的, 实现了发明目的。
法律信息
- 2011-01-19
未缴年费专利权终止
IPC(主分类): G06F 13/00
专利号: ZL 02146481.2
申请日: 2002.11.12
授权公告日: 2006.10.25
- 2006-10-25
- 2004-08-11
- 2004-06-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |