2010年9月6日 星期一

8051 IP 應用


前一陣子,有朋友把這樣子的訊息傳給我看,我看了之後,讓我更覺得說:

還是搞系統應用比較好玩一點吧。

我們來看這些訊息 :

Core8051 is a soft IP version of the 8-Bit 8051 Microcontroller that is ASM51 Compatible. At one clock per instruction Core8051 runs much faster and has substantially increased throughput compared to the original 8051 implementations. The core can be used to run programs written for the 8051 without change, and is compatible with the existing 8051 tools. Core8051 supports 13 interrupts and has a UART, 2 counter/timers, and 4 8-bit ports. The SFR bus is fully supported and up to 101 external SFRs can be added

Features:

  • 100% ASM51 (80C51, 80C31 and 8051 ) Compatible
  • 13 Interrupts with 4 Priority Levels
  • 2 Timers
  • Programmable Serial Channel
  • Four 8-bit I/O Ports
  • 1 clock-cycle per instruction
  • Embedded Memory Available
  • Removable OCI block

-----

所謂IP 就是IC 設計裡的智權,過去台灣也有很多公司是專門發展IP智權的公司。

但後來發現:這些賣智權跟搞軟體一樣,很難賺到市場的錢,因為:您收費高,

反正現在IC 設計人才多,配合晶圓代工廠,花得起大錢買IP的,大概也有能力自己刻IP 吧。

沒錢的公司,總是有辦法拿到免費的IP...很奇怪。這就跟我們搞軟體的觀念有點雷同吧。

以前有朋友跟別人合夥開IP 公司,他們一開始就鎖定使用量大的I2C 的EEPROM---

也就是我們常看到的 24C02 這一系列的IP ...結果呢?!搞了老半天,一套IP 也沒賣出去。

最後,乾脆自己出光罩,賣起IC 比較快了,但是~哼~哼~...還是賣不出去。

因為一棵24C02 就只剩下台幣兩塊多了...要削價競爭,人家還不一定買單。

就多便宜一、兩毛錢...人家也不要,人家的理由是:您們的24C02 只能工做在5V ± 0.5 V。

人家只貴您一、兩毛錢,卻工作電壓範圍卻是 3V ~ 5 V 都可以耶。

不信您去查Microchip 或是Atmel 的 24C02 的規格...

更誇張的是:連Microchip 都賣晶圓裸晶給台灣的封裝廠,封裝廠就可以自己包24C02 賣了。

好了,我們回到所謂IP 問題,這些智權講的是我們所熟悉的單晶片:8051 耶。

這個8051 現在在我們搞系統應用人的眼中,就像人家那些當學徒眼中拿榔頭的觀念是一樣的啦。

他已經是一種很基本的工具,就像您要去修東西,或去安裝東西,

總是會帶著一把榔頭的觀念是一樣的。所以,您也不要有什麼大驚小怪的啦。

---

所以後來在許多IC 設計裡,就經常把這麼一棵單晶片給整在SOC 內了,反正搞不好,

整個8051 的晶圓面積都有可能比一些複雜的周邊電路還小得多耶。

至於,上述的規格中,比較令我們眼睛為之一亮的是:是 1T 的指令集。

這個主要的原因是:現在IC 製程比較先進,所以,在讀取指令或是搬動資料到周邊記憶體時,

速度比較快,所以,可以保證在1T 內可以完成,就不用像以前那樣:要稍微等一下,

以確保資料的正確性...所以啦,嚴格講:1T 的指令也沒什麼好大驚小怪的。

前面那一個是我們早期所熟悉的 8051 架構...

而以下那個 8051S 應該是比較新的架構:我想這個"S" 應該指的是更精簡的8051 吧!

他甚至把比較浪費Gate Count 的 MUL 、DIV 與DA 指令都可以自行去除掉。

另外一個比較重要的是:他有所謂的 Advanced Peripheral Bus  (APB) 介面。

這個介面就是我們所熟悉 32 bits ARM 所創造的周邊介面的匯流排...

如此一來就更容易與ARM 共享一些周邊比較低速裝置,譬如:I2C 啊...PWM 等等。

那8051 就更容易存活許久了...還是老話一句:榔頭怎麼變,他還會是榔頭!

IP Module - Core8051s

Core8051s is an ASM51-compatible microcontroller core that can run programs written for the 8051. It contains the main 8051 core logic but no peripheral logic. Core8051s has an APB bus interface that can be used like the SFR bus to easily expand the functionality of the core by connecting it to existing APB IP peripherals. This allows users to configure the core with the peripheral functions (timers, UARTs, I/O ports, etc.) that they need for their application.

 

Features:

  • High-performance 8-bit microcontroller
  • 1 clock per instruction
  • ASM51 (8051, 8031, 80C51) compatible
  • Can be used with existing 8051 tools and code
  • APB bus peripheral interface
  • Optional MUL, DIV, DA instructions can be removed if not used to reduce core size
  • Optional OCI debug block

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

好了,我們看到了一個簡單的8051的IP 智權架構的東西。

我們要提的是:從一棵簡單的8051 之後,我們還需要哪些東西呢?!

一定很多人都巴不得說:最好有多一點的記憶體空間,或是有支援I2C、SPI 或是USB等等。

其實這些周邊的裝置都已經很容易從一些標準產品可以找得到了。

唯一的差別就是價格的差異而已。

好吧,這個東西也沒什麼好辯的。天下的原理都是一樣的...要增加記憶體,

您就得增加晶圓面積,就是增加成本...增加周邊支援回路的道理也是一樣的。

所以呢,如果您有這種概念的話...您就不會很外行的跟別人算說:

我想買一台只有一個安全氣囊的車,然後還希望他的價錢還比多組安全氣囊配備的車便宜吧!

一分錢一分貨吧!...

所以啦,若從這個眼光來看IC 設計的事呢?也別想說:我又要馬兒又會跑,馬兒又不吃草!

道理是一樣的啦...IC 設計的規格就是那麼死,您要嘛就是Pad limit 不然就是Core Limit 。

一棵IC 晶圓能塞多少東西,大家都心知肚明的啦...

年輕工程師一卯起來,拼命塞周邊電路,造就一棵天下無敵的單晶片,您要賣給誰啊?!

:舉一個例子,我用了一棵I/O 很少的單晶片,後來發現 I/O 不夠了。

跟代理商詢升級版的單晶片,看了一下,I/O 變多了...但規格裡:記憶體也變多了。

嘿~嘿~....您不用太高興,記憶體的單價鐵定高過 I/O 腳的啦!

道理很簡單:I/O 變多了...IC 一定是Pad Limit,所以啦,只好在IC 內部在塞一點東西

撐場面...以免浪費IC 內部空間。果然一問,哈~哈~...還是買一棵TTL 比較快吧。

-----

結語:提這一個議題要說明的是:現在如果要搞系統應用的話,鐵定一定要有成本觀念。

那成本觀念呢?!就不能老是停留在那一種古老的想法,IC 也只不過是一棵

縮在很小空間的PCB 版似的,您說您畫電路版的面積,越搞越大,就是跟您的錢過不去。

要尋、要買單晶片微控器,您也不要傻傻的挑,只要規格看一下:

您大概就知道怎樣的規格,就會有怎樣的價錢吧!

而真正您的系統價值呢?!就是要像如IC 設計觀念裡的如何在

 Pad Limit與 Core Limit 之間取得平衡。

一樣我們也可以在ROM Size 、RAM Size 與周邊裝置的交錯運用中,取得我們系統的最佳利益。

這個就是我們在搞系統應用中,所必須培養的實力與功力吧。

 

 

沒有留言:

張貼留言