2007年9月19日 星期三

USB Bus 之邏輯分析儀(一)

上回我們有提到關於PC based 的邏輯分析儀的一些觀念,

(http://chamberplus.blogspot.com/2007/09/usb-controller.html)

這個想法就是來自人家的一本書,當然,在該書中所提到的介面,還是用傳統的RS232。

而對認識版主的人來說:當然不可能還在用這種傳統介面,我們要講的就是USB 啊。

上回我也有提到:在使用USB當傳輸介面時,雖然速度會比傳統的RS232來的快。

但是,在先天上,USB介面會碰到一個比較「棘手」的問題是:

您不知道您所使用的USB Port 上還會不會有人跟您搶傳輸頻寬?!

這對於一些要號稱取樣率很高的PC based 儀器設備來說:可能是另一種挑戰。

我們今天就來作個簡單的實驗。來看一下實際的情形。

首先我們找來一台國產很平價的PC Based 的邏輯分析儀(LA, Logic analyzer)。

至於是哪一家品牌的?我想各位看倌,如果您有用過的,應該就會有印象吧。

這台LA 是屬於16 channels 的邏輯分析儀....規格上的取樣率是:200MHz~100Hz 。

(關於這一部份我上回有提過:就算您有很高的取樣率,但若您USB 頻寬搶不到的話...

您可能會有取樣結果的資料傳不出去的危險!)

在實驗上,我們就讓這一台LA隨時一直在抓資料,我們來攔截USB Bus的資料來分析結果。

而在所有的取樣Channel 上,我們就設定:Channel 0 & 1及 Channel 15 為High  !

我們來看結果如何?!

下圖我們從該PC 端的應用軟體來看:果然是如我們所預料。


當然,我們若用一般八位元的資料來看的話,他們就分別為0x03及0x80 的值。

--------
在看USB BUS上的資料之前,我們先來分析一下:若您要用USB 來抓這種即時資料時,

您該如何去控制USB BUS的開開關關呢?!因為其實USB BUS 對於上層的應用程式到驅動程式,

往往是:一發不可收拾啊,資料您沒收完,您的底層的驅動程式是很難放開的,讓您的應用程式

去處理資料的...這是USB在設計上為了取得高效能的傳輸因素。...

而對於這種儀器設備來說:又好像資料不能流失(Miss) !所以,人家會比較容易想到的方法

就是:Bulk 傳輸方式。但是Bulk 的傳輸方式,在傳輸的Handshake上是要講明每一筆傳輸資料的大小的!

所以,每一次的BULK的傳輸之前就必須利用Control Token 來下達傳輸命令的。

(當然,您也可以利用類似Mass Storage Device Class 的那種BOT(Bulk Only Transfer)的方式來處理命令)

但相對來說:USB Device 端的韌體就比較難處理,利用Control + Bulk 還是一般人比較容易處理的!)

所以,我們先得到一個基本USB 傳輸觀念了,我們再來看實際的傳輸情況:

首先,我們發現果然不出我們所料:就是利用Control Token 中的Vendor Control 命令來下達傳輸啟動介面。

所以啊,名義上雖然是即時(也就是無時無刻)的抓資料,但我們發現:其實,在USB的頻寬上是塞入一些Control Token 的,所以,一定會每隔一陣子,USB BUS上就會停下來一下下的。

至少,在這一個Control Token 的SOF 之間是一筆也沒傳出來。

(再跟各位複習一下:這一組抓到的資料就是OHCI的USB 南橋資料!所以,可以在一個SOF之間完成所有Control Token)。

從BULK的資料內容,我們也的確看到了 0x80這一組熟悉的數據內容。...

(或許您是有很好的工程Sense的人,您應該會開始有一些疑問了吧?!)

我們再來看另一組資料內容:

還是利用Control Token 來控制BULK的傳輸啟動機制。還是一樣會犧牲一點USB的頻寬。

我們也發現0x03 這個我們一開始所設定的測試條件之數據資料。

喔,原來,他們在所謂的 16 Channels 之MSB 與LSB的資料是分開分別傳給PC端的。

但我們不能說人家的機器是分別取樣的喔。否則鐵定會發生MSB 與LSB 不同步取樣的問題。

因為人家的機器裡是有Embedded 一些記憶體Buffer的。所以,USB Bus只不過是從這些記憶體的BUFFER中,把資料傳出而已吧了!

這一部份我們就先不追究,我們此次實驗的目的就要探討USB Bus 頻寬的問題。

好,我們接下來看:我們都知道:一般PC 南橋的USB是兩個PORT是共用一組南橋介面。

(好像這樣說有點不太對?!我們一般可以在下圖中發現一般PC主機板是有兩組ControlSet 的,

當您把USB 裝置插到另一組USB port時,可能會碰到另一個ControlSet,而此時作業系統會再跟您要驅動程式的!

所以,這一部份是南橋硬體與作業系統之間的設定,如果您們有很好的名詞解釋的話,

也歡迎回應說明!謝謝!)

當我們把一支簡單的滑鼠插在另一個USB 共用的PORT時,我們在USB Bus 上就發現了這個低速裝置的Handshake了。

如下圖所示:

這一個毫不起眼的低速裝置的差入會造成USB Bus 上怎樣的變化呢?!

沒錯,他就是會搶USB Bus 上傳輸的頻寬!而且很討厭的是:他不知道什麼時候會插入,

而且您的USB 裝置還不知道這件事哩!!

我們把整個SOF之間的資料列出來分析:(就在"2" 與 "3"之間插進這一個低速裝置PID)

而當沒有插入此一低速裝置的Handshake 時,又是如何?!






我們發現:這樣一個小小稀疏平常的低速裝置的資料,

竟然使得兩個SOF 之間的Bulk 傳輸量從 18 組變成了17 組。當場就少了一組。

一組就是64 Bytes ...就是64 個取樣數據資料被擠到下一個SOF才能再傳。神奇吧

這也代表著這64 組取樣數據要多留在記憶體Buffer 中多待一下子...如果您前端的取樣數據一直進來的話,

就有可能會發生Overflow的問題風險。....

------
好了,若是您在USB PORT上面不是插入低速裝置,而是像大量資料的隨身碟時,

那個結果我想大家都可以想像的到了吧!所以,這種機器當然在訴求上就要強調他們記憶體Buffer 的深度啊。

不過,就我之前提過的:再深的記憶體終究還是可能面臨Overflow的可能性。

因為您永遠不知道您的客戶在使用USB介面時,他們會不會在USB Bus 上插入什麼USB 裝置?

---
從以上一個小小的實驗,我們大家可以體會得到:為什麼這種算是窮人版的LA為何比一般稍微專業一點LA便宜那麼多?!

因為在他們的使用上是有一些限制的。我可沒有說:這種機器是不能買的...

因為畢竟他在售價上是有很大的價差空間的...對於一些人來說:或許這樣的功能已經可以符合他多數的應用。

PS:我們只是純粹分析USB Bus上的傳輸頻寬而已,還沒考慮到上層應用程式端所有造成資料LAG的問題呢。

或許改用ISO Token 會比較好一點,但相對來說:也會有相對ISO Token的問題產生...

而相對來說 USB Controller 所扮演的USB 資料流控管來說,就相對很重要了...

當然,您不是什麼有名的儀器大廠,所以,人家的USB  Controller 也不會為您量身訂作的...

更何況要幫您從韌體到驅動程式再到應用程式端...一路把任都二脈打通是很難的...

像這一家的這一台機器就是用國內某USB廠的Controller ...人家也是隨便從另一個產品線,

拿一個覺得大概可以給您用的一棵USB Controller 給您用的...巧的是:另一家相仿的公司也是用同一家的...

到底是誰抄誰的...我也不想去釐清...好玩的是:我剛好有認識這家USB Control廠的人員...

他們說:他們給這兩家的USB Controller 的確也都沒花什麼心思幫他們解決USB的問題...

結果,這兩家公司還可以在市場上殺得您死我活的呢!.....厲害吧...

----

   後話:我看了全華的那本「基礎邏輯分析儀設計」以及這台市售的LA之後,我發現用我常用的那顆USB COntroller,要作這樣一台陽春型或學生版的LA 好像也不難喔...因為,我直接利用8051 對於外部Memory bus 的Access 信號來當作取樣Timing ...然後,讓USB Bus直接 Access 這些數據傳輸至PC 端...好像就完成了...

然後,我還有三組A/D...還可以當混合型的LA+示波器...看來還蠻好玩的!...

我看我來作一台實驗機來試試...因為最近Survey 了幾家大廠的混合型LA+示波器,價碼都不低...(Aglient..Lecroy..Tektronix..)

雖然我不需要很高的取樣率,但他們機器的起跳都是200~300 MHZ 的...然後價格也都不貲...都至少20 萬台幣起跳的!..

您說一般人,或是學生哪玩得起啊...

    看來有空的時候,可以DIY的東西還蠻多的嘛!...就敬請期待吧...還是有興趣一起研究啊?!

可以跟版主聯絡啊...大家可以交個朋友....也謝謝您們的指教。




 

2007年9月17日 星期一

追隨容易輔佐難(轉載)

轉載自娛雷兒網站的文章:

http://www.haifeng.idv.tw/leo/cgi-bin/topic.cgi?forum=242&topic=9&replynum=last#bottom

這種文章偶爾看一看,讓自己有一點心有戚戚焉就好了!

可別常放在心上,第一:我們可都不是什麼名人或王公貴族,

所以,這類文章所舉的例子都離我們太遠了!...賈老師是教歷史的...

我們也耳濡目染的看了許多歷史的書,我們更懂得不要把自己當作歷史中的人物,

因為畢竟這些故事對我們來說是借鏡,但不是影射自我...

我們還是要當自我,努力的過自己的生活,否則,您就會像一般人犯的毛病一樣:

「我跟您說啊,我之前的那家公司的管理啊....*$%#...」

「以前的公司管理啊... 我現在絕對不會像他們那樣*&^#....」...

結果呢?!您跟他們那些人有什麼不一樣呢?!...

明朝太祖朱元璋不也講的很大聲:內臣不干政....結果呢?!.....

所以啊...之前不是講過嗎?!除了念歷史,還要多念一點「哲學」啊!

多培養一點自我思考的能力,管理文章或是歷史史書都是別人的故事,

那您自己要寫的故事呢?!....

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

-- 喔。最後的一句話是蠻有道理,我也是看到那句話才決定轉貼本文的!

這就是跟我前兩天發表那篇USB 故事裡,有異曲同工之妙。...

所以,如果您也是搞技術的,您應該會有心有戚戚焉吧!

------

PS:至於《穿著 Prada的惡魔》這片電影,我是覺得有另一篇觀點也蠻不錯的:

http://tw.myblog.yahoo.com/9420-9420/article?mid=1544

片中的那句斬釘截鐵的一句話是蠻讓人印象深刻的:"妳不是已經做了選擇"

對啊...無論別人的文章或是您所處的環境如何?!(或許是身陷困境或是在一家人稱人羨的公司?)

或許,您每天也是如片中女主角一樣,充滿自信的進出園區或是高科技公司時,

每天光鮮亮麗的背後,您付出了什麼代價?!...而您在重要的時間點時,

您是否是要選擇要當一個真正的自我!?

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

領導式管理:追隨容易輔佐難


陳生民 /全球華人企業顧問中心執行長NuK


任何領導者都需扮演雙重角色,既是部屬的上司,也同時是上司的部屬,
因此我們說,好的領導者也應該是好的追隨者 (A good leader as a good follower) 。
然而,普遍人認為"追隨容易輔佐難"。

什麼叫做"追隨容易輔佐難"?通常我們當部屬的,如果只是個服從者或是執行者,
那還不夠,還必須是謀畫者與擔當者。前者是成為上司的雙手,後者是成為上司的大腦。
為什麼成為上司的"大腦"難?因為多一雙手可以多做些事,但多一個腦,
就會發生主從不分,相互打架的困擾。因此,多數人認為當部屬的時候,多用手、少用腦。


在帝王時代有一句話叫做"伴君如伴虎",很多老闆就像一隻老虎,他到哪裡,
人們都躲的遠遠的,深怕被他逮到吃掉。可是作為老闆身邊的人,
例如行政幕僚或是一級主管,怎麼可以躲開他,必須隨時聽候差遣,但老虎要是發起脾氣
或看你不順眼,第一個吃掉的就是你。所以,在中國人的管理哲學中,就存在了一些"伴君"的潛規則,最
有名的就屬乾隆與和珅,明知和珅貪污,但和珅懂得投其所好
只要將皇帝伺候好,常常就能大事化小、小事化無。


以前在我們辦公室中,因為人多,形形色色的都有,其中就有類似"和珅"角色的人,
每天必到老闆辦公室報到,跟老闆聊些有的沒的,一聽老闆說最近睡的不好,
立刻介紹最新的按摩機,說自己用過的效果有多好,還可以幫老闆去爭取免費試用,
其實就是自己買來送老闆,老闆心裡怎麼評價,我們一般人是不知道,
但是這位"和珅"出了老闆辦公室,可就很神氣,誰也不知道他在做什麼業務,
只知道他幫老闆辦事,平常他談的多半是最近哪支股票漲了、今天又賺了多少等等,
他幫老闆傳達一些命令,誰知道是真是假,所謂"狐假虎威",這就是這種追隨的典型。

 

你說老闆不知道這是個好部屬或是差勁的部屬嗎?有一天,我們幾個年輕主管終於忍受不了,
在老闆面前告了"和珅"一狀,老闆只說了"和珅就是合身,人只要擺對了位置就是個人才!
這就是從老闆的角度來看,他只要他用的"合身"就好。

我想好的追隨者一定還有一些不同的角度,如果只是老闆認為"合身",那麼追隨的定義)
就改為"無條件的服從"就好。所謂好的追隨者,不能只看他對上的行為,
還應該包括與周遭人物相處的行為;也不能只從老闆的角度看,還得考慮其他人的看法,
而我認為更重要的是他自己對自己的看法。

追隨者為什麼會被貶抑為察言觀色、逢迎拍馬的角色,自然有他自身的因素。

我最近主持一個對話活動,我請每位受邀貴賓最後用一句話總結他們的觀點,
其中有一位人力資源專業人員說了一段話,我認為很有道理,
他說:「我感覺我們很多時候講到人力資源是大家的事情,而且呢,很多部門都要共同參與,
而實際上在過程中,我們自己的地位、專業形象和專業程度,怎麼樣得以體現,我們是不是在很多過程中
迷失了自己,或者在工作的時候已經看不到自己的身影。」

雖然他說的是人力資源定位的問題,其實也是一位領導者自我評價的問題。
追隨一位領導者應該是從自我的角色與職責出發,提供給上司在專業上的建議與解決方案,
例如:有人問我公司核心人才流失該怎麼辦?這個問題同樣是老闆所關心的問題,
如果你跟老闆說:我們得靠調整薪酬待遇或是增加期權激勵才能留的住人才,
老闆一定會認為你失職。因為這是頭痛醫頭的做法,根本的解決方案是在你的職責範圍中,
找出人才流失的原因與對策,可能是公司的產品與客戶需求有差距,產品不成功,
人員沒有成就感,你是負責研發的,你的職責是要更貼近客戶的需要才行。
所有解決方案必須回到你的職責與角色上來,這才是真正的追隨與輔佐。

其實,追隨並不比輔佐容易,不懂得輔佐的追隨是盲目的,因為看不到你在組織以及
老闆心中的價值,在《穿著 Prada的惡魔》 (又名時尚女魔頭 )這部電影中,
我們看到兩位秘書:艾米莉與安德烈亞就是兩個強烈的對比,她們從某個程度來說都很敬業,
但是艾米莉卻沒有自我,沒有自我也不會贏得老闆真正的重視;安德烈亞為老闆也是鞠躬盡瘁,
但是她有自己的底線與原則,她們的老闆米蘭達顯然是更欣賞安德烈亞的。

在我認識的老闆都不是昏庸的,他們都能很容易區別出人才與奴才。奴才為了追隨老闆
是沒有自我的,因此,老闆用奴才的時候是根本不會吝惜,因為隨時可以替換;
但人才就不然。人才不能招之則來、揮之則去,因為人才一定有其不可替代之處,
這就是輔佐與追隨的不同。

2007年9月13日 星期四

有關USB SIE的問題(Q&A)

版主好

請教您一個問題,....(省略)...,我把USB 2.0 Spec K了一遍,發現USB 2.0 SPEC
沒有提到硬體的結構說明尤其是SIE,我能找到的資料只有SIE的方塊圖,沒有詳細的說明,我的想法是把SIE的TX,RX 的DATA 還沒轉成並列資料之前,用串列方式以TTL轉給RS485.(省略).......以您對USB的了解
您其他的建議嗎,可以指點嗎.

Thanks a lot
---------------------------------------
您好...也不知該如何尊稱大名?
 
          首先說明幾點... USB 2.0 (可能連USB1.1) 的傳輸速率是遠大於 RS485 的...所以,我是覺得,您可以放棄用RS485 的想法....可能連RS485 的Transceiver 都達不到吧...查一下75176 的規格吧...我記得他好像只有10 MHz 而已/...
 
           第二點:一般俗稱SIE,就是Serial Interface Engine 怎麼翻?串列介面引擎?!
他是屬於IC設計的範疇的用語,因為USB在通訊介面上會有許多Packet 及PID 、CRC 等...
而這些資料對於傳輸內容來說:是沒有意義的...
所以,在數位設計上,就必須來處理這些看似沒用卻在數位訊號上不得不解的邏輯訊號...
---
當然SIE還有一個功能就是您所說的...
把要收發的資料從Parallel 轉成Serial ...或反過來轉成Parallel 再放到USB Buffer 中,
讓CPU 可以讀得到...等功能。
所以啊....處理這些東西的,就是指SIE...若要進一步說:當收到一個Setup token 發一個中斷(IRQ)給MCU...應該也可以歸納為SIE的一部份吧....
 
    其實,SIE在USB Controller 中是扮演很大的角色,像我們所常填的那些USB Control Registers 都應該算是SIE...所以,SIE在邏輯設計中是佔很大的IC 空間的,當一切都在講求
CostDown 時,SIE卻是一塊令IC設計者心痛的一塊邏輯空間。
 
    或許,當USB 的相容性越來越穩定時,或技術越來越成熟時,SIE 或許可以大大的縮小他的應用空間。譬如,只支援HID 時,就不要再想什麼ISO 或其他用不到的USB 細項...不過,這些竭盡所能的Costdown 的Re-design 卻是國內業者常幹的事啊...
 
        結論:因為每一家的SIE的設計準則未必一樣,所以就算您找到一個SIE的細部設計,
也不一定能套用到所有的SIE上啊...這也可以說明為何您看到只有SIE方塊圖,卻沒有細部說明的原因吧。
 
...
   不知這樣的回答,您滿意嗎?!
 
Chamber..
 

2007年9月12日 星期三

竹科工程師又一樁

看來有空玩玩玩縫紉機還是比較"健康"又有益身心,

還可以促進家庭和樂的休閒活動...

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

這類新聞已經快變成昭告天下說: 這些科技新貴的錢實在是好騙...

這還是報紙有刊報的, 檯面下自認倒楣的還不少耶...

若還要算進那些說:胡亂投資啊, 買東西當冤大頭的...可能是每天報紙寫不完,

難怪幸福城市調查:新竹市第二名 , 但卻不是最快樂的城市.

(http://www.cw.com.tw/article/relative/relative_article.jsp?page=1&AID=3278)

(最快樂的據說是澎湖縣, 最美麗的是台東與花蓮, 看來窮一點也是可以快樂的)

所以啊, 懷疑這些幸福感來自哪裡 ? 科技新貴 ?=? 宅男....

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

http://tw.news.yahoo.com/article/url/d/a/070913/1/kg79.html

援交惹禍 竹科工程師被騙170萬還成洗錢共犯

 更新日期: 2007/09/13 08:00

竹科一名碩士學歷的工程師,在網路聊天室內和一名女子談好價碼準備援交,不過女方並沒有準時出現,對方接著以查證身分為由,要求這名工程師到自動櫃員機前按指示操作,結果這名多金的竹科工程師,前後被對方轉帳一百七十多萬元,而警方在受理案件時,又發現這名工程師的帳戶還被詐財集團當成人頭戶轉帳六十多萬元,被害人一夕之間又成為洗錢共犯,讓工程師大呼倒霉。(彭清仁報導)

警方受理報案後調查指出,這名在竹科一家股票上市公司擔任高階工程師的被害人,今年六月間因為在網路聊天室意圖援交,和化名小愛的女子相談甚歡,雙方立刻約定在竹北市見面,不過小愛不但未出現,還打電話要求被害人到自動櫃員機前按指示操作,以查明是否為警察,這名工程師可能是精虫充腦,居然在對方的指示下操作,期間對方還以被害人亂操作導致機器故障為由,要求被害人賠償,就這樣一而再、再而三,宛如中邪般的匯款給對方,甚至將語音轉帳密碼告知對方,半個月內這名工程師共轉出了十七筆共一百七十四萬多元,警方也直呼實在太離譜了,而正當警方在介入調查時,還發現這名工程師的帳戶內有多筆不明人士轉來的錢,共有六十多萬元,由於警方已凍結帳戶,清查後發現是另一名的被害人遭詐騙集團轉來的匯款,就因為這筆看得到領不到的六十多萬元,這名竹科工程師又從被害人成為詐財集團洗錢的共犯,讓工程師大嘆這一切都是援交惹的禍。

2007年9月11日 星期二

看書、塗鴉、寫日記 對付寂寞我有三寶

燒耶...今天報紙的文章... 
有的時候, 我們玩起一些電子DIY 之後, 往往也不知何年何日的...
難免也會疏忽到身旁的人, 看到這篇文章似乎有點良心不安似的...
不過,誠如文中所述...賈老師總是有他生活之道...
各保有各自生活的一塊區域, 也是蠻不錯的...至於,
賈老師"流水帳"的日記, 乃是家中的最高機密...任誰不能所偷窺的...

2007年9月8日 星期六

縫紉機的故事續集

這是賈老師七月份見報的文章,當初七月並不知情,
俟收到報社稿費時才知情,還特地去圖書館找出報紙。
(善用各地文化中心的圖書館也是一種不錯的資源利用!)

2007年9月7日 星期五

一個另類的USB Controller 故事

   來講一個關於USB Controller 的故事。

這不只是一個平鋪直述的簡單故事而已,這裡面也存在許多工程技術觀點及產品觀念在裡面...

故事我們就從一個簡單的網路討論談起:

http://chipware.myvnc.com/phpbb/viewtopic.php?t=278


林老師是版主多年好友,也算是我的良師益友,

他公司的論壇網站大家有空可以多逛逛,相信老師有空時,也會很樂意的回答各位的問題。

這週我就去書店買了這本關於邏輯分析儀與VB的書。

(「基礎邏輯分析儀設計-以Visual Basic 及 MCS-51 實作」--全華科技圖書)

我也想瞭解一下別人的想法與作法,工程的東西沒有永遠的訣竅或是優劣點...

多看多觀摩別人的想法,有時自己本身再多思考,您會獲得許多好的創意與工程以外的東西。

這本書是今年年初才第一版。

以這樣的內容我想跟時下一些相關的書籍來說,主要還是以傳統的方式來討論:

MCS-51 我們就不用說了...傳輸介面與應用軟體平台還是VB 搭配 RS-232...

這種方式若以產品觀點來說:應該說是比較傾向是學習性質吧...

不過,作者以儀器設備的設計觀點來切入,這種拋磚引玉的方式,

也是值得我們激賞的...至少,人家願意用手上既有的資源來探討一個完整的產品基本觀念...

(但如果拿來作一些簡單學生型的儀器似乎也蠻可行的...)

----
  首先我們來看:這種所謂PC based 的儀器設備,這幾年來也蠻大行其道的...

主要原因是因為目前PC實在是太普遍了,而且PC的功能強大,儲存與資源豐富。

所以,相對也可以無形中降低使用者的成本,故然就得到他們所專注的市場定位。

此書中所用的介面是RS232,以他的傳輸速率來說:他已經先天上限制了他儀器本身的取樣能力了。

因為就算您取樣快(單位時間的資料量也大),您也未必傳得到PC端...

要不然就要增加本身的儲存Buffer的容量...否則終究還是會造成Overflow結果。

(套一句俗話說:總有一天我還是會等到您...buffer爆掉的...)

所以,書中的取樣頻率就是定義在 : 2Hz ~ 100KHz 之間而已。

讓大家猜一下 Why ? ...很簡單:MCS-51 搭配 RS232 能做到 115200 bps時,已經很不錯了喔。

所以,這是這一類儀器設備所必須考量的重要因素。

不過,大家都一定會去思考增加儀器本身資料儲存能力,譬如增加記憶體容量...

但是,這些儲存在記憶體的東西,畢竟還是得傳到PC 端才能處理啊。

不像一些脫機(stand-alone) 產品本身就是一個資料處理器。

我們不要討論這種Stand-alone 產品,因為這本來就是以一種成本堆積的產品啊。

我們還是專注說明這種PC-based的應用吧。

--------------------------------------------------------------
    所以,以上的簡單分析,大家是否思考到一點:若是我的傳輸介面夠快的話,

是不是在一定的取樣速率下,我不但不用增加機器本身的buffer 外,

我還可以縮小Buffer 容量以降低成本?!....

當初我們設計這顆USB Controller時(其實就是一棵Scanner SOC)。

我們當初就是有點想顛覆一般傳統電路上的 Buffer 的設計觀念。

(主要的想法不是源自於我,那時我也只是一個小小的工程師....)

如此的設計我們就可以大大的縮小Memory Buffer的使用量,

甚至只留一點點以致於可以直接做到SOC (IC) 內就好了。

不用再外掛Memory...因為影像的東西,資料畢竟還是得回到PC 上去處理是比較恰當的...

所以,當初當年這一棵SOC 還算是蠻有特色的晶片...

(我還是要強調一下這個"當初當年"這種時代久遠的用詞...)

或許,對於時下一些電子產品是有點落伍了,但當初因為少了Buffer 零件,

大大的縮小PCB 版面積,以一個影像掃描器晶片來說:他只要在外掛一個步進馬達驅動IC

可以完成一台掃描器了。而且若是支援CIS sensor 的話,還可以縮到 44 Pins 即可。

剛好無意間就做到類似名片掃瞄機這一類產品上就很合適了...

而歷久不衰,也算是另一類的奇蹟吧---這也是我們當初始料未及的。
  
   -------                            ------

    不過,大家一定很好奇了,既然有這麼好的想法與成績,那應該"趁勝追擊",

再出一棵 USB 2.0 的Controller ,那不是更好嗎?!

答案是:大家都沒看到這一棵 USB 2.0 版本的。所以結果大家都很清楚了。

-------------------------------------------------------
   
     這是一種存在設計人員與系統應用人員對於產品應用的不同觀點。

當初我們也都同意PC本身功能會一直強化,傳輸介面效能也會一直提升。

所以,有些周邊裝置的成本可以一部份藉由PC本身來降低。

但是,最終到底要不要支援追加外掛Memory buffer 介面,就成了最大爭議點...

還扯出所謂:市場產品地位是由哪一方面人員決定呢或主導?!

---這是一時很難決定的,也不一定誰是最後贏家,最終還是得由市場決定。

但無論由誰主導這樣的產品,最終還是得協調雙方合作的機制,

產品開發很難單靠某單方面人員就可以獨力完成,尤其是這種Firmware Based產品。

但很不幸的,不管雙方所使用的藉口理由是何等的神聖與冠冕堂皇...

結果就是:系統應用端的主其事者「陣亡」....

後來,的確也是由設計人員主導著產品開發設計,出了好幾套設計光罩,

也延續了好幾年...終究還是以一代拳王的宿命收場。

----這是一種以人為本的行業。只要人員不對,就已經決定產品的成敗宿命。

尤其是這種延續改版的產品。因為很簡單,這是一種對於產品的情感與熱情。

產品接班人絕對無法如開創者的熱情與無悔的付出...但往往都是幾年後才會有感觸吧...

這跟人文歷史一般的...所有皇位繼承人都不會體會到創業維艱的,

也不會說有立即滅亡的危機,但就是看每個朝代的造化來決定朝代的年限吧。

---------------
    好吧,我們就回到技術本身觀點。我們發現以當初若要外加支援外掛Memory,

則 44 pins 包裝是鐵定不可行(第一代產品優勢喪失)。

當初也沒有多少標準的SRAM 可以用,所以就改成DRAM 介面,

整顆IC 設計成本就提升,系統成本更不用說。

對於客戶來說:我都還沒有享受到新一代產品性能提升,卻要付出製造成本。

所以啊,原本忠心耿耿的客戶就開始信心動搖了...(也給競爭對手可趁之機了)

   其實,當傳輸介面速率增加提升時,資料留在IC 本身Buffer 的機會就變少了...

的確是有降低Buffer 使用量的機會。

但是對於USB 這種傳輸介面又很難說,因為,USB 的介面上又不只是您一家而已。

萬一有外掛另一個USB 裝置來搶USB 傳輸頻寬時,就很難擔保資料傳輸的流暢度。

這就回到我們本文開端所提的產品宿命--- PC based 的產品風險。

雖然RS232 是一個比較慢的介面,但是人家是專用傳輸介面,一個裝置一個專屬的專用介面啊...

您不可能賣USB 產品給客戶時,說只能限制USB PORT專用吧...

所以,您如果是想用USB拿來作「及時」資料處理的傳輸介面時,

您就得考慮到這一層問題。

    好吧...那提到另一個觀點:若拿目前這顆USB Controller 是不是也有機會作一台簡單的邏輯分析儀呢?

或是示波器...因為這顆USB Controller 裡面是有支援CCD SENSOR介面。

取樣速度絕對可以達到MHz 等級的...所以,好像有那麼一回事喔...好玩吧...

但還是老話一句:USB 驅動程式與傳輸效能的完全發揮是一項重要指標。

我也不敢保證,這還沒有牽涉到上層應用程式的資料處理與畫面處理效能等等因素呢。

所以啊...您也不要再笑人家為何還在用RS232 呢?至少人家也完完整整的完成一項觀念產品設計啊。

不用像當初咱們一樣,原本只是產品規格的爭議,搞到最後:雙方各執一詞,

弄得像是宮廷爭寵謀位戲碼一樣。---再多的研發資金,再好的技術團隊,又如何?!

對於產品的憧憬又如何?!以人為本的設計行業來說,人與時機就是那麼一瞬間的機緣。

當人一不對味,時機(Timing)一流失...再多的想法與人員補充都很難在建立當初團對工作默契。

如果,各位看倌您們目前在工作上也遇到類似的問題時,或許本文也可以提供諸位一點經驗吧。

謝謝各位。

PS:因為最近比較沒時間整理一些USB的實驗數據,下回再發表一些更技術性的文章吧。