扫一扫,手机浏览English  wiki  真伪

微博微信020-38373101

开发板资讯

CONTACT US

联系方式

020-38373101

地址:广州市番禺区大石街道石北工业路728号8栋3楼301

sales@embedsky.net

产品新闻您的位置:首页 >开发板资讯>产品新闻

TQ335X工控板如何将OTG改为USB host功能
日期:2019-05-31

      我们经常使用USB接口 连接U盘或移动硬盘等。但是,知道USB HOST和USB OTG的却不多,现在分享一下这方面的知识,便于以后用到这些设备时知道它们的区别和使用方法。USB设备分为HOST(主设备)和SLAVE(从设备),只有当一台HOST与一台SLAVE连接时才能实现数据的传输。USB HOST是指主机,USB OTG设备既能做主机,又能做设备。OTG技术就是实现在没有Host的情况下,实现从设备间的数据传送。

      当OTG插到电脑上时,OTG的角色就是连接电脑的device(读卡器),也就是SLAVE(从设备);当USB/SD device插到OTG上,OTG的角色就是HOST(主机)。有些手机也经常用到OTG功能。

      当设备上的USB HOST接口不够用的时候,能把USB OTG接口当HOST用吗?答案是可以的,但需要修改软件,这里拿TQ335X_coreBv1开发板为例,将OTG接口修改为host接口功能。

1.修改源码板级信息文件:arch/arm/mach-omap2/board-tq335x_coreb_v1.c

2.搜索335x初始化函数:跟踪am335x_evm_init()函数

3.在函数内找到USB初始化:usb_musb_init(&musb_board_data);

4.再搜索追踪“musb_board_data”:

static struct omap_musb_board_data musb_board_data = {
.interface_type = MUSB_INTERFACE_ULPI,
/*
* mode[0:3] = USB0PORT's mode
* mode[4:7] = USB1PORT's mode
* AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
*/
.mode = (MUSB_HOST << 4) | MUSB_OTG,
.power = 500,
.instances = 1,
};

      成员mode内,低4位代表USB0的模式,高4位代表USB1的模式,这里代表默认USB0做OTG模式,USB1做HOST模式;如果需要将USB0修改成HOST模式则修改mode成员即可:.mode = (MUSB_HOST << 4) |MUSB_HOST

相关产品

TQ335XBv2开发平台

CortexA8工控板核心板

详细内容
TQ335XB v1开发板

CortexA8工控板核心板

详细内容
技术支持 天嵌科技