CH32V307用于USB組合設(shè)備中,如果一個(gè)設(shè)備用高速,另一個(gè)用全速,這樣是否允許?
您好,兩個(gè)USB接口獨(dú)立的,可以同時(shí)使用。
如果兩個(gè)USB設(shè)備通過USB hub連接,那肯定是相互獨(dú)立的。
如果兩個(gè)U設(shè)備公用一個(gè)設(shè)備描述符,也公用一個(gè)配置描述符,只是用兩個(gè)不同的接口描述符。這還算相互獨(dú)立嗎?
兩個(gè)真實(shí)物理端口,就是兩個(gè)獨(dú)立的設(shè)備。
前面提到一個(gè)高速設(shè)備,一個(gè)全速設(shè)備,通常不同速度的USB設(shè)備描述符之間會(huì)有差異,涉及到協(xié)議版本、端點(diǎn)長(zhǎng)度、上層協(xié)議長(zhǎng)度。
例如最普通的同型號(hào)鼠標(biāo),同一臺(tái)電腦接入多個(gè)也都是可以用的。
但是不排除特定USB設(shè)備,例如USB KEY類型產(chǎn)品,可能廠商驅(qū)動(dòng)在描述符某些地方做了加密校驗(yàn),從上層協(xié)議驗(yàn)證設(shè)備的獨(dú)立、唯一性。
如果明確兩個(gè)端口需要工作在不同USB速度下,最好描述符等均獨(dú)立運(yùn)行。
最近比較仔細(xì)地閱讀了ch32v307的各種文檔,對(duì)比了一下公司提供的例程。只有一句話,公司提供的底層驅(qū)動(dòng)太有限,功能太不完善,完全不能放心地直接使用,而且沒有應(yīng)用文檔。如果還是延用早期單片機(jī)的開發(fā)模式,開發(fā)周期太長(zhǎng),絕大多數(shù)人都在進(jìn)行重復(fù)性的底層驅(qū)動(dòng)開發(fā)。
我個(gè)人認(rèn)為,既然公司提供了這么多的芯片,為什么不能把底層驅(qū)動(dòng)做成成熟、完善、可靠的程序?如果覺得公司人力有限,可以為其它操作系統(tǒng)提供底層驅(qū)動(dòng),如鴻蒙、RT-Thread等。如果有了底層驅(qū)動(dòng),開發(fā)周期可能只有幾天或者幾周,開發(fā)成本大大降低,產(chǎn)品質(zhì)量也能得到保證,使用芯片的人也就越來越多,芯片出貨量會(huì)指數(shù)式上升。
所有人都會(huì)延用以前可靠的技術(shù)來開發(fā)新產(chǎn)品,如果在第一次采用新技術(shù)時(shí)遇到了很大障礙,很多人就會(huì)拒絕它。
您好,感謝您提出的寶貴建議,我們也在不斷的豐富完善芯片demo和底層驅(qū)動(dòng),近期就會(huì)有usb參考程序的更新。你也可以發(fā)郵箱至wangyy@wch.cn,提前給您發(fā)一份作為參考,希望能給您提供幫助。另外若您還有關(guān)于usb的參考案例也可以隨時(shí)與我交流。