|
如何让手持设备终端机脱离PC上位机软件
一般上位机软件都是提供数据回放,数据接口的工作,有的时候还要软件人员去接口其他厂家的程序或者数据库,如果其他厂家的应用程序不提供数据库接口或者根本就没有应用程序的接口,这就变得很麻烦了,所以想到了,拿掉pc上位机软件的想法.
简单的说,就是我们的手持设备或者终端设备,插上电脑,就是标准的键盘鼠标输入设备(也不需要独立的usb驱动),设备自动给客户,填表,填写测试数据报告,填写回放数据等等,用户座着,仪器就会自动填写数据,也不用pc上位机软件,也不用接口人家的数据库和程序了,仪器直接就把数据填写到用户数据表格里,如电子表格.
这个想法实现起来也很简单,原理就是,我们的仪器本身就是在模拟计算机操作者的鼠标键盘动作,来控制PC.
但是,问题也相应的来了,如果我们把仪器设备的程序设计重点放在了键盘鼠标的功能,很明显会给单片机Flash造成负担,而且还要增加成本和控制难度.所以,如果让键盘鼠标控制功能独立出来,就显得十分必要了,一个外部控制器,外置的控制盒,就自然解决了这个问题;我们的仪器设备,只要通过串口发送控制命令,其他的都有外部的小控制盒来解决,这样不仅节省了仪器flash的负担和成本,也大大减小了开发难度.
带着这样的想法,自己设计了USB硬件键盘鼠标控制器,采用了ARM单片机,主频可以达到72MHz,比真正的键盘鼠标速度都要快很多,串口发送命令,usb口就是标准的键盘鼠标负责执行.控制器的体积,放到了并口的外壳里,外形尺寸:55*52*18mm,还算小巧.
控制器的usb命令协议,采用了标准的usb键盘鼠标协议,跟xp系统内部的usb键盘鼠标底层协议是相同的,只不过是通过串口来发送而已;串口部分采用9600波特率, 16进制通讯方式, 通讯过程如下:
如:02 00 f6 00 00(鼠标左移10个单位),控制器返回16进制:01 (说明执行了一个动作,成功).
当然,这个控制器也适用于2台计算之间的控制,一台被控计算机插入usb,主控计算机插入串口,通过上位机软件编程控制串口,达到控制被控计算机的方式,测试软件和源代码在我的个人blog可以找到,提供了vb, delphi, vc,BCB 等常用软件的测试代码(http://blog.csdn.net/laorenshen).
总结:采用独立的键盘鼠标控制器, 省掉了pc软件开发,降低了单片机的负担和开发成本,真正可以实现让手持设备终端机脱离PC上位机软件开发束缚,只是一个想法,希望大家提提意见,谢谢.
USB硬件 键盘鼠标控制器 V3.0(样机已经ok)
制板商效率太低了,15天,板子才回来,
自己焊接了一台样机,设计的太小,手工不太好焊,
调试ok,
上几个图片给大家看看
|
|