s3c2440 USBD中断如何产生

dapli 2009-01-09 03:18:32
s3c2440(s3c2410 s3c2443等也一样) 中断控制里有个INT_USBD中断
正常情况下,USB插入后会产生这个中断,这个中断是判断什么而产生的呢?
看了一下 文档里没有写的很详细的,有了解的人吗?
...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dapli 2009-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shuiyan 的回复:]
这个中断是2440的USB控制器产生。通过判断USB的D+/D-上的数据状态为依据。有兴趣可以细看USB协议。
接到主机(一般是PC电脑),主机发现有设备接入,会先RESET设备(通过D+/D-一起拉低x秒,x记不清了),然后按照协议发送读描述符、读类型、获取EP数、分配设备号等动作,一旦设备都返回ACK了,主机就会再次RESET设备,设备再次重启后,就按照之前的一系列配置重新提交自己的身份了。

这些流程中,USB控制器已经将很多的握手、…
[/Quote]
谢谢 是拉低大于10ms
beyondma 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shuiyan 的回复:]
这个中断是2440的USB控制器产生。通过判断USB的D+/D-上的数据状态为依据。有兴趣可以细看USB协议。
接到主机(一般是PC电脑),主机发现有设备接入,会先RESET设备(通过D+/D-一起拉低x秒,x记不清了),然后按照协议发送读描述符、读类型、获取EP数、分配设备号等动作,一旦设备都返回ACK了,主机就会再次RESET设备,设备再次重启后,就按照之前的一系列配置重新提交自己的身份了。

[/Quote]
楼上二位说的很清楚,USB是有协议的,应该是插上之后高一段时间,至少CE的USB驱动当中是有的.你可以参考.
shuiyan 2009-01-09
  • 打赏
  • 举报
回复
这个中断是2440的USB控制器产生。通过判断USB的D+/D-上的数据状态为依据。有兴趣可以细看USB协议。
接到主机(一般是PC电脑),主机发现有设备接入,会先RESET设备(通过D+/D-一起拉低x秒,x记不清了),然后按照协议发送读描述符、读类型、获取EP数、分配设备号等动作,一旦设备都返回ACK了,主机就会再次RESET设备,设备再次重启后,就按照之前的一系列配置重新提交自己的身份了。

这些流程中,USB控制器已经将很多的握手、同步等帧、包、事务都处理掉了,只有需要程序(系统)处理一些有效数据时才发送中断。
gooogleman 2009-01-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 dapli 的帖子:]
s3c2440(s3c2410 s3c2443等也一样) 中断控制里有个INT_USBD中断
正常情况下,USB插入后会产生这个中断,这个中断是判断什么而产生的呢?
看了一下 文档里没有写的很详细的,有了解的人吗?
[/Quote]

这个东西,是根据USB协议的。
D+高/低电平一段时间(具体多大看USB协议),系统就认为是主/从设备。其实2440 的BSP的USB驱动的PDD不分应该有这个 代码的。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧