注意:需要准备一个 USB 设备,比如 U 盘、USB 蓝牙模块、usb 网卡或者 usb 摄像头等。
“全志芯片合集”正式上线立创开源硬件平台,涵盖多系列全志芯片,内容包含开源智能家居、游戏掌机等多个领域的开源应用工程。
以及健全的网络功能,自带的WiFi只能说是羸弱了~不过有OTG,USB什么的,可以外挂网卡,加驱动就好了~
1)首先根据"snps,dwc3"进行dts和driver的匹配,执行dwc3_probe()
曾经靠着“B站最强小电视”以及号称“钢铁侠机械臂”等硬核产品出圈的稚晖君又双叒叕来整活啦!
一般来说,USB 设备有两种,一种是 Host,比如电脑,可以去读取其他 USB 设备的数据,另外一种是 Device,比如键盘鼠标U盘智能手机。而OTG(文末附录what is OTG)实现了设备在host 和 slave(peripheral)间转换。例如支持OTG功能的智能手机可以作为host读取U盘内容。
RK33999使用synopsys dwc3的USB3.0控制器IP。早期的初始化需要在两个模块中进行,一个在rockchip官方提供的驱动中初始化,位于drivers/usb/dwc3/dwc3-rockchip.c文件中,主要初始化和CPU紧密相关的内容,如时钟、复位、电源、extcon(用于USB模式切换),另一个在synopsys提供的驱动中初始化,位于drivers/usb/dwc3/core.c文件中,这部分和USB3.0控制器密切相关,如USB3.0控制器内部寄存器地址、USB3.0的PHY、中断等。只有两个模块都初始化完毕,USB3.0控制器才能正常工作。本节只分析USB驱动早期初始化部分。
《带你遨游USB世界》中,我们已经初步介绍了USB的整体架构,本文将从以下几个方面继续介绍USB的内容。
USB设备控制器(UDC)驱动的框图如下图所示,由三部分组成。第一部分是UDC驱动核心层,在drivers/usb/gadget/udc/core.c文件中实现,该层是一个兼容层,将USB Function驱动和具体的USB gadget驱动隔离开,抽象了统一的接口和数据结构,向USB Function驱动提供了统一且稳定的接口,同时完成USB Function驱动和USB gadget驱动的匹配。第二部分是gadget driver层,负责驱动硬件工作,和具体的USB设备控制器硬件相关,dwc3的gadget driver驱动在drivers/usb/dwc3/gadget.c文件中实现。第三部分是USB设备控制器硬件。
OTG 主要用作Host 与Device 的切换,如当板子通过 USB 线连接到 USB 主机 (PC) 上时, 此时 OTG 是加载成 USB Device;若当前板子是通过 OTG 线连接一个USB 设备,此时 OTG 则加载 成 USB Host。
无界面初始化,也就是常说的 headless initialization,目的是在不需要给树莓派接入额外的显示器的情况下完成基本的无线网络配置,并且启动好必要的远程管理工具比如 ssh 等。
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?,继续测试教程(2)的按键、时钟设置、DDR读写、Micro SD接口读写、eMMC读写等测试部分,接下来是测试板卡的SATA接口、USB接口读写、USB HOST模式测试、USB DEVICE模式、串口测试等是否正常。
– 随着移动互联网技术的迅猛发展,两大主流智能移动设备iOS 和Android占据了绝对的市场,除了基本的通话、娱乐功能之外,这些移动设备已经成为新时代中重要的信息终端设备节点。 – 通用串行总线(USB)目前已经成为了最标准的接口,用于提供系统一个可靠且低成本的数字连接,目前在使用方面已经超越了电脑的范畴,并已广泛应用在工业、医疗、消费电子、通信网络等等。 – RS232接口长期广泛存在于在各种应用领域,随着安卓手机平板的大量上市,安卓系统下通过USB转RS232接口接入外设的应用需求也开始变得强烈起来。
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说usb协议开发_基于事件驱动的架构,希望能够帮助大家进步!!!
在SmartQ 7上面,同时存在USB HOST与 USB OTG两个接口,我想问一下,这两个接口有什么区别么?我怎么认为HOST属于是多余呢? 麻烦高手解答,感激不尽!! 零 USB背景知识 U
在嵌入式开发中,涉及交叉编译:在 PC 上编译,在开发板上运行。所以就涉及 PC 和开发板之间的文件 传输,方法有多种:网络传输、串口传输、USB 传输,当然,还有最笨的方法:U 盘拷贝。
如何软件删除Jetson AGX Xavier(以下简称Xavier)上的TypeC USB端口?
拿到谷歌到 Android Things 开发板数年了,大多数时间在积灰,偶尔刷成了 ubuntu 系统,玩腻了发现整个网络上都不存在这块开发板的 Android Things 初始化镜像( 全盘拷贝镜像 ),折腾半个多月后,开始写下这个教程,作为记录。
如何让Openharmony设备HDC接口(OTG接口)作为一个复合设备,实现HDC(HDC:鸿蒙设备连接器) + CDC ACM(USB 虚拟串口),而设备本身支持HDC。所以需要增加CDC ACM(USB 虚拟串口)。
OTG是On-The-Go的缩写,是一项新兴技术,主要应用于不同的设备或移动设备间的联接,进行数据交换。通过OTG技术,可以给智能终端扩展USB接口配件以丰富智能终端的功能,比如扩展遥控器配件,把手机、平板变成万能遥控器使用。
随着USB2.0版本号的公布,USB越来越流行,已经成为一种标准接口。如今,USB支持三种传输速率:低速(1.5Mb/s)、全速(12Mb/s)和快速(480Mb/s),四种传输类型:块传输、同步传输、中断传输和控制传输。USB应用灵活方便,能满足多种外设的须要。随着个人便携式电子产品的增长和嵌入式技术的飞速发展,USB主机已不再局限于单纯的PC,能够是含有USB主控器的不论什么设备,如PDA、MP3播放器等。在USB2.O规范中也添加了USB嵌入式设备的标准——On-The-Go(OTG),它使外设能够在主机和设备之间相互切换,即当其连接至PC时,它是1个USB设备,而与其它USB设备相连接时,它便作为USB主机。
前进几篇文章,已经搞定了Linux移植三巨头:uboot、kernel(包含dtb)和rootfs,除了uboot是烧写在SD中的,其它的都是在ubuntu虚拟机的nfs服务器中,运行时必须通过网络将这些文件加载到开发板的内存中运行。
OTG 检测的原理是: USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。USB OTG技术可实现没有主机时设备与设备之间的数据传输。例如:数码相机可以直接与打印机连接并打印照片,手机与手机之间可以直接传送数据等,从而拓展了USB技术的应用范围。在OTG中,初始主机设备称为A设备,外设称为B设备。也就是说,手机既可以做外设,又可以做主机来传送数据,可用电缆的连接方式来决定初始角色(由ID线的状态来决定)。 USB OTG接口中有5条线:
当电源控制器看到 suspend_detected 被激活(并且在状态寄存器中设置了电源门控启用位)时,它会启动掉电序列。该序列如图 8-2 所示,描述如下:
eMMC (Embedded Multi Media Card) 为MMC协会所订立的,eMMC 相当于 NandFlash+主控IC ,对外的接口协议与SD、TF卡一样,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻尺寸和降低成本的NAND供应商来说,同样的重要。1
如下图所示,USB控制器可以呈现出两种不同的状态。USB控制器作为Host时,称为USB主机控制器,使用USB主机控制器驱动。USB控制器作为Device时,称为USB设备控制器,使用UDC(usb device controller)驱动。本节只分析USB控制器作为Device时的驱动框架。
usb是我们现代生活中不可或缺的一个东西,大家平常只要使用电脑,肯定都接触过usb吧。本篇文章对于大部分同学来说并没有实际意义,主要面向想了解USB的一些同学,以及一些做嵌入式的同学。 首先第一个问题,当我们在电脑中插入了一个U盘,那么电脑是怎么知道有一个U盘插入的呢? 一般usb有4根线,作为数据的D+,D-,以及供电的Vbus和GND。我们需要知道在集线器的端口上(比如电脑的usb口)分别接了一个15K欧姆的下拉电阻到地。这样,在集线器的端口悬空时,就被这两个下拉电阻拉到了低电平。而在USB设备端,在D
教程更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=108546 第3章 ThreadX USBX协议栈移植到STM32F429 本章节
现在很多的智能手机都自带OTG功能。估计很多朋友很少知道这个OTG功能是什么,究竟有什么用?其实OTG的实用功能还是很多的,今天小编给大家科普一下手机的OTG功能,感兴趣的朋友可以拿起自己的手机试一试!
下图是RK3399 SOC的框图。RK3399包含了2个USB2.0 Host控制器;两个USB3.0 OTG控制器,同时兼容USB2.0。USB3.0使用的是Synopsys公司的IP,驱动也使用Synopsys的dwc3 USB驱动。
教程更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=108546 第3章 ThreadX USBX协议栈移植到STM32F407 本章节
闪电图标启动逻辑:POWER_SUPPLY_TYPE_USB的power supply上报USB类型(CDP,DCP,USB)
kernel\msm-3.18\drivers\usb\phy\phy-msm-usb.c
FreeBuf科普 OTG,即On-The-Go,该技术就是实现在没有电脑的情况下,实现从设备间的数据传送。例如数码相机直接连接到打印机上,通过OTG技术,连接两台设备间的USB口,将拍出的相片立即打印出来;也可以将数码照相机中的数据,通过OTG发送到USB接口的移动硬盘上。 有了它,野外操作就没有必要携带价格昂贵的存储卡,或者背一个便携电脑啦! DIY材料 USB A型母口一个,MiniUSBB型5Pin接口一个(好吧,其实就是我们平常用的USB连接线的两端)。 四根相同长度的铜线和一根稍短些的,四根的默
教程更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=108546 第3章 ThreadX USBX协议栈移植到STM32H7 本章节为大
前面的章节已经从系统架构师和芯片设计师的角度讨论了低功耗设计。本文从设计复杂IP(如处理器、DSP、USB、PCIE和总线)的工程师的角度介绍低功耗设计。
这是我第一次在公众号发布评测视频,之前也没做过视频,从录视频、剪辑、渲染真的是太麻烦了,PR咱也不会,用的是剪映,初次尝试,以开发板评测为主题,一共剪了两段,一个是模仿iPhone7 快闪107秒产品发布视频,40秒的视频周末剪了一上午。第二段是完整的开发板开箱评测视频,14分钟时长,我嫌太麻烦,中间几乎没有剪辑,如果觉得视频内容太长,可以看下后面的文字评测内容,要比视频介绍更详细。 初次录视频,大家多多支持。 视频1:开发板评测快闪 http://mpvideo.qpic.cn/0bc3xiaas
在全志R128开发过程中总结一些RTOS系统的usb命令使用方法,以下命令在所有RTOS平台(MELIS/FREERTOS)都可以使用
USB 有主机功能和从设备功能。做主机时,能连接 U 盘、USB 鼠标等 USB 设备;做从设备时,具有 ADB 调试等从设备功能。
1 ULPI PHY passive sniffing mode 概念: non driving, no pull-up, no pull-down
注意:此方式烧录进的文件系统是ubifs文件系统,如果操作 需要网络文件系统挂载或者使用TF卡,不推荐使用。
XQ138AS-EVM是广州星嵌基于SOM-XQ138S核心板(OMAPL138+Xilinx FPGA)和SOM-XQ138A核心板(OMAPL138+AlteraFPGA)开发的DSP+ARM+FPGA三核评估套件,底板同时兼容两款核心板,用户可以采用该开发套件进行项目前期的验证和评估,也可以直接用来开发自己的产品。
type-c接口比较方便,可插拔次数也比较多,很多MCU目前都只具有USB2.0接口,但是只需要一点改动就可以转成type-c接口。以STM32举例说明。目前常用的usb3.0的type-c是向下兼用USB2.0的,新发布的usb4.0也是向下兼容的。因此下述的方法也是可以的。目前的type-c接口如下图所示:
目前市面上的蓝牙音箱、平板、POS机等设备,大多仍采用USB-micro接口,充电功率只有5-10W,如同蜗牛般缓慢的充电效率,着实让人心烦。而那些设有蓝牙音箱接U盘功能的产品,还需额外设置一个USB-A母座和TF卡槽、3.5MM耳机接口等,让本已简洁的产品显得更加繁杂。
重要:越狱骨灰级玩家请忽略本篇文章,篇幅较长,大约2500+字,突有不适感,请返回上一页,继续忙你的事情
目前市面上的蓝牙音箱,平板,POS机等大多仍然还是采用USB-micro接口,充电功率只有5-10W,不仅充电效率慢,而且蓝牙音箱想接U盘还要多设置一个USB-A母座,加上TF卡槽,3.5MM耳机接口,显得多而繁杂。
板子上的红色拨码开关用来设置启动方式,支持这四种方式:EMMC 启动、SD 卡启动、USB 烧写以及 M4(debug)模式。
请先下载以下文件,里面含有烧写软件: https://gitee.com/weidongshan/openharmony_for_imx6ull/repository/archive/master.zip
现在遇到这样一个问题,没有USB,甚至于USB都没有电压输出,检查电路,USB供电是由一个TPS2051BDBV来控制的,这个芯片又是USB3320C来控制的,说明这个芯片没有工作。经过一天的排查,最后终于找到原因了。是因为没有设置设备树。设备树这方面我并不是很懂,所以整理一下。 首先,先找到编译出来的设备树。文件是images/linux/system.dtb。 在这篇文章 《设备树(device tree)学习笔记》 找到了反向编译工具fdtdump,使用fdtdump工具将其反向编译。 结果就是这样的:
领取专属 10元无门槛券
手把手带您无忧上云