Z80 mikroişlemcili bir bilgisayarı nasıl kurarım?


22

Ben çip var, nasıl eklerim: bir saat, RAM, sabit disk (belki EEPROM?), Bir ekran (LCD grafik ekran?), Giriş yöntemi (klavye, fare)?


2
Ne için kullanmak istiyorsun? Bu sizin gereksinimlerinizi belirler.
stevenvh

6
Z80, gerçekten çok çok harika bir işlemciydi, ancak günü çoktan geçti. Çok özel bir Z80 kullanmak istemeniz ve Z80 kullanmanız gerekmiyorsa, bunu yapmayın. Başka bir şey kullan. Z80'inizi şimdi sahip olduklarımıza giden yolda büyük fark yaratan bir işlemci örneği olarak kendi özel müzenize yerleştirin.
Russell McMahon

1
Geçerli bir bilgisayarda çalışan (çapraz) bir montajcı veya (çapraz) bir derleyici bulmakta zorlanacağınızı düşünüyorum, çevre çiplerinden, bir EPROM'dan ve çalıştırmak için gereken eşleştirme programcısından bahsetmek yerine. İnternette canlı bir topluluğu olan Arduino'ya giderdim, her türlü donanım için bir sürü kütüphane, Linux ve Windows için geliştirme desteği.
jippie

1
@jippie Zor değil, ama geriye dönük olarak ciddi bir şekilde hesaplamadığınız sürece pek bir şey ifade etmiyor. Bir derleyici olarak sdcc var ve Farnell tüm Z80 çevre cipslerini fiyatları oldukça dik olmasına rağmen listeleniyor.
starblue

1
1980'de inşa ettiğim bir karanlık oda zamanlayıcısını çalıştıran bir Z80'im var. Zamanlayıcı hala çalışıyor, ancak karanlık bir odadaki pozlamalara ve kimyasal banyolara zaman ayırma ihtiyacımın ötesine geçti. Hala çalışan bir süreölçer, ancak şu anda bunun için bir kullanımım yok.
Olin Lathrop

Yanıtlar:


37

Z80'in çok yaşlı ya da çok zor olduğunu söyleyenleri dinlemeyin. Z80 bu görev için tasarlandı. Sürekli olarak üretilen en eski CPU'dur, bir nedenden dolayı, onunla bilgisayar sistemleri kurmak kolaydır. Projeniz için mükemmel bir seçim.

Size gerçekten yardımcı olacak "z80 mikrobilgisayar tasarım projeleri" ve " z80 el kitabı " gibi bazı harika kitaplar var . Ayrıca, z80.info'ya bakın, istediğiniz tonlarca bilgiye sahipler.

Tasarım hedefleriniz gerçekçi. En zor kısım, bir VGA veya NTSC ekranını sürmek istediğinizi varsayarak LCD ekran olacaktır. Ama bu bile, içine girince, o kadar zor değil. Bu, bu projede karşılaşacağınız yinelenen bir tema olacak, işler beklediğinizden çok daha kolay. İlk mikrobilgisayarlar oldukça basit makinelerdi, 2012'de onları bir dereceye kadar çoğaltmanızı beklemek çok gerçekçi bir amaç. Özel ses ve video çiplerinin yanı sıra, makinenin geri kalanı hala raftan temin edilebilir ve bir acemi olarak bile kolayca anlaşılabilir.

En basit kullanışlı z80 sistemi, eski anakartlardan, ramdan ve seri iletişim için bir uarttan (artı seviye kaydırma için max232) ücretsiz olarak alabileceğiniz z80 CPU'ya, bir miktar flash belleğe veya EEPROM'a sahip olacak. Bunların hepsi herhangi bir elektronik distribütöründe mevcuttur, delikli bileşenlerdendir ve bir breadboard üzerine inşa edilebilir. İhtiyacınız olan tek özel ekipman flash / EEPROM programcısı (kendimi bir Arduino'dan ürettiğim). Oh ve adres çözme, sıfırlama devresi, vb. Ve bir kristal osilatör için bazı 74 serisi mantık yongaları gibi.

Alternatif olarak, modern paralel modlu LCD karakter ekranı ile iletişim kurmak için uartı bir z80 pio yongasıyla değiştirebilirsiniz. Gerçekten grafikler yapmaz, ancak kullanımı kolaydır ve z80'iniz daha erken basabilir. Bir ps / 2 klavye arayüzü oldukça basit olacaktır.

Yine de, z80, projeniz için iyi bir seçimdir. Bu karmaşık görünebilir, ama sonuçta bu kadar da kötü değil. Artımlı olarak oluşturun, z80 test devresiyle başlayın, bir EEPROM bağlayın, böylece bazı kodları çalıştırabilir ve sadece oradan inşa edebilirsiniz.


1
Projenin en kritik kısmı, bir geliştirme bilgisayarından kolayca kod indirilebilecek olan bir çeşit eprom değişikliği ile gelecek; z80 döneminde bugünün mikrokontrolcülerine göre devre içi programlama ile işler ilkel. Alternatif olarak, eğer doğrulanmış bir seri bootloader alırsanız (muhtemelen bir bitbang SPI SD kart arayüzü "disk" ile) ve gerçek bir EPROM'a koyarsanız, geliştirilmekte olan kodunuz için kolayca statik ram kullanabilirsiniz.
Chris Stratton

Kodunuzu kolayca geliştirmek için PC'nize bağlı bir eprom emülatörü kullanın. ICP gibi çalışır.

14

Neyse ki bir kitap var - "Kendi Z80 Bilgisayarınızı Oluşturun" ve şu anda baskısı tükenmiş olmasına rağmen, yazar Steve Ciarcia, PDF olarak özgürce dağıtılmasına izin verdi: http://retro.hansotten.nl/index.php? page = z80-sbc

Ayrıca N8VEM Home Brew Computer projesine de bakmak isteyebilirsiniz. CP / M çalıştırabilir ve çok ucuza inşa edilebilir bir Z80 SBC (tek kartlı bilgisayar) - PCB'ler 20 $ artı nakliye. Artık çeşitli genişleme panoları mevcut (S100 veri yolu!) Ve bunların arkasında bilgili ve yardımsever bir topluluk var.

Ama her şeyden önce, neden bir avuç parça kapmak ve CPU'nuzun çalıştığından emin olmak için minimal Z80 test cihazını inşa etmiyorsunuz - http://www.z80.info/z80test0.htm Bu sadece veri tabanı ve sürekli olarak çalışacak adres satırları. Aynı talimat (NOP) temelde, çalışan bir Z80 tabanlı bilgisayarın kalbini göstermek için.


Müthiş bağlantılar. Şimdi bile kendimi denemek için cazip .. ;-)
Cees Meijer

4

Nitekim Z-80 eski bir yongadır, ancak onunla bir bilgisayar yapmak iyi bir zorluk olabilir. Tüm modern mikrodenetleyicilerden farklı olarak birçok yerleşik özelliğe sahip olmadığı için RAM, EPROM eklemek ve kod çözme donanımını kendiniz belirlemek zorunda kalacaksınız. Ve Tandy TRS-80'i kurduğunda yıllar önce yaptıkları tam da buydu. Orijinal Model-1 şemasına bir göz atın: http://electrickery.xs4all.nl/comp/trs80/doc/westHWBook.pdf


Bu belgeye göz atarken hangi donanımın ATtiny ve ATmega gibi yongalara entegre edilmesine saygı göstermeye başlarsınız. Muhtemelen sadece veri ve adres veri yolu kablolarından kendiliğinden kabuslar göreceğim.
jippie

Z80’in yanı sıra, TRS-80’de olanların çoğu video bölümünden ve dinamik RAM arayüzünden kaynaklanıyordu. Ayrıca, çip sayımı, bir sebepten daha düşük, 20 pim 'sekizli' parçalar (örneğin, 74LS244) yerine 16 pim 'altıgen' parça (örneğin, 74LS367) kullandıklarından, b / c'den çok daha yüksekti. Demek istediğim, muhtemelen kendi Z80'inizi yuvarlayan bir TRS80'i klonlayabilirsiniz. 1!
Sadece

4

Z80 mikroişlemci, yani Sinclair ZX80 (geliştirilmiş sürüm) ve Jupiter Cantab şirketinin Jupiter Ace'i temelli birkaç bilgisayar yapma şansım oldu. Her ikisi de gayet iyi çalışıyor ve bu makineler bir klavyeden yararlanıyor ve bir TV setinde siyah beyaz resimler üretiyor (240 x 192 piksel). Onlar hakkında daha fazla bilgi:

http://www.jupiter-ace.co.uk/

http://searle.hostei.com/grant/zx80/zx80.html

ZX80’in halefi olan ZX Spectrum, bunların hepsini değil aynı zamanda IDE disk arayüzü, disket arayüzü ve ayrıca USB kalem sürücüler veya SD kartlar gibi daha modern depolama ortamları için her türlü arayüze de sahip.

Benim tavsiyem: devam et ve yap! Araştırma, yol boyunca çok şey öğren ve eğlen. Bugünlerde işler 80'lerde olduğundan çok daha kolay, internet, CPLD, FPGA, istediğimiz kadar statik RAM vb.

İyi şanslar ve kendine iyi bak.


3

Bir olacaktır çok tüm açıklanan özellikler ile Z80 tabanlı zor anlar kendi "bilgisayar" inşa. Ancak, donanımı kendiniz kurmadan yaşayabiliyorsanız, kendinizi programladığınız bir Z80 bilgisayarı tamamen mümkündür.

Eski TI-83, TI-84 ve benzeri (önceden TI-89, sanırım) Z80 tabanlı hesap makineleridir. Hala çok yaygın hesap makineleridir ve yaklaşık 100 $ 'a sahip olabilirler: http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=ti-84

Hesap makinesi, fare hariç istediğiniz her şeye sahiptir ve hesap makineleri okullarda hala yaygın olduğundan, Z80 geliştiricilerinde hala iyi sayılar bulacaksınız. StackOverflow, sorularınız olursa yardımcı olabilir: /programming/tagged/z80

Yine de, Z80'i kendi kodunuzla yeniden programlamanın ne kadar kolay olacağını bilmiyorum.


1
Lisede, z80 developemebt kurullarını kullanarak bir Meclis programlama kursu aldık; Assembler koduyla programlamak, bazı LED'leri yakmak ve 7 segmentli ekranlarda bazı sayıları görüntülemek için tüm araç zincirimiz vardı. Bu yüzden daha donanım odaklı bir öğrenme için iyi bir başlangıç ​​noktası olabileceğini düşünüyorum, ama nerede olduklarını kim bilebilir ...
clabacchio

1
Potansiyel olarak saldırıya uğrayabilecek bir gelişme platformu önermenin yararı olsa da, ilk "çok zor" iddiası abartılmış. Posterin listesindeki her şeyi yapmak için bir projenin birçok aşaması olacağı doğrudur, ancak bunların hiçbiri özellikle zor değildir veya hobistler tarafından 1980'lerin başında veya bugün yaygın olarak yapılanların kapsamı dışındadır.
Chris Stratton


2

Z-80'nin eski olduğunu sanmıyorum. Kendi başına oldukça güçlü bir işlemci. Ücretsiz bir assembler + IDE'yi www.zilog.com adresinde bulabilirsiniz. Bu çok iyi bir araçtır.

Bir PC'yi değiştirmek istiyorsanız, canınızı sıkmayın. Mikroişlemciler hakkında çok şey öğrenmek istiyorsanız, ilerleyin.

Z-80, arabirim, programlama vb. İle ilgili çok sayıda basılı materyal vardır.

Z-80 hiçbir zaman bir 3 GHZ dört çekirdekli eşleşmeyecek olsa da, insan terimleriyle hala oldukça hızlı olabilir. Ailede daha hızlı işlemciler var. Z80S180 ailesine bakın. Hepsi tek bir pakete entegre edilmiş çok sayıda güç ve birçok çevre birimi elde edersiniz. Evet, rom & ram harici, şimdi hepsini bir çipte beklemiyordunuz değil mi? Bir otobüs kavramının tamamını kaçıracaksınız! Ancak, bu yüksek hızlı tasarımlardan birini kutunun dışında da denemezdim.

Arduinos, ahududulu PI'ler, vb. Lego blokları aldığınızı ve onları tasarlamadığınızı fark edin. Evet birlikte bağlanırlar, ancak katkılarınız yazılımla sınırlı olacaktır (Tamam, belki de kendi panonuzu tasarlayabilirsiniz - peki ya sen?)

Z-80 harika bir öğrenme aracı olmaya devam ediyor. Öyleyse 8051 ve RAM, ROM, CPU ve 1 MIPS'lerinizi tek bir pakette 51 ile alıyorsunuz. İsterseniz daha hızlı.

Başkalarının yaptığı seçimleri dinlemeyin. Ne yapmak istediğine karar ver ve git. 2 MHZ'de hata ayıklamak 40'tan daha kolaydır.

İnternetin gücünü kullanın ve birkaç Z-80 şeması toplayın. Etrafta yüzen bir sürü var. Gaonkar ISBN’si “Z-80 Mikroişlemci” olarak düşünün ISBN 0-02-340484-1 (Amazon kullanılmış kopyaları çok ucuza satabilir). Aslında, Gaonkar sorduğun her soruyu cevaplardı.


1

Z80 güncel değil, onunla birlikte bir yenilik retro bilgisayarından başka bir şey inşa edemezsiniz, ama bu denemenin öğretici ve eğlenceli olmayacağı anlamına gelmez.

Eski bir z80'i çalıştırabileceğimi ispatlamak isteseydim, muhtemelen 32Kx8 statik RAM ve UART çipini koyardım ve değiştirilmiş bir TRS-80 Model I ROM görüntüsünü, etrafındaki herhangi bir küçük EPROM / EEPROM'a yatar. . Tüm bellek haritası bir MSI yongasıyla çözülebilir.

TRS-80 klavye matrisi kod çözme yordamlarını silmek ve bunları bir UART giriş yordamıyla değiştirmek, ya da karakter yordamını bulmak ve onu bir UART çıkış yordamı ile değiştirmek çok kolay olmaz. Sonra bir PC seri portuna bağlanabilir ve eski BASIC çıkarılabilir ve etkileşime girebilirdi.

Bu, bunun için çok fazla G / Ç uygulamak için uğraşmadan z80 çalıştığını kanıtlamalıdır.


2
Z80'in eski olduğunu sanmıyorum ... şu anda TI-83 hesap makineleri onu birincil işlemcisi olarak kullanıyor ve TI-84 de ASIC'de kullanıyor.
fuzzyhair2

Yenilikçi bir retro bilgisayar inşa etmenin nesi yanlış? Çip seviyesinden hiç kimse eğlence ve kişisel eğitim dışında bir şey inşa edemez. 5 $ için mükemmel bir önceden oluşturulmuş anakart alabilirsiniz!
Isaac Rabinovitch
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.