USB小功能

如何利用一个引脚判断USB HOST或者是USB DEVICE?
运用场合:在单片机的bootloader中,加入判断是进入USB_DEVICE or USB_HOST or 执行可执行文件的功能
硬件需求:在bootloader中增加一个引脚Y,用来判断是否由USB供电
软件实现方式:
1. 上电后,首先判断Y引脚为 或者 电平,为 则进入DEVICE模式,PHY不使能D+,D-的下拉电阻(可以使用PHY内部自带的下拉,也可以在外部电路增加下拉)
2. Y引脚为 则继续判断,是否有DEVICE接入(通过判断DEVICE有无响应),如果 ,则初始化为USB_HOST功能,并使能PHY的下拉电阻,也可以使用外部电路下拉(这样要增加另一个引脚和三极管控制),当做完拷贝等功能后,拔出U盘便退出,用看门狗复位程序,复位程序后便到了下面的第三个步骤
3. 若检测到 DEVICE接入,则运行可执行文件。

如何如实现OTG功能?
硬件需求:要使用带OTG功能的USB插座(即多一个ID脚),ID脚为悬空(默认高电平)时,初始化为DEVICE,当ID脚为低电平时,则初始化为HOST。
并且,要增加一个电源控制芯片,因为当作为DEVICE时,由HOST供电,否则,要给DEVICE供电
其次,要在USB 5V增加判断引脚
功能实现
1. 当设备作为DEVICE时
a. 由于外部供电,USB_5V收到 低 变 高的中断,进入中断服务函数,判断ID脚的状态,如果为 低 则进入HOST,为高则错误
b. PHY不使能下拉
c. 进行对应操作

  1. 当设备作为HOST时
    a. 当设备的ID脚收到由 高 变 低的中断信号时,进入中断服务函数,转为HOST模式,并且关闭中断。同时PHY设置为HOST模式(使能D+ D-的下拉)
    b. 令电源控制芯片给接入的DEVICE供电
    c. 进行相应操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值