2020年2月15日 星期六

Hinet 網頁系列--- USB ROM Emulator 的故事

(前言:這是之前在原來 Hinet 網頁中的文章,這個東西我已經停產了,

因為市場需求跟自己備料生產規模來比,已經完全不符經濟市場規模的效益。

大家也不用在猜測什麼了,這個東西我分兩批前前後後共生產了幾百組。

也幾乎賣到連我自己也都完全沒有任何庫存,那怕後來代理商也非常挺我的

希望我能持續出貨,但還是被我所婉拒了...應該算是見好就收吧...

人生有時就得懂得這一種道理才行。畢竟有時候也得認清世代交替在市場所扮演的

角色,尤其是我們這些搞技術的人。所以這一篇昔日的文章,大家都多少參考一下

吧。或許也可以讓大家可以從中得到一些東西吧)


來寫一個不一樣的東西,當初許多人會來筆者網站的人,可能大多因為筆者所寫的USB

 相關文章因素,所以,還是來寫一篇關於USB產品的故事 --- USB ROM Emulator 。

當然,筆者也不是很強力的推銷此一產品,因為真的當初筆者所設計與開發的此一產品,

也不是要靠此一產品賺大錢,因為說真的,您們多跟筆者買個一兩台 USB ROM Emulator ,

筆者也不會成為『好野人』。不過,筆者當初真的想利用一個產品回頭檢視自個兒在

電子領域裡,闖蕩這麼多年,到底有沒有有能力獨立開發一項產品?這其中包括基本的

電子根底外,還包括了:採購,行銷包裝與種種當初當工程師時,所不屑作的工作

過去許多工程師們,往往是依附在大公司裡,只要扮演好工程師的角色,自然公司就會

賺錢,然後付您薪水甚至發個幾張股票或獎金給您,無形中,工程師們就會不可一世,

認為自己很偉大了~公司沒有您就不行!!那些公司裡動動嘴巴的人,算哪根蔥?

總覺得開公司有什麼難的~只是我不作而已!!否則,隨便作也會賺個百萬或千來萬的!

哈~哈~筆者當初可不是這麼想的!因為筆者當初不是學電子出身的,自從踏進這個

領域,就唯恐所學不足,一直戰戰兢兢的學習。才會想作個電子產品來給自己來個

『段考』一下。
       
 所以,趁當初離開園區之際,養身之際(當初上班時,因公受了傷,後來必須取出

骨頭裡的鋼釘,只能閒賦在家養病!當然也有一股想驗證一下:是否『打斷手骨,

顛倒勇?!』哈~哈~)怕在家裡閒得發慌!只有找事幹。那到底要作什麼呢?!

其實,當初要離開原公司時,公司內一直缺乏新一代的開發工具:USB 界面的

 ROM Emulator !所以,老同事們也一直催促筆者作看看!

        那到底 ROM Emulator 扮演著什麼角色呢?!很簡單,就是開發韌體所需要的下載工具。

一般工程師都比較習慣想到是ICE (In- Circuit Emulator)。但是有些SOC經過IC設計之後,

他可能只剩下直接接在外面的ROM (Flash ROM)。而沒有ICE 介面了~甚至您要有ICE介面

的話,您的SOC內還必須內建ICE 介面電路!以目前斤斤計較的IC成本來說,能省則省,

所以就簡化成單純的  ROM就好了!再用ROM Emulator 來發展韌體就好了!

        當然啊~還有一個很重要的因素:就是現在SOC寫的程式都已經不是過去那種只有  

幾百KB 的程式而已。動輒 1MB 甚至兩三 MB 的程式,甚至是還需要Embedded 一個

作業系統在內!所以,公司內寫韌體的工程師們就是一大堆人!有人要寫運算法~

有人要寫人機介面,還有人要維護他的作業系統。所以,這個小小的需求就因應此一

產品的誕生了!過去,所利用此開發平台工具的產品有哪些?:VCD/DVD 播放系統、

機上盒(Set-top Box)、DSC數位相機、MP3播放器~及 LCD TV 等產品。筆者相信您若

有機會接觸此類產品都應該不陌生。當然,有些解決方案倒也不必須要如此方法,

但往往是利用 DRAM(Buffer)然後再寫到  FLASH ROM 去(像是所謂智能升級,

我們稱之為ISP-In-System Programmer)~這就是需要額外的介面電路!而下載時間比較

長一點:據筆者所知~往往需要三十秒到一分鐘之間!對於開發人員比較多的公司來說:

時間也是金錢啊!

        早期都是Parallel 介面的 ROM Emulator 的!如下圖所示:就是筆者以前用的~

雖然成本較低,但是寫韌體的工程師往往也是FAE工程師,是需要常常帶著 NoteBook 

跑客戶的~現在的NoteBook 真的沒有 Parallel 介面了,而且 parallel 介面還有一個缺點:

就是不帶電


不帶電~您就得幫ROM Emulator 找電!當然您也可以從 Target Board 偷電!

對於 VCD/DVD 或 Set-top Box 去偷電還好!但是當您是作類似 MP3 或DSC這類 

手持裝置的產品時,您就累了!因為這一類的產品的電源設計就抓得很緊:

一般標準的 Flash ROM 大概只耗 6 mA ~所以他們的DC/DC也只能供有限的POWER~

所以,要接 ROM Emulator 就得額外想辦法!

自然而然,供電的USB介面就是一個很好的解決方案。但是,作  USB 介面的東西,

談何容易?!要硬體要軟體(包括驅動程式等)~~ 只是作個Tools ,公司會投多少

人力作呢?!又不能拿出來賣?!完全不符經濟效益!尤其是越大的公司,

作這種事更是不務正業!所以,產品的需求就出現了!

        剛好筆者很不幸會寫USB的韌體~也手上剛好有一個很好的解決方案,

所以,當初要住院開刀前~就請朋友在硬體上做了一塊發展驗證平台電路版!

拿來寫USB 韌體與軟體開發!這個過程包括寫一下MFC 的應用程式!這些技術的

關鍵都已經在筆者相關的USB DIY 文章中都有描述了!前前後後花了大概兩~三個月

的時間--當然PCB來回也修了幾次,這其間包括寫安裝光碟程式。

        之後呢~就完成基本的電子與相關軟體工作了!接下來就是要作以前別人覺得很不屑

的包裝工作了!像一般作電子的人,大概作到類似上圖的東西,就想拿出來賣了!

您覺得~這上圖那種東西有那個公司客戶會跟您採購呢?!這時就得到處跑機殼製造了。

不過,這些雖然辛苦,但是相較於寫韌體與軟體來說:還算不會太難!但是等您自個兒

做過,才知道箇中滋味!--這其中還包括了:採購Cable 啊~找網版烤漆啊,

當然這些美工還算是都是DIY的。




還算不錯吧!

        我想很多人看了筆者許多USB的文章,會不會總覺得筆者只是吹牛,耍耍嘴皮子而已~

到底有沒有實際的東西呢?!還有拿這樣的USB 的解決方案到底可不可以做出一點

東西呢?您們也不必買一台回去拆了,就拍一些照片分享一下!



下版為 USB 控制版,上版就是依照不同需求的  SRAM Buffer !


可以看到PCB版上的DateCode 嗎?-- 0513 !!對啊~就是去年約三月底完成的!

整個開發約四個月的時間。就開始請老同事拿去各個開發平台試試看!

有沒有發生USB的相容性問題?!有!作USB的東西,沒有相容性的問題是騙人的!

這個產品在 Windows XP 的Service Pack 2 被抓到一個BUG !其餘的就沒有了!

硬體部分也已有一些Know-how 啊!這一部份就不是筆者所專長的~是朋友幫的忙了!

筆者只知道在硬體上比較難的是: 最大的容量:32Mbits (4Mx8 bits) 仍然可以不用

外接任何電源~也不要偷Target Board的電,也可以工作! 

這點真的就比較已有一點挑戰性了!

        另外,再提一個此產品的另一個特色:就是下載速度快,在作一般USB  Tools 的過程中,

往往事先將資料下載到 USB Controller 中的 Buffer ,再一筆一筆,或利用DMA 一次搬到

外面應用介面裡!但是,筆者作的這個USB ROM Emulator 卻是直接從PC端直接下載到  

USB Controller 外的  Data Buffer 裡!(就是直接選用Bulk Transfer ,透過 8051 的 WR 訊號腳

直接USB寫到 外部 Data Buffer !)都不要透過 USB Controller內部的記憶空間,

所以,筆者的  USB ROM Emulator 的下載速度是無人能出其右的! 4MB 就是大概不用 

五秒左右,這點客戶都讚不絕口!小小的臭屁一下!請不要見笑!

        之後,就還算可以了~也感謝園區許多公司的支持!讓筆者能夠在自我產品過程中,

有那麼一點小小的欣慰:這些公司有 凌陽科技、其樂達科技、松翰科技、迅杰科技及

慧榮科技等等!(族繁不及備載)謝謝您們!
------------------------------------------------------------------------------------------------------------------

        後記:開發此一產品的最大收穫~當然是來自心中那股成就感啊!當初許多朋友也

蠻幫忙的!幫忙的唱衰筆者說:作這種 Tools 的東西會餓死!當然,也的確啊~ 

這個東西真的找兩個人作就會入不敷出了!當然,開發這個產品的最大的收穫除了

基本的電子電路的自我檢視外,還有一點是筆者以前在大公司裡永遠學不到的東西:

就是到處跑去找PCB 打件廠、跟人家談外殼製造,建立自己品管的測試平台。

自己再一家一家去推銷一下然後送貨!把整個產品開發到送到客戶手上~

再到售後服務等等許多過去當工程師學不到的東西,自己好好的走一遍

        另外一點的是:當初剛離開學校時,是學航太的~不太懂電腦~當初也沒什麼繪圖軟體,

只是當初年輕氣盛,精力充沛,覺得當初那些繪圖軟體:像 Animation Pro 或 3D Studio 等

軟體,都蠻好玩的~就玩了一陣子。也給自己建立一些美學基礎

(嘻~嘻~當初在學校裡也是美術社的啦!!當初在學生時代就比較活躍了,

可能不像現在有這麼多關起門來的東西:Such as 線上遊戲或MSN之類的)。

所以產品包裝或光碟製作就完全自個兒DIY !所以,也正式驗證了:學東西不用

太在乎未來會不會用得到?!否則,沒有當初那個傻勁,也就不會有此時的樂趣了!

        無論此一產品可以保持多久的競爭力,但筆者比較珍惜的是此一過程!也分享給各位。

謝謝!

        這其中令版主最感動的是最佳損友:盧宗文先生。他也是第一代Parallel 介面的設計者,

許多硬體或PCB的相關技術都是由他協助的。當然,唱衰我做此一產品最多的也是他--

您可別打我喔!盧先生也算是國內做車載多媒體播放系統的第一把交椅的人物,

大家若對於車載多媒體系統有興趣的人也可以透過版主跟他聯絡,只不過,

盧先生比較少在國內,他現在也是屬於『首席顧問』級的人物。

要找他可能比較不方便一點。不過,大家還可以試試看吧。


沒有留言:

張貼留言