一般人對於 使用USB 來說:或許都很難感受到底層Driver (驅動程式)問題。


都把他想像成一般 RS232 那種感覺...買一條RS232 轉USB 就沒事了!


當然啊...版主自己也不搞USB底層USB驅動程式。


但是最近作了一個實驗:就是 USB 轉DMX512 這個東西...


其實,以一個USB 要來傳 250kbps 的東西是輕而易舉的事,


根本不需要什麼 USB 2.0 的東西...


但是,這種DMX512 的東西有一個很討厭的要求:就是要及時傳輸!


這個問題就會考驗您USB 及時傳輸效能了 !!


如果:您是希望從PC 端想固定每多少 msec 由USB 幫您傳一筆資料時...


您會如何作呢?!在VC++ 的環境中呼叫一個  時間中斷函數?!


時間準嗎?!...其實,以目前PC 的超強的運算能力來說:還好!


但是實際?真的如此嗎?!


答案是:您資料傳到USB 收到,再幫您往下游傳時,這個時間是忽快忽慢的...


Why ?!...答案就是出在作業系統所管的驅動程式上!


這個問題據說在 USB 轉RS232 的現象更明顯...


見:http://godspeedlee.myweb.hinet.net/job4.html


(只要看跟這篇文章有關的內容就好了!萬一被其他內容給洗腦了,


可都不要怪到我頭上喔...不管我的事喔..人家的言論自由...


..."因為 USB<->RS232 跟主機板上的 COM Port不一樣,塞資料給它
不會馬上幫你傳..."...)


-----------------------------------


所以啊...您要控制USB 的及時傳輸能力,一定得從USB Controller 韌體端去下手!


讓PC 端上層應用程式的資料,盡快的到達USB 底層Driver 去等!


如此一來。您才可以做到這種資料量要大不大,卻又要即時(real-Time)傳輸的要求。


不要USB Controller 要資料時,再由作業系統去向您的上層應用程式要資料!


這時,您才開始準備資料...那鐵定忽快忽慢的...您想想看:


現在WINDOWS 作業系統...絕大部分時間都是空等的...


不是運算速度慢,而是您在系統的規劃與資料傳輸流方面沒有認真的考慮清楚...


還要怪人家電腦慢?!USB 1.1 乃至於 2.0 太慢。...


---


改天再讓大家看看USB 轉DMX512 在速度達到 及時傳輸時,所能展現的美麗畫面!


....(待續)


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 賈老師的真老公 的頭像
    賈老師的真老公

    ChamberPlus System Level Studio

    賈老師的真老公 發表在 痞客邦 留言(11) 人氣()