你好,請問CH32X035系列的dp?alt?mode?要如何配置,?我想把usb?type-c配個2?lane的display?port?+usb3.0
請問有相關的軟件示例嗎?我的郵件:個人信息保護,已隱藏
熱門產品 :
USB3.0 HUB控制器:CH634
你好,請問CH32X035系列的dp?alt?mode?要如何配置,?我想把usb?type-c配個2?lane的display?port?+usb3.0
請問有相關的軟件示例嗎?我的郵件:個人信息保護,已隱藏
你好,這個走PD VDM協(xié)商,目前沒相應軟件示例。
那請問在ch32x035要怎樣才能發(fā)送/接收到VDM呢?
????????????case?DEF_TYPE_VENDOR_DEFINED: ????????????????/*?VDM?message?handling?*/ ????????????????if(?(?PD_Rx_Buf[?2?]?&?0xC0?)?==?0?) ????????????????{ ????????????????????/*?REQ?*/ ????????????????????Delay_Ms(?1?); ????????????????????/*?Data?to?be?sent?is?cached?to?PD_Tx_Buf?*/ ????????????????????PD_Load_Header(?0x00,?DEF_TYPE_VENDOR_DEFINED?); ????????????????????/*?Return?to?NAK?*/ ????????????????????if(?(?PD_Rx_Buf[?3?]?&?0x60?)?==?0?) ????????????????????{ ????????????????????????PD_Ctl.Flag.Bit.VDM_Version?=?0; ????????????????????} ????????????????????else ????????????????????{ ????????????????????????PD_Ctl.Flag.Bit.VDM_Version?=?1; ????????????????????} ????????????????????PD_Rx_Buf[?2?]?|=?0x80; ????????????????????PD_Send_Handle(?&PD_Rx_Buf[?2?],?4?); ????????????????} ????????????????break;
這是 EVT 中的 VDM 部分, 我想問一下現在RX的Buffer到底存儲了什么data?
根據STM的手冊
?
看起來沁恒的PD例程很多都是底層的直接讀寫包數據,你可以對照一下RxBuffer中的數據判斷,大概率就是VDM消息。
我感覺還是有點模糊...就這部份的代碼分別使用了PD_RX_Buf[2]和[3]進行比較邏輯,那VDM現在是以每8個bit的形式存進buffer了吧?但實際上VDM的bit 0是從哪里開始呢?還有PD_RX_Buf[1],[0]里面存的又是什么的信息呢?是SOP嗎?還是前面PD協(xié)商的信息?
可以看一下USB IF PD協(xié)議規(guī)范,前面[0][1]字節(jié)是Message Header部分。