2008年11月29日 星期六

最近的網路笑話

如果依其原始的想法的話:應該有很多科技產業都可以套用此一邏輯!

您就自己加自己的吧!

----Chamber

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

真慘---不信你看
黑夜。一女遭遇劫匪。8
顫抖曰:"大哥,我是賣DRAM的,兩個月沒發工資了,
還剛被裁員,你看報導就知道了……"劫匪聽後竟然痛哭流涕。
"妹子,同行,俺原來是賣的FLASH,後面那幫搶劫是做模組的,
你放心,我們絕不搶自己人.
對了,邊上那條路不要走,那邊是賣CD-Rom的。
....................................................
沒路可走了.另一條路還會遇到做LED的....
....................................................KQ-
妹子,以後還有面板的會加入我們的
....................................................
右邊巷也別走,他們是鴻海的mm

2008年11月28日 星期五

JPT ---您要加油 !

昨天以前公司同事正式發郵件告知版主說:J 罹患鼻咽癌末期,已經暫時離開工作,

返回老家作化療與養病了。這件事前幾天版主才輾轉聽到此消息,

也有在部落格提到此事。看到郵件內容所述的一切,讓版主不禁憶起昔日並肩作戰的情景。

J 是台清交大的高材生,一畢業就進入公司負責IC設計工作。

而版主負責驗證IC與系統架設與發展...當初因為市場產品方向都尚未沒明確。

公司也沒有投太多設計資源,結果J 就一肩扛起設計工作。

IC 設計本身本來就是相較於系統設計來說:就是比較枯燥與單純。

所以,以前在公司的專屬吸煙室裡,常常看到IC設計者們聚集吸煙解悶。

當然J 也是常客之一...雖然明知吸煙對身體不好,但您又何忍心剝奪他們生活上唯一的嗜好呢?!

當初公司內這條產品線的工程師們來來去去的改朝換代好幾批...(當然版主也是其中一位!)

但唯一從公司開始發展此一產品技術時,J 就一直堅持此一崗位到目前為止。

但畢竟人不是鐵打的...人也是有血有肉的軀體。J 病倒了...

J 成家立業都是在該公司完成的,老婆也是大家所熟悉的老同事。

連董事長都很支持這位自己的老學弟....實在是有太多的回憶都不禁一一的浮上心頭。

-----

J 您真的要加油啊...不是要您在IC設計工作上加油;而是要在您生命中加油。

在此真的要為您好好祈福...希望您要努力,堅強好好加油喔 ...

希望還有機會跟您合作!畢竟當初在我們合作之下,在別人不怎麼看好的條件下,

我們也交出一筆好成績,也希望您在戰勝病魔的過程中,也能交出一筆好成績。

---- 加油! J....您要好好加油喔!...祝福您!...

2008年11月27日 星期四

USB 裝置的主從控制想法

這的議題是因為我今年主要的一個USB應用程式的成形讓我覺得USB DIY應用更上一層樓,

而這樣子觀念我個人覺得是可以延伸到其他應用領域:譬如PC 應用程式之機器人伺服馬達的即時控制。

然後,因為好友林老師他今年要玩機器人控制時,個人的一個小小意見:

http://chipware.myvnc.com/phpbb/viewtopic.php?p=1036#1036

或許大家會覺得這樣子的東西應該跟一般HID 有點像喔...

一般所謂的 回饋式的遊戲搖桿是這一種嗎?!....

我個人覺得應該還有一些不一樣...

第一:回饋是搖桿的PC 主控控制單元不多...只有一個直流馬達而已也不需做到精準的時間控制...

等您要控制的馬達多一點,而且是要作定位控制的!(USB DEVICE回傳多...下傳接收不多!)

第二:當您利用HID 把資料回傳PC 端時,您的上層的應用程式才會知道,

然後,再重新利用應用程式把更新資料在重新往下傳到OS 的驅動程式端....

在傳出時,您有可能要跟其他PC正在執行的其他應用程式搶作業系統的資源時,

發生時快時慢的時間間隔(就算是用常駐程式寫,也是一樣的!)。

-----

或許大家有更好的方法,我也不敢說我的方法最好。但畢竟我把他給實現了。

所以,我就可以把機器人調伺服馬達動作(就是要調整機器人整體動作!)

可以在PC 端即時的設定動作...然後可以完成預覽-->設定--->下載儲存--->脫機

--->完成機器人自行調整各個伺服馬達動作完成一連串動作!

就如同我在USB2DMX 的操作影片流程一般。

(謝謝影片中,連我那個念小學的兒子也可以輕鬆上手操作這樣子的軟體設定。

這不就是我們希望玩機器人可以普及化的想法嗎?!)

或許大家可以提出想法討論!...謝謝!...

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

原文的說明如下:

http://chipware.myvnc.com/phpbb/viewtopic.php?p=1036#1036

-----
我想這個東西有點像我今年寫的一個程式:USB2DMX...

http://www.youtube.com/watch?v=BcpXkgfyoJo

...
我稍微提一下這樣子的程式觀念:
主要就是所提到的如何利用程式中的『滑桿』的動作能做到Real time 控制Device 端的動作---原來的我LED應用中就是LED 節目與速度的改變!而若是伺服馬達的話,就是伺服馬達的作動。
這樣子的控制流程的最大問題是:明明是由PC程式端來下達Device 端動作的改變;但是呢?在時間控制軸上來說:應該由Device 來決定動作的改變。...
因為LED 什麼時候完成PC指定動作,可以在接受下一個PC指定動作。
(伺服馬達什麼時候完成PC指定動作,可以在接受下一個PC指定動作。)
只有Device自己最清楚的...否則,在時間控制上會亂了章法的...
會讓LED 跑起來時快時慢(伺服馬達也會一下子正轉...還沒定位又要反轉...)
----
而以目前PC 端的應用程式對於周邊裝置的驅動程式來說,
是很難精準的做到時間間隔一致---除非您要寫一支常駐程式。
(以現在龐大的視窗作業系統來說,常駐程式真的不容易寫也不容易維護的!
也容易發生掛平台兼容性問題!)
那更不說想用VB 來寫這種程式啦....(譬如利用VB +RS232 來寫!)
--
我當初唯一能想到的就是USB還有機會...
但又一定要USB Device 的Firmware 的強力支持,
在搭配PC 端的應用程式與底層驅動程式的相互搭配才有機會完成。
因為畢竟只有在Device 端才能精準的時間控制...
because 在Device 端的Firmware 只有服務本身功能,不像PC 作業系統這麼複雜。
而以USB裝置來說:明明USB裝置是一種被動的周邊裝置(以主從觀念來說!)
怎麼又可以做到USB 裝置來主控與PC 端應用程式之間的即時資料交換呢?!
---
這個就是我所要說的:如何利用USB Device 的Firmware 搭配USB
驅動程式與PC上層應用程式端的交互整合才可以完成這樣子的觀念。
---
其實,當初這個觀念在我動手作這樣子的系統規劃時,我自己也沒有把握可以完成?因為真的不容易達成的....但事實證明我的想法沒錯的!
所以就完成了這一組 USB2DMX的系統設計。
我想同樣的觀念是可以延伸到利用PC應用程式做到這種伺服馬達的即時(Real-time) 控制的!
---
個人的小小意見!

2008年11月26日 星期三

USB DIY-- 自學計畫(二)

好吧,我們接下來就實際把原廠所附的USB原始程式給跑起來,

然後實際的操作一遍。....以利我們觀察一下結果。

原則上,我們都不對原廠所附的程式作任何修改,直接組譯下載。

結果呢,我們可以很快到的看到在電腦裝置裡,出現該USB 裝置。

(圖)

我們用的USB 驅動程式也是原廠所給的....不過呢?!原廠也有附上

驅動程式的原始碼,可以供使用者自行修改之。

只不過,使用者要有Window XP DDK 2600 ,才能完成組譯。

我把他所附的驅動程式組譯之後,竟然發現兩者之間的程式大小不一樣!!

先不管了...我們還是先採用原廠的驅動程式...

-----------------
當我們看到電腦出現USB 裝置時,一般的初學者,都會有一股小小的成就感,

覺得好像學USB 就是這麼簡單嘛!....我也會了....

這好像一般時下一些菜鳥工程師常犯的毛病,大陸工程師也是如此,

只不過,寫過一兩個程式,或是向這般跑一次範例程式,就到處炫耀跟別人說:

USB 這種東西很簡單啊... 我也做過....就是怎樣?怎樣的簡單啊....)

但事實真的如此嗎?!....我們把原廠所給的韌體程式所產生的Enumeration過程給抓下來看:

(圖)

乖乖....我們這種老鳥明眼人一看就發現不對勁?!

不對...缺一個ACK Token ...這鐵定有問題,跟您們說:別想騙Microsoft 的OS...

雖然微軟的OS常讓別人罵爽的...但是您也別想呼籠他...

這個原廠的韌體在回 Enumeration 是不對的....否則 OS 不可能不回ACK 的!

再仔細一看:人家系統USB 明明要 0x0A 個Bytes 資料,

USB 韌體竟然回個 32 Bytes ....而且還是亂碼....太離譜了!

雖然外表好像煞有其事的正常顯示出USB 裝置...但不代表您的USB 韌體是對的 !

夠詭異吧 ....這是要玩USB 要先有的心理建設,您不要以為原廠給的東西就是對的!

因為原廠的工程師也是人啊...也有菜鳥工程師啊...也有摸魚打混的人啊!

我們就查了一下:這個Setup Token 是要Device Description中的 Device Qualifier 。

這是USB 2.0 才有的東西 ...USB 1.1 沒有支持這個東西 。

但人家微軟的作業系統一定很清楚是USB 1.1 或是2.0 的東西 ...

人家OS 會來問,一定是USB 韌體本身自己搞的鬼....

往USB Enumeration前面一點看: 果然不錯...自己在USB 的宣告中:自稱USB 2.0 。

(圖)

這叫白癡啊...明明自己韌體程式不支援USB 2.0 的這個命令,

自己還擺爛的回人家說自己是 USB 2.0 !這不是找罪受?!耍白癡嗎?!

這果然跟我們台灣政治人物一般...只是喊爽的而已...又不是真正的 USB 2.0 !

又再一次的證明版主常掛在嘴邊的一句話:不是最好,最快的就是好東西!

只有適合自己用的,才是好東西---才更能凸顯自己的價值啊 !

(像我們這老鳥工程師們平時打屁時說的:在硬體設計時,

所有的元器件都用最好,最貴的...做出來的東西跟人家說自己多會設計電路...

我們常開玩笑說:他應該生在美國,長在美國才對啊! ...這樣的東西有什麼好炫耀的!)

----
好吧 ...我們就原廠的程式把他修改宣告為 USB 1.1 後,再試一次!

(圖)

從上圖中我們發現我們已經回USB 1.1了 !

我再看一次相關的 USB Enumeration 過程.....

(圖)

看到沒?!...漂漂亮亮的完成 USB Get Device Description...

再 Set Configuration....完成整個USB Enumeration 。

完美的Touch-down !--- USB 2.0 有什麼用?!錯的啦...

人家USB1.1 雖然笨一點,老一點...但人家微軟給一百分滿分啊...

------
沒想到,才一開始想用原廠的 程式來修改USB 的應用程式,竟然一開始就發生這種烏龍事件。

當然啊...如果是您呢?!...只要電腦Show出您的 USB 裝置時,

您就高興的非常有成就感?!....您在被陷害您不知道而已. !

等下回人家微軟嚴謹的抓您的USB Bug 時,您該不會一句說:不會啊!

以前我都用得很順利啊...怎麼會有問題呢?!這是一些工程師常慣用的藉口啊

您我捫心自問....我們真的有真正的去面對這種類似的問題嗎?! ...我們真的很有用心的去學習嗎?!

這真的需要花您好幾天的時間嗎?!....而您卻想百般的逃避與不想面對他?!...

這真的不是學技術好的態度的....

-----
接下來呢?!...很不幸的,我RUN 原廠的應用程式,來實際 USB Bulk In/Out...

答案想當然爾---- 也是不對的啦....唉...這到底我比較賤手呢?!

還是真的原廠也是在耍白癡嗎?!...要讓學習者從抓他們的Bug 來學習嗎?!

雖然學技術,是從抓Bug 基礎扎根起來的....這的確是不諱言的。

但看樣子...接下來還有得玩呢!....

(待續)
-------------------

1. 改寫原廠的USB應用程式


2. 改寫原廠的USB應用程式(續一

3.改寫原廠的USB應用程式(續二)

4.USB DIY-- 自學計畫(一)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)






 

2008年11月25日 星期二

USB DIY-- 自學計畫(一)


想跟版主重新學新的USB Controller 的人有福了,因為版主最近會嘗試使用另一家

USB Controller 了,所以,就藉由這個機會跟大家分享一下這個USB DIY 的自學計畫。

而版主預計整個自學計畫預估約為期一個月。我也不敢誇口說那種"30 天學會 USB "!

這種賣書廣告啊...就等我有機會出書時,再寫啦。

但是我希望這是一個目標...而既然是目標,當然就要努力去達成,

而達成的目標的過程是需要方法與一定的程序的,在正確的方法與程序指導之下,

方可順利達到目標!接下來所要記錄的,便是這一過程。

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

首先當然要稍微K一下原廠所提供的Datasheet ...不過,這一部份只要稍微瀏覽過一遍即可。

因為真正的使用還是得從實作中去體會比較快啦。(K 原廠的Datasheet 花個一天就可以了...

不要太浪費時間,不如等做過一遍再看,印象會比較深刻!)

一開始還是藉由原廠所提供的Demo 程式與環境去走一遍韌體與軟體。

這樣子就比較容易進入狀況。也避免走一些冤枉路。

軟體部分,前兩天有稍微提到原廠所提供的原始碼,這一部份是由C 語言的MFC 所寫的。

所以,應該還可以隨時接手,就暫時先擱一邊。

我們就從USB Controller 的韌體開始看吧。---

老話一句:工欲善其事,必先利其器。....我們先把輔助工具搞好再來看韌體會比較快。

------

我們都知道,不管您是哪一家的USB Controller ,他的USB Housekeeper 程式一定

Interrupt drive的韌體架構。只是每一家對於USB Token 所發的中斷會有所不同。

這是我們一開始要搞清楚的,否則啦...您會根本沒機會敢去改這一部份啊。

而接下來呢...您就根本就沒信心的進行下一階段的USB 學習了,自然您USB 就學不起來。

首先呢,您們或許都不知道:CATC 的USB 分析儀有一塊外接的Breakout Board:

我們看一下原始的使用手冊:

    到底這塊外接Breakout Board有何作用呢?!又該如何用呢?!...

很多人都不清楚,在此我就稍微說明一下,但是呢?!很不幸的。我也沒有這一塊版子。

以前問過原廠,他們也不鳥我,電路圖也找不到。...只好自己打開機器找一下電路,

我就自己DIY 作了一塊Breakout Board,看來還可以,不錯用的。

我們從原廠的使用手冊看到:他有提供四組User Signal Data input#0~3 !

這可以讓我們系統的控制訊號與他的分析軟體同步。---這是比示波器好用的地方。

他的接法很簡單:DB37 接頭 ...我只要拉上述的四條線就好了...其他的,

我是覺得要拉的機會也不大,因為我們不是要搞USB IC設計的。

而他們主要的四條分別如下圖所示:(看來我DIY的功夫還不錯哩!)連那條連接線也是自己作的!

好了...接下來我們來看一下:這塊版子神奇的地方。...

----

我們一開始要用哪一支原廠的範例程式呢?!...用HID?!用一般的自有的USB Driver ?!

以我個人的意見呢?!...應該是後者!---一般的自有的USB Driver。

走一般的 USB Control/Bulk Token 就好了!(雖然很多人會很怕啊!)

因為您必需先搞清楚整個韌體---驅動程式到PC應用程式。---否則,當您用HID class ,

劈哩八啦,架起來玩了一次,好像都可以用了 ...然後呢?! 整個USB 還是搞不太清楚!

然後呢...心裡的那個惰性會讓您不想再回頭看很基礎的 Control/Bulk 控制方式!

結果呢....您的USB 又是半桶水的拿不上台面上來作其他相關應用。

這是純個人意見,如果您覺得不妥,您還是可依照自己的方法學與搞USB!

原因是因為:Bulk Token 基本上是跟Control Token 很像的...

所以,對於PC 的 AP 端來說:是比較單純的...其實,韌體也是一樣的!

但是呢:HID 反而還要多一組Interrupt Token ,而且他是走HID  Class,

您還得去K 一下HID Class規格 ,搞得懂所有Report 的定義與用法,

一開始學USB 不用搞這麼複雜吧....一開始越單純,學得越快啊!

我提到的一個月...最終也會包括HID的....我自己認為那只是另一個很簡單的轉換而已!)

-----

好吧,我們來看這塊Breakout Board 好用之處:

首先我們先在韌體的USB 中斷程式的進入點加了一段I/O Toggle程式,

讓每一次USB 產生中斷時,就Toggle 一下I/O ,我們再把這跟I/O 接到

Breakout Board的 User Signal Data input 上:

我們就可以在其USB 分析軟體上同步看到這跟訊號的變化:

(粗的代表為 High ...細的代表為Low...藍色為USR_D0...綠色為USR_D1...依此類推!)

上圖是USB 插拔過程中:Enumeration 過程韌體所回的 Device  Description 。

這一部份鐵定是由韌體所回的....我們可以觀察到:他的每一個Ack Token 處,

都會產生一組USB 中斷...這樣子,您就知道您的USB 韌體的控制流程了!

因為:原廠所附的範例程式,在USB Reset 時,也是Enable USB Interrupt 的,...

所以,我們也看到最後一個 Reset 產生的USB 中斷。

最後呢...我們也看到:雖然Get Device Description (Device Configuration)及

Set Configuration 都會連帶有一組Zero Length 的Out/In Token ,

但是呢,我們的USB Controller 都還是會再進一次USB 中斷程式的。

這樣子,是不是讓您比對參考解讀USB 韌體時,很方便嗎?! ...

-----

當然啊,這樣的流程,您只要走過一遍,您大概就很清楚,以後也不用每次都要如此的啦。

(待續)

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

1. 改寫原廠的USB應用程式


2. 改寫原廠的USB應用程式(續一

3.改寫原廠的USB應用程式(續二)

5.USB DIY-- 自學計畫(二)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)

2008年11月24日 星期一

改寫原廠的USB應用程式(續一)

以前對於另一家傳統的USB Controller (C品牌),一直沒有很深入研究探討。

當然也有很多人當初很期待,但是版主一直遲遲不願意發表相關文章。

其中有一個重要因素是因為:已經很多人(包括許多學校老師們)出書發表了。

總覺得人家在學校裡的老師們已經把他們的扮演的角色已經作得很稱職了。

還輪不到我們再來錦上添花。....

但這一次再不得不另起爐灶接觸另一家USB Controller 實在因為是產品開發之需求。

 剛好市面上有關這一部份的書籍是比較少的,好像對一些人來說:

剛好可以利用另一種不同的USB Controller 架構來檢視自己對於USB 功力的成熟度?

我以前提過:懂不懂USB?!或是有沒有學會USB是次要的...重點是:當您學會這個介面時,

您要該如何靈活應用這樣的一個介面呢?!....這其中有一個很重要的東西在您腦中---創意!!

這是跟您本身USB技能是比較無關的...我個人覺得這是一種比較屬於個人人文素養的一種表現。

譬如說:您會寫MFC 或是VB...不難!但是您要如何去把這個軟體的畫面擺得讓別人"賞心悅目"。

這就是另一種工程上的藝術了....就像我去改寫人家原廠的應用程式一樣。

這好像就是一種說法:戲法人人會變,只是個人所呈現的結果不同罷了。

這也就跟一般人在學新東西一樣...總覺得別人學這個很好...好像很好賺?!

但是呢....自己學起來或是自己走一遍之後,怎麼全變了樣?!

(這跟這幾年來大家一窩蜂的往園區的電子行業理鑽的道理是一樣的!

好像這幾年沒像人家過去講電子新貴那般鮮明光亮的外表了!)

-----

我之所以要先提這篇文章的原因,就是要先各位報告:如果,您像版主一樣,

還有機會去接觸新的USB Controller 時,您覺得您應該該從哪裡下手呢?!

只是拿人家USB Controller 的IC Datasheet 猛K ?!...或只是拿著人家的EV 版子,

照著原廠所提供的範例,寫兩個 8051 Firmware ?就算學會了?!...

---

其實,這是許多人想USB時的最大內心掙扎:我到底要不要學PC軟體呢?!...

當我改寫完原廠這支應用軟體後,我對該公司的USB Controller 大概就可以約略的抓到其USB

控制方式了...因為很簡單:USB 的控制本來就是來自PC端的應用程式。

所以啦...我個人覺得:如果您學USB 只是想學到USB Firmware ...我個人覺得:

那只是學USB 的一半而已。(同理,只是想學USB PC 應用軟體也是一樣的!)

不管您這一半學得再怎麼精通,您對於USB 未來的真正控制,還是拿不出真正USB 精髓。

更何況是我之前提到的:您如何去發揮那一種有點"工程藝術"的戲法呢?!

而這些稍稍差異的戲法,便是我們所說的:創意啊。

----

OK...如果大家有興趣跟我往下走的話...您們大概就明瞭我所說的含意了。

剛好這一次的機會:剛好也可以彌補我在USB的相關文章中所欠缺的 HID (Interrupt pipe)

與ISOchorous pipe 遺憾。

注意喔...如果您是版主部落格的常客的話,那代表您跟版主一樣:

學新一棵的USB Controller 的資歷,是一樣的,我們都是新手啊!

您是否跟我一樣...我剛要開始學USB 而已啊 ! ...而您我所擁有的機會與條件是一樣的。

我們就假設就從2008 年十一月算起吧...看我們要學USB 到底要花多久時間啊!?

嘻...嘻.......我們來試試看吧!...

PS : 不代表我是『英英美代子』整天光玩這個喔,人家我白天還得趕案子啊!

 

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

1. 改寫原廠的USB應用程式

3.改寫原廠的USB應用程式(續二)

4.USB DIY-- 自學計畫(一)

5.USB DIY-- 自學計畫(二)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)

 

2008年11月21日 星期五

改寫原廠的USB應用程式


...

不是我這個人老是喜歡批評一些事情...但是呢?!...有些IC的原廠可能是一些包袱或是日積累月之後,

一些提供給客戶或使用者的應用程式總是覺得有點不合時宜了...

我們也不能怪人家原廠啦...人家的產品總是日益增進,而軟體工程師們,

也是可憐,老是要配合著改這個應用軟體又要改那個的...總是覺得很沒力。

尤其是一些老鳥工程師...總覺得老是改這種東西也沒什麼創造力或是長進的。

久了自然就興趣缺缺了,不過呢?!這一點對於老外原廠來說呢,就是不錯...

人家原廠懶得改之後,人家會把原始碼提供出來...讓客戶大家自個兒視情況自行要不要修改?!

不像台灣的IC原廠...也不知是時代久遠了呢?!還是工程師『世代交替』幾次之後?!

就已經讓這些原本提供給客戶的輔助工具軟體就給自生自滅了...您說:是客戶該倒楣自討苦吃呢?!

還是台灣這些原廠的服務態度不佳呢?!....或許,真的大家可以思考一下。

-------

最近用這一棵MCU 的燒錄器...就是用原廠提供的燒錄軟體...才用沒一兩次,就受不了。

尤其是一些ROM Code回讀的機制,非常的不方便...而且也覺得有些東西也不合時宜了...

就把原廠提供的原始應用程式拿出來『翻修』一下。

----

結果如下:

其實大家常用也是上圖中那幾項而已...而上面還支援UART ?! 這個真的不合時宜了...

我想連代理商也都沒看過接 COM port 的燒錄工具吧!....

而這個畫面是真正的燒錄畫面....我是覺得有點脫褲子放屁...操作上太複雜了!

用這個應用程式不就是要燒錄嗎?!...幹嘛還要點選上邊標籤換頁呢?!

----

而這一頁是讓我最受不了的一個操作介面...(也是促成我不得不想動手改這支應用程式的原因!)

為什麼回讀ROM Code 之後,還要先存檔再找其他文書處理器看內容呢?!

我也不敢說原廠是笨啊...也有可能人家原廠也是找個菜鳥工程師...隨便寫一寫就交差了事了!

我就花一個早上就把他給大翻修一下:

就留下一些常用的操作頁面就好了 ...順便把USB連線與燒錄功能放在同一頁面...

這樣子操作起來就順手多了!....還有把他那的檔名欄位放大...現在視窗檔名哪有短短的呢?!

還有他在USB連線的偵錯有點拙...每稍一次就又要連線一次....

這一點固然可以防範錯燒不同編號IC,但也造成燒錄麻煩...喂...燒錄IC費用是算時間的耶!

---

而回讀的方式呢?!

改寫後...看起來就這麼爽...我們這種老鳥工程師...總是對於燒到IC裡的資料總是要

多一次檢查才放得下心...所以啦 ...他原來的介面真的諸多不便!

改寫後,便顯得方便許多...還可以節省操作上的存檔 ..開檔...整理...

一個按鈕...一個畫面...動一動滑鼠滾輪就一目了然了。覺得還蠻不錯用的!

至少看起來就比較順眼一點!

-----

結語:還是對於此原廠予以高度的肯定...願意提供應用程式的原始碼給客戶自行修改。

這一點的確跟台灣Local 的原廠有著截然不同的作法! ...所以啦 ...有時覺得IC貴一點...

但是真的方便啊...(尤其是這種有Flash Based的MCU 來說...)價格也還好...

不信的話...您也可以請台灣廠商開一個Flash ...看他們敢不敢賣一樣便宜?!

其實啦...人家老外因為一直在作FLASH Based 的,.,...都已經達到一定的經濟規模了。

我們台灣廠商還在猶豫之間,反而一直流失時機。人家在夾著經濟規模下壓價格...

我們Local 的Mask 或是OTP 就得再退一步價格...以維持兩者之間的價差(這是我們僅有的競爭力!)

以長遠的市場趨勢來說...真的,這些台灣Local 廠商該冷靜思考一下了!

----

這一次除了改寫他應用程式端的一些操作介面...接下來,有可能會進一步的去研究他們USB介面...

所以啦...您們也可以期待有另類不同USB 觀點吧!

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

續篇連結:


2. 改寫原廠的USB應用程式(續一

3.改寫原廠的USB應用程式(續二)

4.USB DIY-- 自學計畫(一)

5.USB DIY-- 自學計畫(二)

6.USB DIY-- 自學計畫(三)

7.USB DIY-- 自學計畫(四)

8.USB DIY-- 自學計畫(五)

2008年11月19日 星期三

系統開發平台

這是一篇人家在我的另一個網頁的問的問題....

提到有關8051 Code banking 的做法....

我個人這幾年的經驗是:

我是覺得在硬體上要實現是比較容易的,只是如何跟您開發環境的
組譯器如何結合是比較傷腦筋的。...
說真的....現在許多開發平台都已經很成熟了,
如果要再搞一個跟人家不一樣的,然後要再教人家去熟悉、習慣。
真的不容易了。
所以啦....我是比較建議您就直接參考Keil C 的開發環境去做就好了!其他的啦...只要知道原理就好了....真的把這個時間來想一些有創意的東西是比較實際的!

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

尤其啦...像這種八位元的單晶片開發平台來說:...這幾年來真的已經到達那種

客戶選邊站,市場大者恆大者...除非真的是像人家搞手機的那種市場潛力大到讓系統開發者,

不得不硬的頭皮非得再學一遍新的開發平台,否則啦...

現在還要搞什麼新的開發工具或平台...真的,人家客戶真的懶得理您了。

像其中一家也是搞8051 的(我講的是 silicon Labs)...以前也自己搞開發工具平台。

結果呢?!...我用起來也是直接用Keil C 開幹了...人家工程師跟我說:為什麼,

我的程式在他的Silicon Labs 的IDE (開發平台)中...弄起來怪怪的?!.....

我就直接跟他說:....這個問題,我也懶得理您....反正,人家原廠也都不得不支持Keil C 了。

您自個兒就看得辦....我東西人家要一個月交件。我哪有那麼多美國時間跟您研究,

兩個組譯開發平台有何不同?!....

在這種資訊爆炸的時代中,許多像這種很成熟的技術,真的只要您稍微瞭解一下原理就好了,

不要再花太多時間,硬要搞得清楚不可,那只是反而耽誤自己的系統開發時程。

真的...單晶片的東西,再怎麼樣...能玩的花樣也是有限的,反倒是您自己在累積這多經驗之後,

能否在系統上,快速的整合開發出一個全新的創意設計?!....

----

以前我在推那個FxxA 多核心單晶片...說真的...碰到一些老經驗的工程師,

人家也是一眼就看出那個也只不過利用"硬體分時多工"作出來的一個"虛擬多核心"!

講難聽一點...如果我的程式系統經驗多一點...我照樣也是可以用一般單晶片做得到的!

網路上不是有一大堆人在討論8051 Embedded System 嗎?!....

一樣的道理與原理的....要搞這種多工系統...最浪費的就是Stack 的空間,

而且處理不好,一樣會掛點的-----這種基本原理放諸天下皆準的。那個多核心也是一樣的。

好吧...就分享一個簡單快速的分時多工單晶片做法:

就是啦...人家外面用一棵CPLD (或是狠一點就用一棵555),產生一個外部中斷的時序脈波給

單晶片...您也是一樣可以搞到一個簡單的分時多工的中斷源啊。

(如果您真的不知道要如何利用內部中斷的話!或是如何架設這樣子的系統程式規劃的話...)

而且啦...以現在一棵 64KBytes  ...4T 的8051 也沒貴到哪?!....

您愛怎麼搞就怎麼寫....我相信可以拿來做一大堆事吧!...

-----最重要的就是我說的:您也不用再熟悉什麼新的開發平台...就拿Keil C 給他用力的寫下去。

現在的客戶有時很難搞的啦...都跟您說:東西做出樣子才好請款...如果啦...

搞了老半天,還在那裡想那個開發平台跟那個開發平台那個好用?!....

您就慢慢的燃燒自己生命吧...現在經濟不景氣的...不趕快完事拿錢,搞不好,

被倒了...最後倒楣的還不是自己。那時您還在想這種技術問題。

屆時還不稱為『宅男』才怪呢!您說對不對?!....

 

2008年11月15日 星期六

您我系統應用的競爭力(更新資訊)

不知大家有沒有留意到版主最近好像沒有什麼文章更新的?!...

不好意思...因為最近出差到大陸地區,去跑跑市場。

最近跑大陸市場不同於以前我在大公司跑大陸市場的方式與形式。

今年金融風暴普遍不只影響單一地區而已....就連大陸地區也多多少少也受影響的。

以前在IC設計公司跑市場時,總覺得若以IC設計的角度所提出的解決方案,

畢竟可以在大陸無往不利,可以輕易的切入大陸應用市場。

但這幾年來,卻是因為台灣的IC設計公司過渡的惡性競爭,反而在大陸市場造成一些反效果。

反倒是最近幾次我看到了一些台灣工程師所在系統應用方面技術,在一些大陸公司中,

都留下一些不錯的印象。而不是純粹只是IC設計的角度而已。

只是很可惜的是:有許多這些台灣工程師是以跑單幫方式去幫大陸公司解決系統應用問題。

反而聽到以前在IC設計公司的同事:因為過渡的以IC設計角度的看市場,

往往錯失許多不錯的市場機會。.....

以前我們都會說:時勢會造英雄!...但是呢?!時機不對也會毀掉一個英雄的

這一點我最近在一些IC設計公司裡看到這種令人扼惋的結果。

其實,有許多台灣優秀的工程團隊,也有不錯的技術能力。

過去也在一些大公司裡也有不錯的產品成績。,.....但是後來呢?!

當自己自立門戶後....雖然,還是保有優異的設計技術...卻是過渡的強調IC設計本身技術,

而忽略掉一些系統應用整合能力...卻屢屢錯失許多產品切入市場機會。

實為我所說的:時勢會造英雄!...時機不對也會毀掉一個英雄的 !

尤其是要以大陸市場為目標者...更是過渡的沈溺在過去的成功模式。...

舉個例子來說:以我最熟悉的USB  的產品來說:一個USB 轉RS232 的IC 在大陸已經剩下多少錢?!

或許大家真的不敢相信那個價錢的...那種價錢...

就算您一個月出個2~300K...您大概也不一定想做的...!(有時連大陸人都不想賣了..)

但是呢?!如果您可以把這樣的產品轉換成一個系統產品時...那個價值就又全然不同了!

而具我所瞭解:台灣許多IC設計公司還是沈溺在以前那種幻想之中。

總以為我再開一棵:類似的IC...成本再壓低百分之多少時...我一定還有機會的....

結果呢?! ....就是我說的那句話:...時機不對也是會毀掉一個英雄的 !

---

或許,在這個行業裡,大家該要換個角度再想想了吧!...思考一下未來的市場或是產品模式。

昨天在回來之前...順道去看看在大陸的台灣老友...聽到許多令人難過的是:

以前在IC設計公司裡的老同事....搞IC設計的(關在家裡寫Verilog 的 ....)

最近因為感冒一直一不好...去做了檢查,才發現罹患:鼻咽癌...還比版主小一歲耶!....

以前...為了同業大家產品惡性競爭...真的沒夜沒日的打拼。小孩也還小...

而另一位同事,也是經常往返兩岸努力的想以IC設計的角度切入市場...

結果...上週出差大陸...沒兩天就大量便血...就匆匆回台了...

-----

其實,我這一次去大陸考察市場...還是發現我們在台灣的系統應用技術也都蠻不錯的...

尤其是對於大陸來說:我們都還保有一定競爭力...

套一句長年在大陸的台灣好友說的:因為那些優秀的大陸(應該也包括台灣的吧!),

都跑去搞IC設計了(還惡性競爭呢!)...所以就留一下一些笨蛋在搞一些系統方案...

當然那些純系統應用產品就是搞得2266 ...

所以啦。希望大家不要在這種市場低迷時候的看輕自己。

因為機會永遠是留給準備好的人,等您一且準備就緒時,您將是:下一個 時勢要造的那個英雄

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

 PS : 這次出差還有一件很搞笑的事:我們也知道本週國內大事是那件事?!

而這件事呢...版主卻還是透過一位大陸人跟版主說的...版主也只是笑得回答說:

"民主社會永遠有正反兩面的聲音....好像您們大陸人都比我們台灣人還關心似的?!..."

而我心裡想的卻是:還有多少台灣人真的還在思考或留意我在這篇文章所提到的

競爭力的問題呢?!....這才是我比較關心的事吧!...

絕大多數的聰明人都擠在IC設計業裡...就留下一些我們這些笨蛋在搞系統設計而已!)

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

喔...順便Update 一下大陸的物質參考價格:

93 汽油 : 6.25 RMB/公升。 97 汽油 : 6.77 RMB/公升 (1 RMB ~4.9 NT$ )

真的比台灣的油價高,所以啦...如果要去跑客戶推產品...真的您的產品要有很好的利潤,

否則啊...以大陸那種地幅廣闊,開車跑一天的油錢啊....可能連大陸人都不太願意幫您們賣IC了。

----只能說:時機與過去早期去大陸的時期來相比,真的不一樣了。

但反過來說呢?!...我之前在台灣電子材料行買一棵SOT-89的 78L05 是 16 NT$/pcs   !

...而大陸賽格拿 一卷約220 RMB/1000pcs ...每顆是0.22 RMB x4.9 ...約1.078 NT$/pcs。

還有 Atmel 的 89C2051 的單價是 RMB 3.XX ...那更不用說Local 或是Made in Taiwan 的...

這樣子,您應該就懂我說的:您是要搞IC設計比較好賺呢?!...還是搞系統?!

 

 

 

 

2008年11月5日 星期三

什麼都能仿冒 山寨產品席捲大陸(轉載)

真的無言...台灣的科技業既然也淪為幫凶 。

當然啊...大家的理由就是:成者為王啊...

實在看不出對創造人類科技進步的貢獻。....

那全人類也不用設什麼諾貝爾獎了...大家也不用出國留學了。

也不用搞什麼基礎科學研究好了。搞什麼機器人啊...又不是現成商品或市場....

就等一些"笨蛋"搞出來之後,再用同樣的手法(山寨)再把市場搞爛啊...

我在想難道:大家都得要嘲諷那些窩在MIT 或美國名校裡的那些研究人員是一群笨蛋嗎?!

反正就是到處倒貨...搶生意...就是我們科技人的本色嗎?!...

??---??---唉~~ 真的無言啊...

(前兩天遇到之前在研發機構的老同事...年過五十(應該吧!)...想想空有一身絕世武功。

卻是老是看著每一個老闆們之間的起起落落的,而自個兒竟也跟著隨波逐流的漂泊流浪...

不竟欷噓啊...感慨的說:...看看這個工作能不能撐久一點?!...這已經是幾年來不知第幾次了!

不過,也因為看破世俗...倒也一派輕鬆的到處追求自己的天空...

此處不留爺...自有留爺處...小孩出去唸書了...老婆也辦退休了...自己一個人就快活到處單飛!)

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

http://mag.udn.com/mag/digital/storypage.jsp?f_MAIN_ID=315&f_SUB_ID=2927&f_ART_ID=157738

什麼都能仿冒 山寨產品席捲大陸
 「山寨風」吹遍大陸各地,各類山寨版如雨後春筍般冒出。始作俑者的「山寨手機」更是可觀,中間利潤高達100%,去年至少1.5億支產量與大陸品牌手機市場等量齊觀。山寨不但成為流行用語,更有廠商突發奇想引進「山寨明星」大撈錢。
山寨版皮包 (本報係資料照片)
「山寨風」吹遍大陸各地,各類山寨版如雨後春筍般冒出。始作俑者的「山寨手機」更是可觀,中間利潤高達100%,去年至少1.5億支產量與大陸品牌手機市場等量齊觀。山寨不但成為流行用語,更有廠商突發奇想引進「山寨明星」大撈錢。

所謂「山寨手機」是指仿冒名牌手機的冒牌機,已搶掉正規手機三分之一的市場。這些手機的品牌名稱千奇百怪,不乏魚目混珠者,例如Nokia被仿為Hokia、Sony Ericsson被仿為Suny Ericson 。比起品牌手機,山寨手機具有價格優勢,而且推出新產品的速度極快。正規品牌手機從策劃到投入市場需要六到10個月的時間,但山寨機這段時間可以推出多款新產品,形成龐大的地下產業。

山寨手機的生產模式是:生產商看中最近流行的某款手機,就買下交給專業手機設計公司研究。

設計公司經過分析後,會出具一份包括主板設計、軟體設計和結構設計的「仿製報告」,這一過程需要八天。

設計方案敲定後,接著十天就根據此報告設計主板、開列零部件採購清單,進行軟體編寫,讓各項功能順暢銜接。第18天能夠提供第一套樣機給客戶,看市場反應。

如果客戶認為可行,下單訂貨,一般在第45天就開始批量交貨。

速度成了山寨企業克敵制勝的法寶。新華網報導,去年山寨手機產量至少1.5億支,與大陸品牌手機總銷量相當,去年僅增值稅一項就造成大陸政府人民幣178.5億元的損失。對市場形成無比衝擊,大陸正規手機廠商幾乎都出現虧損,有些甚至退出市場。

山寨手機的中間利潤相當驚人,高達50%到100%,生產商可賺到10%到15%、中盤賺到10%到25%,零售商賺得更多,所以愈賣愈旺。

山寨版手機 (本報係資料照片)
由於山寨手機不用繳納17%的增值稅、銷售稅,也不用研發、品管、廣告等費用,山寨手機以價格低廉取勝,雖然沒有售後服務,消費者也願意花錢購買。

台灣聯發科技是山寨手機的最大零件供應商,估計大陸手機市場十部之中至少有四部是用聯發科技的零件,堪稱「山寨機之父」。

香港經濟日報指出,早期聯發科技的手機晶片銷量平平,為了衝刺銷售量,決定「寧濫勿缺」,就連取貨量很少的山寨廠訂單也接,後來更將相機、MP3、手寫螢幕、軟體等全部打包整合出售,山寨廠只差一個塑膠殼、螺絲一擰,即可生產一部手機。

結果聯發科的名字,就在山寨廠一傳十、十傳百,直到現在不論是Mokia或Suny Ericson ,只要是大陸山寨手機,甚至是有品牌的大陸手機,機身都可能是來自聯發科技。

從山寨手機起源,如今山寨風已吹遍中國大陸各地,發展到不同行業,鋪天蓋地而來,例如一名酷似台灣周董的「山寨版周杰倫」代言「山寨ipod」的廣告,「山寨周華健」代言皮鞋,「山寨F4」代言運動鞋。快餐店、食品飲料、生活用品皆充斥山寨版,Adidas被仿為Adidos、Puma被仿為Punk、NIKE被仿為IVIKE,雪碧被仿為雪霸、康師傅被仿為康帥傅,這些遊走法律邊緣的產品,讓消費者防不勝防。

大陸一份社會調查顯示,超過四成受訪者認同山寨文化的核心內容為「創新」,更能激發人們追求創新的精神。也有專家認為,「山寨」逐漸成為一種文化,隱含追求通俗和嘲弄現實的意義

【經濟日報╱林庭瑤】