在德州儀器 (TI) MOS 部門工作的加里·布恩 (Gary Boone) 設計了第一款可以稱為微控制器的芯片,因為他對自己的工作感到厭煩,而且他的家庭也遇到了麻煩。他于 1969 年加入 TI,當時計算器芯片正成為一項大生意。在20世紀60年代,電子計算器取代了占據市場數十年之久的Marchant和Frieden機電計算器。半導體使機電計算器中數百個復雜的金屬和塑料部件得以取代,首先是數百個晶體管和二極管,然后是越來越少的集成電路。北美的羅克韋爾微電子,Mostek,通用儀器和德州儀器是多芯片計算器市場的早期參與者。
起初,需要幾十個集成電路來取代數百個晶體管和二極管。隨著集成電路中包含的元件越來越多,制造一個可用的計算器所需的集成電路也越來越少。到1968年,基于IC的計算器設計在很大程度上取代了基于晶體管的設計。終點是明顯的。最終,半導體制造商將把計算器的電子內核簡化為單個芯片。
日本計算器供應商夏普、佳能和Busicom與各種美國半導體供應商合作,為他們的計算器開發定制芯片。夏普與羅克韋爾合作,佳能與TI合作,Busicom與Mostek和英特爾合作開發不同型號的計算器。Busicom要求Mostek開發單芯片計算器,并與英特爾簽訂合同,為更復雜的可編程計算器開發定制芯片組。1970年底,Mostek首次實現了這一目標,推出了MK6010,這是一款取代了 22 塊集成電路的定制芯片。Busicom將這種芯片集成到它的小型四功能臺式計算器Busicom Junior中。與英特爾的合同最終促成了英特爾4004微處理器的開發。然而,這個故事是關于微控制器的,它走了一條相關但不同的進化道路。
TI公司的MOS部門深陷計算器芯片組的事務之中。包括佳能、Olivetti和Olympia 在內的計算器公司要求TI為他們的計算器開發4、5和6芯片組。執行這些定制芯片項目落在了包括Gary Boone在內的幾個TI工程師的肩上。這份工作需要飛往世界各地,去日本、意大利和德國。布恩花了很多時間在路上,他的家人對他的缺席感到不滿。Boone很快就厭倦了緊張的旅行,只是為了開發一個看起來和之前的很像的新芯片組。在那個年代,許多潛在客戶想要計算器芯片,但每個客戶想要的東西都有點不同。這就是定制芯片業務的本質。這是一個客戶密集型的行業。
Boone的沮喪和家庭事務促使他找到了TI的MOS市場經理Daniel Baudouin。他們一起編制了一個客戶需求矩陣,這些需求來自與不同計算器制造商的需求。然后,他們添加了一組功能塊,可以滿足這些需求。Boone和Baudouin也注意到目前TI MOS工藝技術可以完成什么,以及它可以做得最好的是什么。他們的思路很快轉向了大量使用內存(RAM和ROM)的架構,因為這些結構效率極高,更容易在IC上布線,內存有望提高硅的利用率,達到40或50倍。
一旦Boone和Baudouin開始考慮使用內存,他們就開始考慮一個計算器芯片需要多少數據和程序存儲空間。那時,TI團隊開始與潛在客戶討論ROM可編程的單芯片計算器的前景。他們遭到了很多反對。習慣了為自己的計算器芯片提供資金的客戶對只通過片上ROM中的某些位進行區分的計算器芯片的想法猶豫不決。TI內部也有反對意見,因為基于ROM的可編程部件與公司習慣制造的部件相反。
讀到這里,您可能會發現所有關于計算器芯片的討論都與標題不一致。本系列文章顯然是關于微控制器的歷史。我向你保證,我們沒有偏離軌道。最早的微控制器是由Boone和TI的工程師Michael Cochran設計的,包括處理器、內存(RAM和ROM)和I/O都在一塊硅上,是計算器芯片,它們是最早的微控制器。請看下圖,摘自美國專利4074,351:
圖片來源:美國專利商標局
此圖顯示了TI第一臺單片機計算器TMS1802NC的框圖。它顯示了微控制器的所有關鍵組件。它有一個CPU,由程序計數器(PC)、指令寄存器(IR)、指令解碼器(Control Decoders)和一個4位ALU組成。它有一個RAM來存儲數值數據和一個ROM來存儲定義芯片操作的程序。最后,在底部,您可以看到專門的I/O電路,用于掃描矩陣鍵盤、驅動顯示數字和驅動每個顯示數字中的七個段。這個設計中的I/O可能是專門的,但是這個圖清楚地描述了一個微控制器。
1971年9月17日,TI公司發布了TMS1802NC單片機計算器集成電路。兩個月后,英特爾發布了4004微處理器。德州儀器給這款設備定價不到20美元。ROM包含320個11位指令字(3520位),而串行訪問的182位RAM包含3個13位BCD(二進制編碼的十進制)數字和13個二進制標志位。該芯片總共需要大約5000個晶體管。
(注:在研究這篇文章時,我發現不止一個網站把TI的TMS1802NC 4位計算器芯片和1974年發布的8位RCA CDP1802 COSMAC CMOS微處理器搞混了。TI和RCA芯片不是同一個零件,盡管零件號相似。)
TI從1971年9月17日發布的新聞稿進一步證實了TMS1802NC作為微控制器的地位:
“TI使用相同基礎或主機設計的單級掩碼編程技術,可以輕松實現任何數量的特殊操作特征。唯一的限制是程序ROM、RAM存儲和控制、定時和輸出解碼器的大小。例如,通過重新編程輸出解碼器,TMS1802可以用于驅動十進制顯示,如Nixie型管。”
最早使用TI TMS1802計算器芯片的計算器之一是Sinclair Executive。
TI在1972年9月20日發布了TMS0100單片機計算器系列,幾乎正好是在TMS1802C發布一年后。該公司將TMS1802NC重新命名為TMS0100家族的第一個成員,TMS0102。最終,這個家族將有超過15個不同的成員,由TI的10微米PMOS工藝技術制成。一年后,Mostek發布了改進的、引腳兼容的TMS0102副本MK5020。就像本文開頭列出的所有半導體制造商一樣,TI和Mostek很快就會發布微控制器,部分是利用從這些早期計算器芯片的創造中獲得的知識開發的。
與此同時,Boone已經跳出了這個計算器的框框。計算器芯片專利4,074,351描述了其他目標應用,包括出租車計價器、數字電壓表、事件計數器、汽車里程表和測量秤。當然,微控制器已經在所有這些應用程序中被使用過,而且還遠遠不止這些。
與許多首創設備一樣,德州儀器的TMS0100計算器芯片家族是一種狹義的微控制器,主要用于制作計算器。然而,TMS0100家族的第一個芯片最初被稱為TM1802NC,后來改名為TMS0102,它包含了微控制器所需的一切:CPU、RAM、ROM和I/O。當然,這是一個專門的微控制器。它的I/O是特定于應用程序的,被設計為連接到一個矩陣鍵盤和一個七段顯示器。然而,TMS1802NC是一個微控制器。
最初由德州儀器的Gary Boone和Daniel Baudouin構想,然后由Boone和Michael Cochran實現,德州儀器在1972年9月20日推出了TMS0100系列,這些芯片迅速占領了計算器市場。TI突然有了全新的世界要征服。該公司很快意識到,如果可以將同樣的可編程硅設計得足夠通用,它就可以為多個市場服務。TI將其從最初的可編程計算器芯片中獲得的經驗應用于生產第一批通用微控制器TMS1000系列,并于1974年發布。
TMS1000微控制器系列與TMS0100可編程計算器系列有一些相似之處,但也有很多不同點。這兩種設備都有4位CPU和哈佛架構,哈佛架構為RAM和ROM提供了獨立的地址空間。哈佛架構在早期微控制器設計中很常見,因為它們簡化了微控制器的RAM、ROM、地址解碼器和數據總線的設計。然而,在我看來,哈佛架構使程序員的生活變得復雜,他們必須跟蹤兩個不同的地址空間,并且必須經常設計將數據從ROM轉移到RAM的方法。(幸運的是,將數據從RAM轉移到ROM是沒有意義的,數據不會完成這個過程。你不能成功地寫入一個掩碼ROM。)
與TMS0102的3250位ROM(組織為320個11位字)不同,第一個TMS1000微控制器有一個1千字節的ROM,組織為1024個8位字。因此,TMS0100和TMS1000系列分別從不兼容的11位和8位指令集開始。類似地,TMS0102的182位串行RAM包含三個以BCD(二進制編碼十進制)格式的13位數字和13個二進制標志,而 TMS1000 微控制器具有組織為 64 個 4 位字的 256 位 RAM。
根據TMS1000文檔,存儲在RAM中的64個4位單詞“被方便地分組為4個16位的文件,由一個2位寄存器尋址”。根據我的經驗,在編寫類似的微控制器架構時(本系列后面將討論),將小的RAM地址空間進一步分割成16個字的塊并沒有什么方便之處,除非您正在編寫16個條目的循環緩沖區。就像許多設計妥協一樣,微控制器設計團隊將整個CPU連同RAM、ROM和I/O電路一起塞到早期的半導體模具上,我敢打賭,這個特定的設計選擇使TMS1000微控制器的硬件設計更簡單、更小,以通常犧牲程序員的方便來換取硬件設計的便利。
與TMS0100計算器芯片系列的專用I/O設計不同,TMS1000微控制器具有通用I/O引腳,至少在名義上是這樣。四個輸入引腳(K1, K2, K4和K8)可以用一條指令作為一組讀取。輸出引腳更加復雜。最初的TMS1000微控制器有11個“R”輸出(R0到R10)和8個“O”輸出(O0到O7)。“R”輸出分別設置和清除。“O”輸出由掩模編程PLA控制,并由5位鎖存器驅動。鎖存器中的四個位可以通過一個指令來設置,該指令將數據直接從TMS1000的累加器移動到鎖存器。第五個輸出位來自ALU的狀態鎖存器。使用PLA將5位輸出鎖存擴展到8個輸出引腳,讓人想起TMS1000作為計算器芯片的后代的傳統,它被設計用于驅動7段顯示器。
在Adam Osborne 的眾多成就中,他在1978年出版的《微型計算機導論》一書中記錄了早期的微處理器和微控制器。在他對TMS1000的描述中,奧斯本似乎更關注微控制器的局限性:
“TMS1000系列微型計算機是單芯片設備的事實有一些次要的,不明顯的影響。最重要的是,沒有支持設備這種東西。1024或2048字節的ROM [TMS1200微控制器有2Kbytes的ROM]代表將出現的程序內存的確切數量;不能多也不能少。類似地,RAM的64或128個字節(一個字節是一個4位的單詞)不能擴展。直接內存訪問邏輯不存在——而且它的存在無論如何都沒有什么意義;由于可用的RAM和ROM總量很小,因此根本沒有機會在足夠長的時間內傳輸數據塊,以保證繞過CPU。
同樣地,在TMS1000微型計算機中,中斷的作用是微不足道的。考慮到可用的程序內存儲量很小,而且程序包的成本很低,很難證明僅僅為了讓微機執行多個任務而中斷邏輯的復雜性是合理的。”
在我看來,Osborne 的話表明,許多人(可能包括Osborne )在1978年他出版那本書時,也就是TI首次宣布TMS1000系列四年后,并沒有清楚地了解微控制器和微處理器之間的區別。然而,許多人確實理解其中的區別,因為據報道,到1979年,TI每年生產數千萬個TMS1000部件,他們以2美元或3美元的價格大批量出售TMS1000。TMS1000的低單位成本是可能的,部分原因是TI將該設備封裝在一個便宜的28引腳塑料DIP中。
TI通過在自己的一些消費品中使用TMS1000微控制器家族成員來吃自己的狗糧,包括傳奇的TI Speak & Spell游戲和SR-16“電子計算尺”計算器。
發明家、游戲設計師、“家用電子游戲機之父”拉爾夫·貝爾意識到他可以用微控制器制作出價格合理的電子游戲,并將TMS1000集成到最成功的手持電子游戲之一—— Milton Bradley 的 Simon 中,該游戲于1978年推出。如今,每個人都在自己的手機上玩手持游戲,但那時,這些游戲需要專用的硬件。
帕克兄弟公司在1978年發布了基于TMS1000微控制器的手持電子游戲《Merlin 》,一年后,Milton Bradley公司使用TMS1000微控制器作為其Big Trak的可編程大腦,這是一種未來主義的6輪坦克式車輛,可以通過嵌入在玩具背后的薄膜鍵盤預先編程,沿著特定的路徑前進。Big Trak可以執行輸入鍵盤的16個命令序列,這似乎與1967年由Wally feurzeeig、Seymour Papert和Cynthia Solomon在馬薩諸塞州劍橋的一家名為Bolt、Beranek和Newman (BBN)的研究公司開發的Logo編程語言的海龜圖形密切相關。
1977年,Mattel公司推出了一款非常成功的電子足球游戲。這款游戲基于Rockwell計算器芯片,但世界各地的公司都克隆了這款游戲,香港一家名為Conic的游戲制造商似乎在其克隆產品中使用了TMS1000微控制器,而不是計算器芯片。開源游戲模擬器MAME (multi街機模擬器)仍然可以在模擬中運行《Conic’s Football》的TMS1000 ROM代碼。
作者Stan Augarten在他的《藝術狀態》一書中指出,TMS1000被用于計算器、玩具、游戲、電器、防盜報警器、復印機和自動點唱機。奧加滕在描述TMS1000的結尾寫道:“和任何集成電路一樣,TMS1000幫助使現代電子的力量為每個人所用。”
我懷疑還有無數沒有記錄的TMS1000家族應用程序存在。對于第二早期的微控制器家族來說,這是一個相當成功的故事和遺產,也證明了基本單芯片微控制器概念的真正普遍性。在1974年TI推出TMS1000之后,其他半導體廠商推出的新的微控制器以飛快的速度出現。
現在我們已經進入了21世紀,大多數人很少想到羅克韋爾微電子與微處理器和微控制器的聯系。母公司北美羅克韋爾(1973年更名為羅克韋爾國際公司)是一家主要的軍事/航空航天承包商。羅克韋爾建造了阿波羅飛船,B1轟炸機和美國航天飛機。
在很長一段時間里,美國大部分的太空助推火箭和洲際彈道導彈都使用了羅克韋爾的Rocketdyne發動機。1972年,羅克韋爾推出了世界上第三個商業上成功的微處理器,4位的PPS-4。1976年,羅克韋爾發布了基于PPS-4架構的單芯片微控制器。它被稱為PPS-4/1。
正如20世紀60年代許多大企業集團的潮流一樣,羅克韋爾于1967年在其自主事業部開始了自己的半導體制造業務。Autometics開發了各種軍事/航空航天航空電子系統,包括用于美國潛艇和洲際彈道導彈的慣性導航和制導系統,這創造了對先進半導體的需求。北美羅克韋爾微電子公司(NRMEC)為其軍事和航空航天項目開發了早期的MOS/LSI工藝技術。
當日本的夏普向一家半導體供應商來制造自己設計的計算器芯片組時,NRMEC的MOS/LSI能力符合夏普的需求。合作的結果是一個四芯片組,夏普將其納入其QT-8D計算器。夏普在1968年8月發布了這款計算器。事實上,有人可能會說,夏普QT-8D計算器中的羅克韋爾芯片組開啟了MOS/LSI時代。1970年,羅克韋爾開始出版MOS/LSI芯片目錄。
正如德州儀器公司(Texas Instruments)在TMS1000微控制器上所發現的,從電子計算器架構到4位微處理器,或者在德州儀器公司(TI)的情況下,到微控制器,只是一個短暫的跳躍。羅克韋爾在1972年8月宣布了4位PPS-4微處理器系列。它是世界上第三個獲得商業成功的微處理器,它的推出緊隨英特爾發布的4位4004和8位8008微處理器。羅克韋爾的“PPS”名稱意為“并行處理系統”。
有兩點使羅克韋爾的PPS-4微處理器區別于其競爭對手。第一個是羅克韋爾獨特的QUIP (Quad Inline Package)設備封裝。羅克韋爾的QUIP芯片很容易通過交錯的引線來識別。因為它們的樣子,這些芯片通常被稱為“蜘蛛”。在最小電路板走線和空間大約為 10 密耳左右的時代,QUIP 引線配置使得為這些設備設計印刷電路板變得更加容易。
第二個顯著特點是羅克韋爾為PPS-4微處理器開發的配套芯片。到1975年,芯片組家族包括CPU、羅克韋爾獨特的四相時鐘所需的時鐘生成器/驅動程序、256×4-bit RAM、1和2千字節ROM、RAM/ROM組合芯片、鍵盤和顯示控制器、打印機控制器、通用I/O芯片和1200 bps模擬調制解調器。(1200 bps模擬調制解調器開啟了一長串調制解調器芯片,導致NRMEC成為Conexant Systems,最終被Synaptics收購。)
羅克韋爾PPS-4微處理器家族中大量的芯片使得該處理器被廣泛應用于終端產品,包括收銀機、傳真機、家用電器、彈球機、玩具和計算器。然而,多芯片、4位微處理器家族的市場是短暫的。半導體技術發展迅速,器件密度也以驚人的速度增加。1975年10月,羅克韋爾將時鐘產生器集成到微處理器中,并將RAM、ROM和I/O外圍設備合并為一個名為PPS-4/2的2芯片集,但由于半導體工藝技術的進一步進步,2芯片集也很短時期。1976年初,羅克韋爾發布了PPS-4/1,這是一種基于原始PPS-4微處理器架構的真正的單片微控制器。
除了關于基于PPS4的計算器的信息和一個相當不尋常的應用程序:Gottlieb彈球機之外,因特網上很少有關于羅克韋爾PPS-4應用程序的歷史。Gottlieb與Rockwell簽訂合同,開發基于PPS-4/2微處理器的System 1彈球控制器板。Gottlieb在1977年至1980年發行的彈球機中使用了System 1板。第一臺使用了System 1板的彈球機被稱為“埃及艷后”。其他基于微處理器的彈球游戲也緊隨其后,如《Sinbad》,《Dragon》,《Charlie’s Angels》,《Incredible Hulk》,《Buck Rogers》和《Totem》。這個系列共有16場彈球游戲。
這是一種很容易被時間遺忘的歷史,但是PPS-4作為彈球控制器的歷史卻沒有被遺忘,原因有二。首先,收藏家根據系System 1板獎勵Gottlieb彈球機。其次,這些板上的金屬門、MOS/LSI PPS-4 rom /外圍芯片正在失效,現在它們已經接近半個世紀的歷史了。通常情況下,彈球收集器在這些部件失效后會被困在報廢的機器上,因為這些部件已經幾十年沒有生產了,而半導體供應商NRMEC早就不在了。
Gottlieb與Rockwell簽訂合同,設計基于PPS4/2微處理器芯片組的System 1彈球控制器板。圖片來源:Stephen Emery, ChipScapes.com
法國的AA55咨詢公司針對這個問題開發了一種解決方案。該公司開發了基于FPGA的Rockwell PPS-4外圍芯片。AA55咨詢公司的FPGA代碼的目標似乎是由AMD/Xilinx制作的,因為項目文件是為Xilinx的ISE開發軟件格式化的。AA55咨詢公司還沒有對PPS-4/2處理器進行逆向工程,但計劃在未來這樣做。也許明年吧。
由于羅克韋爾組件現在幾乎是純的unobtanium,位于紐約Honeoye Falls的NI-Wumpf公司開發了一種功能上替代了最初的Gottlieb System 1板,并且不使用任何羅克韋爾半導體的板。最初的NI-Wumpf板似乎基于Zilog Z80微處理器。最新版本使用了STMicroelectronics STM32F103微控制器,其中包含了一個72 MHz Arm Cortex-M3處理器。作為比較,PPS-4/2微處理器的工作頻率為199kHZ。一家名為Flippp的法國公司!已經采取了類似的方法,開發了被稱為PI-1和PI-1×4的系統1板的板級替代品,由Pascal Janin設計和編程。該板似乎也基于更現代的微控制器。
閱讀一些基于系統1板的Gottlieb彈球機用戶的評論是很有趣的。大多數人認為羅克韋爾只是一個嚴格意義上的國防承包商。一個叫做pinwebsite的網站專門為Gottlieb開了一個論壇,其中有一個主題是“為什么Gottlieb的系統1如此糟糕?”以下是來自這個帖子的一些引用:
“當時,羅克韋爾似乎是個不錯的選擇。畢竟,他們為美國宇航局和國防部設計了計算機設備,還能出什么問題呢?顯然,有很多。羅克韋爾公司決定在接地方面做出有問題的決定,使用定制設計的組件和其他奇怪的東西,這真的把戈特利布搞砸了。”
“為什么羅克韋爾要花費額外的時間和精力來設計定制蜘蛛芯片,因為它們仍然不如威廉和Bally使用的現成68xx芯片?”采用定制硬件似乎很難為他們節省成本。”
Gottlieb并不知情,在外包過程中做出了一些錯誤的選擇。至于羅克韋爾公司,你可能會想,更大的奇跡是什么:是彈球機成功了,還是他們的NASA產品成功了?”
我想羅克韋爾在蜘蛛方面使用的是對他們來說“現成的”部件。部分問題可能在于他們從未為彈球游戲所處的環境設計過硬件。期望開關在打開時出錯,而不是砰地一聲關閉? 對于國防工業以外的任何人來說,硬件不是“現成的”嗎?
“我不想太政治化,這只是我的看法,如果我想雇用一家公司為我設計一些電子產品,即使羅克韋爾有一個好名字,我也不想雇用一家習慣于做政府項目的公司。在大多數情況下,它們都是臃腫的、昂貴的、過度設計的。我不確定70年代末的情況是否如此,但僅僅因為太空設備運行良好,并不意味著它沒有定價過高和設計過度。”
“羅克韋爾將該系統設計為4位系統——這在它發布之前就已經過時了。”
毫無疑問,今天以收集彈球機為愛好的人不知道羅克韋爾在20世紀70年代是一家商業芯片供應商,不知道PPS-4有悠久的歷史,不知道為什么要開發4位微處理器和微控制器,不知道羅克韋爾為什么要開發“蜘蛛”QUIP,也不知道半個世紀以來維護不善的系統往往會失敗。然而,有些藏家消息靈通。例如:
“在電子方面- System 1使用的是70年代中期的技術。所有的電子元件都是現成的元件,沒有定制元件。事實上,羅克韋爾公司使用的是他們自己的部件——誰能責怪他們呢?我認為它只有兩個缺點-糟糕的接地技術和邊緣連接器。
“至于他們的CPU不受歡迎——它們在相當長一段時間內在銷售點終端非常受歡迎。但當MOS科技推出價格實惠的6502系列處理器時,他們的4位處理器就被淘汰了。”
羅克韋爾微電子和PPS-4產品線也已經從積極參與電子工業的人們的集體記憶中消失了,而且在網上很難找到PPS-4的歷史。你幾乎需要求助于舊書。幸運的是,我書房的書架上有一些這樣的書。
例如,1981年版的Osborne 4 & 8位微處理器手冊列出了羅克韋爾PPS-4/1微控制器家族的10個成員。家族成員有640到2048字節的ROM和48到128個4位的RAM。除了一個家族成員之外,所有成員都有三個集成的串行I/O端口,實際上無非是串行的4位移位寄存器。MM76C是一個家族成員,具有高速上行/下行定時器/計數器子系統,可以作為一個16位計數器或兩個8位計數器操作。該計數器還可以處理光學編碼器使用的正交編碼輸入。計時器/計數器子系統為羅克韋爾PPS-4/1微控制器開辟了額外的工業應用領域,包括電機控制、頻率計數、模數轉換和頻率合成。
如果你不熟悉NRMEC、羅克韋爾微電子或羅克韋爾半導體,那可能是因為該公司在1999年被分拆為Conexant Systems,這是全球范圍內將內部持有的半導體公司的價值推向股市的努力的一部分。Conexant在2002年將其晶圓廠(原羅克韋爾的晶圓廠)拆分為Jazz Semiconductor,從此走向無晶圓廠化。Tower Semiconductor于2008年收購了Jazz Semiconductor,并成為了TowerJazz。該公司在2020年恢復了Tower Semiconductor的名稱,現在英特爾正在收購該公司。與此同時,羅克韋爾早期的MOS/LSI工藝已經一去不復返,而且大多已被遺忘。
編輯:黃飛
?
評論
查看更多