大家好:
想问下,DM368这块芯片,当我的内核驱动和硬件电路都满足OTG功能要求时【即支持5V给外部供电,USB_ID线由外部设备触发】,到底支不支持OTG功能?我所说的OTG功能,要求如下:
(1) 开机,内核起来,我插入一个USB CAMERA从设备,DM368能否正常识别?些时DM368当作主机设备HOST.
(2) 再开机,使用同一个内核起来,我将DM368连接至PC机电脑?【注:连接电缆,已将USB_ID置于1高电平或悬空,即DM368工作于SLAVE模式】,PC机端,能否识别这个DM368的gadget驱动生成从设备,一般情况下,是g_file_storage.ko? modprobe g_file_storage.ko file=/dev/mmcblk0p2 stall=0 removable=1
另外,想问一下:
(1) 当工作于OTG模式时,低层驱动,根据什么检测设备插入?是否,此时,才去读USB_ID管脚,进而根据是HOST还是SLAVE,加载不同驱动或驱动的不同功能模块?
(2) 当配置内核为OTG模式时,开机不接外部设备-USB_id悬空,DM368工作于OTG的哪一种模式?如果工作于从机模式,此时另一个USB从设备插入,将USB_ID管脚拉低?此时,DM368,能否由OTG的从模式,转换为OTG的主模式呢?
先谢谢了~~
感叹一下,DM368是否太老了。。。整个OTG功能都挺麻烦的。
Chris Meng:
你好,
DM36x不支持在usb线已经连接的时候动态改变host/slave的OTG操作。
你的应用场景切换模式是会断电的,所以应该是可以的。
https://developer.ridgerun.com/wiki/index.php/How_to_configure_DM365_for_USB_host,_device_and_OTG_support
bob2:
回复 Chris Meng:
不支持USB线已经连接的时候,改变H/S模式?是不是,只针对一个设备动态切换?
那我现在有两个设备A-要当从设备,B-要当主设备
开机时,我已经接到A,此时DM36X工作于HOST模式。
那我不关机,而是直接拨掉A设备,换成插入B设备?DM36X能否,从HOST模式退出,针对B设备而工作于主机而工作于SLAVE模式呢?
Chris Meng:
回复 bob2:
你好,
请问你是否有使用USBDRVVBUS引脚来驱动VBUS 5V电源的相关电路?在做HOST的时候使能5V输出,在做slave的时候关闭5V输出?
如果有,带电插入host或者slave应该是可以支持的。
bob2:
回复 Chris Meng:
好的,非常感谢!
有的,我们也是参考你们官方EVM设计的OTG电路~