我最近因別人提醒才發現今年有許多USB 控制器IC 廠都有推出所謂的
這一種USB 轉接IC 。
國內的:
---
國外的:
(這個就是那個 Microchip 的MCU!)
當然還有在USB 轉RS232 很有名的 FTDI :
FT2232H - Hi-Speed Dual USB UART/FIFO IC
----
當然也有一些可能是Design House 拿別人的 USB Controller 所做的產品。
只要您在 Google 輸入 " USB to SPI " 之後就會一大堆了。
---
當然這一種USB 轉接IC 也不是第一天才有,很早以前就有所謂的USB 轉UART。
也是我們俗稱USB 轉RS232 的東西。
我想這當然就是有市場需求才會有一大堆這一種東西。而最常見的應用場合,
就是一些比較沒量但又特別需求:譬如工業控制或是一些簡單的儀器設備之類的。
這些東西您說是標準化的東西,又很難說是標準化,也很難講不是標準化?
那如果要當標準化的IC 賣~那以USB MCU 原廠來說,最為樂見了。
他們只要出了一兩張標準參考電路圖,外加一兩個範例程式...再附給您一個驅動程式
或PC 端標準的 VC 範例程式就好了。人家就可以開門做生意了。
---
也難怪這些原來搞MCU 的IC 原廠也做起這樣子的生意了。
當然之前也有人問過我這一種東西...但深究這樣子的需求與真正在系統解決方案上的
應用狀況,難道真的這麼簡單嗎?!
您還記得我以前寫過一篇:高壓點火~令人困擾的干擾問題 。
我當初用的就是一般市面上常見的 USB 轉RS232 的標準轉接線!
最後結果當然就不能用啊!
那怎麼辦呢?!...最後我也只好用一般的USB MCU Controller 自己寫一個
轉接線,也順便把硬體電路上所碰到的一些電磁干擾的東西給一併解決。
當然啊...我也不用人家的驅動程式...因為萬一碰到問題您也沒得解!
----
所以:針對這一種USB 轉 UART/RS232/SPI/I2C...等等,其實他們的問題都
是一樣的。除了一般標準RS232 /SPI/I2C 的基本規範外...最麻煩的還是在於
您自己本身的 Command protocol 與Handshake 的問題。您說:
SPI/I2C 有標準的Command Sets 嗎?!當然您拿SPI 寫Serial ROM 是有的!
但許多應用是沒有的!萬一您碰到一些檢查或干擾問題時,您要透過額外的
Command Set 來偵測解決問題時,您所採用的USB 轉接控制IC 有提供嗎?
---
我最近碰到一個問題:他就是標準的USB 轉一般SPI 介面,它是使用在
工業儀器設備上...結果常常因為莫名的原因產生當機現象。
後來他們找了軟體工程師們下去看問題點,結果結論就是:USB 介面有問題。
疑似是有電磁干擾問題造成USB 與SPI 端儀器設備的問題。
當然整個USB 轉SPI 標準接法就如同這一些USB 轉SPI 原廠所附的參考電路圖與
相關驅動程式所完成的!---- 也整個打包成一個個模組...
所以碰到問題,搞軟體的大概也只能追到他的上層應用軟體程式大概就卡在
對於原廠所附的驅動程式端吧!...當然當場就沒解了!
------------------------
因為您可以去看這些 原廠所附的驅動程式與他自己本身的所附的參考軟體介面
就簡單的給您幾個簡單Command Set 去定義一些標準的SPI 設定與讀寫動作
指令而已!
----
結果萬一真的碰到問題時,您怎麼辦?!難道真的要靠Close Device 在Open Device 來
Reset 硬體介面嗎?!...
但有時很討厭的是:往往有時當機的時候,是死在底層驅動程式與作業系統端的問題。
類似的問題,我在以前許多 USB DIY 文章中常常提及。結果對硬體與對軟體來說:
都不知如何是好?!--- 當然很多人就會自作聰明:在USB 線上加Core ..Bead ...
或包覆一些防干擾的東西...或這邊接地,那一邊再加一個大大的鐵板當Ground 。
我自己的經驗的是:無啥效果!...今天會干擾~明天還是會...今天不下雨,過兩天
萬一打雷下雨怎麼辦?!...過兩天台電又不爽給您來個"市電閃電"怎麼辦?!
( PS : 我跟高雄的林老師曾經聽過最離奇的問題是:當工廠裡的天車(吊車)
從機器設備上空滑過時,儀器設備就被干擾一次...!.........)
----
結果搞了老半天才發現這樣子的問題還真的不如賣鹽酥雞簡單容易...因為往往發生
這樣子的問題時,通常都已經是在整機組裝完畢後驗證測試或是交機安裝在客戶
廠房內時...這時您說您怎麼重新改硬體?改驅動程式?甚至還要軟體...最痛苦的是:
開始懷疑這樣的USB 轉接方案的USB Controller 真的有問題?!
您想一想:當USB MCU Controller 原廠公司的工程師們搞這些東西時,
哪有想到這麼多鳥事呢?!人家賣您USB MCU 時,也以為這種生意好作啊...
只要給參考電路圖,驅動程式...外加幾個簡單的AP 範例應用程式就想出貨收錢了。
殊不知原來外面的生意環境險惡。工程師搞了老半天還是被客人打槍的說:
您們家的東西有問題...那到底是軟體有問題?還是應用電路圖有問題?!
還是真的USB MCU IC 有問題?!...當然啊,在業務大人備受責難之下,
跑去跟工程部門主管抱怨時,大家皮就得繃緊一點,包您班加不完啦!
----
那您一定想問我結論怎麼辦?!
很簡單:天下沒有白吃的午餐...所以我當初寧願辛苦一點,從最基礎的
系統應用環境考量,重新設計電路版,改寫USB 控制韌體...採用比較穩定可靠的
驅動程式...外加上層比較聰明一點的應用軟體程式...
相信我說的:搞USB 系統應用沒有捷徑,也沒有那一種 Easy Money 的啦!
=====
PS : 文中所提發生干擾當機的USB 轉接IC 還不是國內那一種隨隨便便的USB MCU,
而是國外鼎鼎有名...還是大家公認最佳的 F 牌的 USB IC 。我當初也很納悶訝異的請
對方再一次確認一下問題真的出在USB 端嗎?!答案是肯定的!因為他們的軟體
工程師也是追到底層驅動程式時,就知道了!...而我當場也看到PC 端上的
USB IC 所呈現的USB IC 之PID/VID....您說:您們家的USB IC 就比較厲害?!
這是整個系統應用的問題啊!
好吧! 去賣鹹酥雞吧!
回覆刪除話是這麼說~
刪除但真的國內要搞電子,系統應用的人,也是有如過江之鯽...
嚴格算起來,搞不好真的不比賣鹽酥雞的人少啊!
但做生意的道理都是一樣的:您要不要深入研究,然後真的撐到最後?!
否則,現在隨隨便便找個人寫韌體,劃PCB、搞PC 應用軟體的...
應該都不難找吧!
小P 喜歡超愛這裡
回覆刪除除了技術趣之外
還有濃濃人文味...理性的批判及自我反思
匠氣 VS 匠思 VS 匠心
如果小P去賣雞排,一定請版大全家免費吃到飽.........
我想每個人的生活不會是全都是工作或技術的東西。
刪除您剛畢業,您可能想看,想討論的是:USB 或是一個簡單的
韌體或軟體程式的技術觀點。
您工作一陣子之後,您可能有機會接了主管,上台報告,交月報~
您可能接觸了技術以外的管理工作,也讓您有機會親身體會
某些官場文化,您想看,想知道的是哪些職塲的人生百態。
等經歷了這些~您大概也上了年紀,您有些親朋好友,甚至
自個兒家裡兒女成長,或許您開始有了人生生老病死的體驗了。
人生經由這些歷練,您也開始懂得圓融,也懂得該進一步體驗人生,
想去享受屬於自己的人生歲月...自然而然您就會成就屬於自己的:
"匠氣 VS 匠思 VS 匠心"
套一句我們星爺的電影名言:只要您肯用心,人人皆可以為食神啊!
真的是這樣耶,很多廠商搞USB轉4 RS232甚至8 RS232,但是要不是跑到高速時有問題要不就是timing有問題... :))
回覆刪除更不用說您老提到的電磁干擾~
請問老師有沒有比較過市面上的USB轉UART的IC
回覆刪除那一個比較好用?
說真的~我還真的不想浪費那個生命呢!
刪除自己搞一個還比較快~還可以順便標榜 Made in Taiwan ...
僅此一家別無分號的產品...這樣子不是更好嗎?!哈~ :)) :)) :))