打印
[51单片机]

请问有没有用单片机模拟出HID I2C通信的实例

[复制链接]
1210|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tsingli|  楼主 | 2018-10-24 18:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
cactus0117| | 2018-10-26 11:52 | 只看该作者
从机有

使用特权

评论回复
板凳
linqing171| | 2018-10-26 12:41 | 只看该作者
USB HID一般都是硬件的吧。AVR有个用IO虚拟USB slave的。
模拟I2C主机的代码应该到处都是了。

使用特权

评论回复
地板
tsingli|  楼主 | 2018-10-29 15:40 | 只看该作者
linqing171 发表于 2018-10-26 12:41
USB HID一般都是硬件的吧。AVR有个用IO虚拟USB slave的。
模拟I2C主机的代码应该到处都是了。 ...

您好,感谢您的回复,现在就想参照鼠标方式,做一个通过HID I2C接口设备,即插即用,并不是模拟i2c主机,您这边有建议吗,谢谢您。

使用特权

评论回复
5
tsingli|  楼主 | 2018-10-29 15:42 | 只看该作者

您好,那能简单谈谈从机是如何实现的吗,即插即用,从机插上去如何触发通讯呢

使用特权

评论回复
6
tsingli|  楼主 | 2018-10-29 15:42 | 只看该作者

您好,那能简单谈谈从机是如何实现的吗,即插即用,从机插上去如何触发通讯呢

使用特权

评论回复
7
tsingli|  楼主 | 2018-10-29 17:20 | 只看该作者
tsingli 发表于 2018-10-29 15:42
您好,那能简单谈谈从机是如何实现的吗,即插即用,从机插上去如何触发通讯呢 ...

就是说比如,windows系统如何知道有设备插入,如何发起i2c通信,我目前是用树莓弄得。谢谢您

使用特权

评论回复
8
linqing171| | 2018-10-30 00:36 | 只看该作者
啊,看来是个新新手啊。
还是用usb device的芯片吧,然后买本《圈圈教你学usb》。

回答你几个问题:
1 设备探测和即插即用。USB高速数据线在Host端下拉15k电阻,鼠标等设备端上拉1.5k,根据电压的上升沿中断告诉host有新device插上了。
2 默认用中断模式,主机每隔1ms问一下设备,有没有数据要发。设备如果说有数据要发,则会触发一次数据传输。

使用特权

评论回复
9
tsingli|  楼主 | 2018-10-30 08:55 | 只看该作者
linqing171 发表于 2018-10-30 00:36
啊,看来是个新新手啊。
还是用usb device的芯片吧,然后买本《圈圈教你学usb》。

谢谢您的回复,这本书我今天就买,USB我有简单了解过,通过D+/-来判定有没有设备插入,从而发起的,那如果用i2c设备呢?不太可能通过电压,而且开机的时候,也没用发信号遍历。谢谢您的建议。

使用特权

评论回复
10
linqing171| | 2018-10-31 21:34 | 只看该作者
tsingli 发表于 2018-10-30 08:55
谢谢您的回复,这本书我今天就买,USB我有简单了解过,通过D+/-来判定有没有设备插入,从而发起的,那如 ...

I2C作为多主机的总线结构,是不敢随便就发“我上线了” 这种内容的。比如AT24C01。
如果要探测设备,每个地址都通讯一遍是唯一的方法。大部分芯片都不支持标准里面的广播功能。
后来基于I2C的PMBUS等就好一点。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

6

帖子

0

粉丝