差别
这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
digi:arm-embedded:arm-embedded-som:usb [2024/11/25 17:41] – 创建 robin | digi:arm-embedded:arm-embedded-som:usb [2024/12/02 20:48] (当前版本) – robin | ||
---|---|---|---|
行 11: | 行 11: | ||
</ | </ | ||
+ | usb电路如果精简单得和开发板不同,比如不用hub芯片,更改供电电路等,有时需要在dts中添加版本信息,一般用dummy节点,作为注释节点,方便检查当前设备树的版本。 | ||
+ | 在linux中检查dummy: | ||
+ | < | ||
+ | cat / | ||
+ | </ | ||
+ | |||
+ | #### 解析ccmp25开发板和plc电路中的USB电路#### | ||
+ | 首先,要知道SOM中有几个USB端口,注意,开发板的console口只是用了type C的形态和USB转UART芯片,并不是USB端口,一般SOM有内置的USB端口,可以从设备树中了解相关的情况。 | ||
+ | 在ConnectCore MP255中,有两个USB端口,从PAD名称可以看出,它在片中的名称为USB2和USB3,大概就是为区分USB2.0和USB3.0 : | ||
+ | < | ||
+ | USB2: USB2_DN, | ||
+ | USB3: USB3_DN, | ||
+ | </ | ||
+ | 可以看出,USB3.0比USB2.0多出了两根配置通道(Configuration Channel,简称CC)信号,分别是CC1和CC2。这两根线用于确定USB连接的方向(即确定哪个端口是上游端口,哪个是下游端口),以及用于检测和配置设备角色(例如,区分主机和设备)。 | ||
+ | |||
+ | 在开发板中,USB2引脚连接到Microchip的Hub芯片USB2514BI-AEZG,通过它扩展出四路USB接口,包括两个标准USB2.0接口和mini PCIe和XBee接口上的USB信号。 | ||
+ | 而USB3引脚则定义为USB1接口,即USB Type C对应的接口,平时固件recovery也是用这个接口。 | ||
+ | |||
+ | 在PLC板子上,USB2引脚没连hub,它作为USB Host来使用,可以连接U盘等设备。 | ||
+ | USB3引脚也被定义为USB1接口这个USB Type C接口只是用作recovery接口,用于下载固件。 | ||
+ | |||
+ | 相应的设备树: | ||
+ | < | ||
+ | #USB2.0 Host | ||
+ | usb2_phy1 | ||
+ | usb2h | ||
+ | |||
+ | # | ||
+ | combophy | ||
+ | usb2_phy2 | ||
+ | usb3dr | ||
+ | </ | ||
+ | |||
+ | 因此,对于精简单的PLC电路的USB,实际上可以把combophy和usb3dr中的主要东西去掉。 | ||
+ |