搜索
bottom↓
回复: 20

单片机做的USB键盘如何在开机时发数据给电脑??

[复制链接]

出0入0汤圆

发表于 2013-6-7 09:22:16 | 显示全部楼层 |阅读模式
想搞个一键还原功能,当想还原系统的时候,就发送一个按键信号到电脑/
就好像开机时按Delete进入BIOS一样`
现在的主板都支持USB键盘,应该是可以用的!!!
但就是不知通讯如何进行。是直接发送数据还是怎样???
见过PS/2是可以实现这个功能的,但USB会比较方便插。优先选用USB的方式!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-6-7 10:04:45 | 显示全部楼层
用USB模拟这个目前市场上还没有产品,所以没有办法给您做拆解.
基于V-USB的单片机解决方案是有的
例如
爱特梅尔半导体Atmel的单片机就有这个功能
采用一块单片机完成,最小封装的attiny系列
演示代码一会给您传过来。

----------------------【不知道可否给您一个这样的建议?】--------------------------------
硬件:基于BIOS的一键还原非常成熟,对BIOS改造一下也挺快速,我当时用的是5合一BIOS组件嵌入。
实在不想动用户机箱:用还原精灵硬件版这种原理
基于硬盘引导事件(软件):软件类的挺多。
以上几种都很成熟,改造BIOS的比较安全和有效,对批量的板子发行很不错

案例:当时学校的校园电脑室大都用这种方式,因为采购过程中都是统一型号。

出0入0汤圆

发表于 2013-6-7 10:09:34 | 显示全部楼层
计算机开机启动的过程中有个问题您不知道推演过没有?
1假定您模拟的是键盘事件+还原软件是集成在U盘中,这样的话BIOS的识别率回是一个问题,
2主控方案就不能只是一个8位AVR这么简单了,
3这个物件的便利性好像和这些成熟度产品比较,有点??

出0入0汤圆

发表于 2013-6-7 10:33:01 | 显示全部楼层
我猜开机时应该会重新枚举USB设备吧

出0入0汤圆

发表于 2013-6-7 09:22:17 | 显示全部楼层
look this
http://www.amobbs.com/thread-4789378-1-1.html

出0入0汤圆

发表于 2013-6-7 11:22:22 | 显示全部楼层
由于我电脑上的演示代码有点问题,仅仅只是模拟识别,没有输出。见谅

给您一个爱好者的参考的设计链接:
http://codeandlife.com/topics/v-usb-electronics/

不好意思没能帮上您,论坛里有高手,他们可以。

出0入0汤圆

 楼主| 发表于 2013-6-7 11:36:39 | 显示全部楼层
非常感谢楼上几位的解答,正在看5楼所指的网页。。。。。有结果第一时间发上来!

出0入0汤圆

发表于 2013-6-7 12:26:53 | 显示全部楼层
本帖最后由 fuyufu 于 2013-6-7 12:48 编辑

上个别人的作品截图,但是这个功能很弱,可能达不到您需要的指标
他的设计偏向于USB-KEY
第一张是PCB样式

第二张是应用样式

第三张是裸板外观

第四张是原理图


参考的设计链接依然是:
http://codeandlife.com/topics/v-usb-electronics/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入76汤圆

发表于 2013-6-7 13:03:47 | 显示全部楼层
fuyufu 发表于 2013-6-7 12:26
上个别人的作品截图,但是这个功能很弱,可能达不到您需要的指标
他的设计偏向于USB-KEY
第一张是PCB样式

不错,感谢分享,等有空,用LGT的芯片做一个来玩玩儿....

出0入0汤圆

发表于 2013-6-7 13:12:43 | 显示全部楼层
foxpro2005 发表于 2013-6-7 13:03
不错,感谢分享,等有空,用LGT的芯片做一个来玩玩儿....

支持你,这个绝对是个好的创意,产品市面上还没有,挺你

国外的Digispark项目希望给你触发更多灵感,
这样您的作品可以一物多用噢。
---------------------心得分享------------------------
【一物多用的时候,可以扩大用户群体】


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-6-7 13:15:06 | 显示全部楼层
我向您推荐的几个方案,由于芯片有点偏向AVR分支,
希望不会误导你的思路,支持USB的微控制器很多选择。
支持你的思路!

出0入76汤圆

发表于 2013-6-7 13:25:26 | 显示全部楼层
嗯,再次感谢,AVR的还是比较熟悉...
1.使用V-USB的方式,比较占资源,其它能做的事相对会有所减少...
2.如果用硬件本身带USB功能的芯片,当然会比较好...(STM32不是错的选择, PIC18系列也不错...)

出0入0汤圆

发表于 2013-6-7 14:02:31 | 显示全部楼层
用VUSB做就可以了。
估算一下开机后键盘被识别到需要按键的时间。
HOOK设备枚举,开启定时器,到时间发送按键。
推荐参考这个:http://www.frank-zhao.com/cache/usbbusinesscard.php

出0入0汤圆

发表于 2013-6-7 17:43:19 | 显示全部楼层
zhujinliang2124 发表于 2013-6-7 14:02
用VUSB做就可以了。
估算一下开机后键盘被识别到需要按键的时间。
HOOK设备枚举,开启定时器,到时间发送按 ...

嗯,采取电子名片的思路挺不错的

-------------------------------------------------
我刚才模拟了一下流程,好像有点疑问

1每款不同牌子的计算机的BIOS不统一、加载内容可能不一样,
理论上很难时间偏差,如果偏差较大,
过早触发键盘事件,BIOS会判断为键盘故障,直接就禁用了这个键盘。
过晚触发,硬盘直接都引导进系统了。
2基于USB口的“还原精灵”业内还有成功过。
3普遍键盘的摆放位置都是人体工程学适合的地方,而使用这个USB再模拟是不是有点画蛇?
4USB口在开机过程中是有一次电源瞬间闪断的过程。是否会影响到单片机程序?
5......
不好意思,不敢再问了,我心里是支持这个项目,所以才多了点疑问

出0入0汤圆

发表于 2013-6-10 10:56:11 | 显示全部楼层
楼主不悬赏了么?

出0入0汤圆

 楼主| 发表于 2013-6-10 13:03:13 | 显示全部楼层
放假了。。。。。。还没解决呢!!放心,一定会给的!

出0入8汤圆

发表于 2013-6-10 13:18:26 | 显示全部楼层
fuyufu 发表于 2013-6-7 17:43
嗯,采取电子名片的思路挺不错的

-------------------------------------------------


其实只要按照USB标准来,这些都不是问题
1. BIOS差异的问题。当设备是boot型的键盘时,不会去读Report Descriptor。这个是USB标准定义的,可以放心用
2.发送时机问题。当设备支持boot时,会收到Set protocol请求。可以在收到这个请求之后发送键值。
3. 闪断会重新枚举,按照标准流程来就可以了。
---------------------
上面我说的都在USB标准文档中有说明

出0入0汤圆

发表于 2013-6-14 17:19:03 | 显示全部楼层
感觉不错,想法挺好的

出0入0汤圆

发表于 2013-6-17 15:01:11 | 显示全部楼层
USBD12,就可以了,三年前我做个,一个复合设备,插上去显示3个设备:鼠标+键盘+自定义设备。我们这是 用于 游戏的硬件外挂,

出0入0汤圆

 楼主| 发表于 2013-6-17 16:22:46 | 显示全部楼层
唉,还是没解决。。。。。
那位能发个能用的程序过来 看看,莫元付上!!!!
主要是HID那部分!

出0入0汤圆

发表于 2013-6-18 21:43:39 | 显示全部楼层
买个最便宜的USB键盘,用单片机控制扫描矩阵,模拟按下DEL键就可以了,是最容易实现的办法。

另一个方法,用PIC18F4550 USB 单片机,官方例子有USB键盘的程序,模拟DEL就可以。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 01:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表