━━━━
雜志“資源導(dǎo)航”欄目的忠實讀者們可能已經(jīng)注意到了我對老技術(shù)的新應(yīng)用多有偏愛。所以說,當(dāng)我發(fā)現(xiàn)李?哈特(Lee Hart)的“會員卡”套件時就立刻抓住機會自己動手裝配起來,讀者也不會覺得奇怪。會員卡套件相當(dāng)于1976年Cosmac Elf計算機的現(xiàn)代版。Elf計算機基于RCA公司的CDP1802處理器,是一款頗具影響力的早期微型計算機。而也許更令人驚奇的是,對于現(xiàn)代創(chuàng)客來說,要想組裝出一臺只靠幾節(jié)5號電池就能運行一年的微控制器設(shè)備,也許會員卡正是他們的“敲門磚”。
最初的Elf計算機可以追溯到個人微機的英雄時代,那時,如今的標準鍵盤和位圖顯示器還沒有成為令我們輕松使用計算機的標準配置。輸入工作需要借助一組扳鈕開關(guān),手動設(shè)置每個字節(jié)中的每個比特。人們使用純機器代碼編程。而讀取輸出信息則需要借助一臺每頁僅能顯示一個十六進制數(shù)字的雙位LED顯示器和另外一臺所謂的“Q LED”顯示器。在輸出端方面,會員卡套件甚至比其原型更為嚴格:“數(shù)字”輸出以二進制數(shù)顯示一個字節(jié),通過一列8塊LED讀取。如果沒有可擦寫標志器和長長的磁帶,根本不能進行原始計算。
Q LED利用了CDP1802處理器不同尋常的特征之一,正是由于這些特征,Elf計算機及其后續(xù)版本才能夠在20世紀80年代廣為流行,并且至今仍有用武之地,尤其是在航空航天領(lǐng)域。Q LED直接連接在一個處理器引腳上,通過單指令即可開關(guān)。可以輕松地將外部電路連接到該Q引腳上,編寫控制軟件也相對容易,這意味著該引腳可用來與各種外部設(shè)備進行通信,例如序列接口或擴音器。將Q引腳的輸出端與揚聲器相連并以適當(dāng)?shù)念l率開關(guān),就可以生成樂音。因此,Elf計算機受到了合成音樂先驅(qū)們的歡迎,其在1979年的首屆費城計算機音樂節(jié)上的矚目便充分印證了這一點。
1802處理器的另一個特色是擁有4個特殊的輸入引腳,它們的狀態(tài)均可使用一條單指令讀取和拓展,極大地簡化了從外圍設(shè)備接收輸入信息所需的物理電路和軟件。1802處理器還有一個特有的便利之處,即它的時鐘速度可以動態(tài)調(diào)整,可從大約1.8兆赫(會員卡的時鐘速度)直接調(diào)整到零。中止時鐘并不會造成處理器重置,且1802處理器無須暫停,時鐘就可以重啟。在較低的時鐘速度下,1802處理器所需要的電壓微乎其微,而且只需要極少量的電力。有了這些特征,如果有人需要一款在未來依靠一個小型太陽能電池便能運行的可靠嵌入式控制器,那么他對1802處理器可能也會感興趣。
哈特開發(fā)的標準會員卡套件售價79美元,我又多付了10美元,在套件中增加了一個前端面板。除此之外,哈特還出售不包含任何組件的基本款印制電路板,但購買含有組件的套件可以得到1802處理器,并且免去了與eBay分銷商打交道的麻煩。(1802處理器的當(dāng)前制造商英特矽爾公司一年只銷售幾千臺軍事規(guī)格的處理器,每臺售價124美元,僅接受批量訂單。)
套件的外觀為兩塊像三明治一樣夾在一起的互連電路板。底部的電路板實際上就是一臺完整的計算機,包含1802處理器、系統(tǒng)內(nèi)存和一些輔助電路。頂部的電路板相當(dāng)于一個“前端面板”,上面包含用于輸入和輸出的扳鈕開關(guān)和LED顯示器,以及一個電源插座和一個25針插座。25針插座可用于連接套裝和計算機的并行端口。
底部的電路板無需前端面板也可運行。電路板配備一塊32千字節(jié)的靜態(tài)隨機存取存儲器(RAM)芯片,但是如果你還額外購買了一些第三方組件,便可以再安裝一塊RAM芯片或電可擦只讀存儲器(EEPROM)。有了這些芯片,你就可以永久性地使用引導(dǎo)程序和其他代碼了。哈特還在套裝中加入了一個大容量電容器,可以將RAM芯片的內(nèi)容保存幾小時。
━━━━
Elf計算機被縮小至能夠放入歐托滋錫罐大小,這意味著組裝工作是一個極其復(fù)雜而又精細的操作過程(盡管我遇到的大多數(shù)難題都是因為運氣太差,而不是哈特的設(shè)計)。編寫不過幾十比特大小的軟件程序也是一項乏味的工作,而且還很容易出錯。
幸運的是,自從2014年2月份進行了硬件修正之后,會員卡套件已經(jīng)包含了性能得到改進的序列通信支持程序,你可以使用一款A(yù)rduino控制器隨心所欲地從主機中裝載程序,并與主機進行通信。
這里有兩個技巧:首先,你必須事先決定串口是采用“TTL”電平(與多個串口轉(zhuǎn)USB適配器共同工作)還是“RS-232”電平(與老式計算機上的串行端口進行連接)。兩種電平所需要的電路系統(tǒng)略有不同。其次,我們必須使用自己的軟件處理串行端口(這時安裝EEPROM的能力便派上用場了)。幸運的是,我們可以從哈特的網(wǎng)站以及Retrotechnology.com的頁面上獲取許多這方面的幫助和建議,以及許多有關(guān)會員卡和1802處理器的其他事宜。
由于我沒有EEPROM刻錄機,所以我研究一款基于Arduino的接口,該接口將通過前端面板上的并行端口連接。其目標是復(fù)制原版Elf的十六進制鍵盤和顯示器的功能,同時又能通過計算機加載更長的程序,但是這只能作為另一篇文章的主題了。目前能夠調(diào)用Elf計算機可用的部分樣本程序已經(jīng)令我非常滿足了,這其中包括《大眾電子》雜志中向世人介紹計算機的系列文章中所提到的部分程序。其中之一便是只有32比特的操作系統(tǒng)ETOPS-256。它并不是一個復(fù)雜的操作系統(tǒng),但卻是唯一一個我可以說自己有幸能夠完全了解的。
作者:Stephen Cass
往期推薦