Làm cách nào để xây dựng máy tính có bộ vi xử lý Z80?


22

Tôi đã có chip, vậy tôi sẽ thêm như thế nào: đồng hồ, RAM, ổ cứng (có thể là EEPROM?), Một màn hình (màn hình đồ họa LCD?), Phương thức nhập (bàn phím, chuột)?


2
Bạn muốn sử dụng nó để làm gì? Điều đó quyết định yêu cầu của bạn.
stevenvh

6
Z80 thực sự là một bộ xử lý rất rất rất tuyệt vời vào thời của nó, nhưng ngày của nó đã qua lâu rồi. Trừ khi bạn rất rất rất đặc biệt muốn và phải sử dụng Z80, đừng làm như vậy. Sử dụng một cái gì đó khác. Đặt Z80 của bạn trong bảo tàng riêng của bạn như một mẫu của bộ xử lý tạo ra sự khác biệt lớn trong đường dẫn đến những gì chúng ta có bây giờ.
Russell McMahon

1
Tôi nghĩ rằng bạn sẽ gặp khó khăn khi tìm một trình biên dịch (chéo) hoặc trình biên dịch (chéo) chạy trên PC hiện tại, chưa kể các chip ngoại vi, EPROM và lập trình phù hợp mà bạn yêu cầu để chạy nó. Tôi muốn dùng Arduino có một cộng đồng sống động trên Internet, có vô số thư viện cho tất cả các loại phần cứng, hỗ trợ phát triển cho Linux và Windows.
jippie

1
@jippie Điều đó không khó, nhưng nó không có ý nghĩa gì trừ khi bạn nghiêm túc với việc tính toán lại. Có sdcc làm trình biên dịch và Farnell liệt kê tất cả các chip ngoại vi Z80 là có sẵn, mặc dù giá khá dốc.
starblue

1
Tôi có một chiếc Z80 chạy bộ hẹn giờ trong phòng tối mà tôi chế tạo vào năm 1980. Bộ hẹn giờ vẫn hoạt động, nhưng nó vượt xa nhu cầu của tôi về thời gian phơi sáng và phòng tắm hóa chất trong phòng tối. Nó vẫn là một máy đo khoảng thời gian làm việc, nhưng hiện tại tôi không sử dụng nó.
Olin Lathrop

Câu trả lời:


37

Đừng nghe những người khác nói rằng z80 quá cũ hoặc quá cứng. Z80 được thiết kế cho nhiệm vụ này. Đó là CPU lâu đời nhất được sản xuất liên tục vì một lý do, thật dễ dàng để xây dựng các hệ thống máy tính với nó. Đó là một lựa chọn tuyệt vời cho dự án của bạn.

Có một số cuốn sách tuyệt vời như "dự án thiết kế máy vi tính z80" và " cẩm nang z80 " sẽ thực sự giúp bạn. Ngoài ra, hãy xem z80.info , họ có rất nhiều thông tin bạn muốn.

Mục tiêu thiết kế của bạn là thực tế. Phần khó nhất sẽ là màn hình LCD, giả sử bạn muốn lái màn hình VGA hoặc NTSC. Nhưng ngay cả điều đó, một khi bạn đã vào nó, không khó lắm đâu. Đó sẽ là một chủ đề định kỳ bạn sẽ gặp trong dự án này, mọi thứ dễ dàng hơn bạn mong đợi. Máy vi tính ban đầu là những cỗ máy đơn giản đáng chú ý, hy vọng bạn có thể nhân đôi chúng ở một mức độ nào đó vào năm 2012 là một mục tiêu rất thực tế. Bên cạnh các chip âm thanh và video tùy chỉnh, phần còn lại của máy vẫn có sẵn dưới dạng các bộ phận trên kệ và dễ hiểu ngay cả khi là người mới.

Hệ thống z80 có thể sử dụng đơn giản nhất sẽ có CPU z80, một số bộ nhớ flash hoặc EEPROM mà bạn có thể nhận được miễn phí từ bo mạch chủ cũ, ram và uart để liên lạc nối tiếp (cộng với tối đa 232 để chuyển mức). Tất cả điều này có sẵn tại bất kỳ nhà phân phối điện tử, thông qua các thành phần lỗ và có thể được xây dựng trên một bảng mạch. Thiết bị đặc biệt duy nhất bạn cần là bộ lập trình flash / EEPROM (do tôi tự chế tạo từ Arduino). Ồ, và một vài thứ khác như một số chip logic 74 series để giải mã địa chỉ, đặt lại mạch, v.v. và bộ tạo dao động tinh thể.

Ngoài ra, bạn có thể thay thế uart bằng chip z80 pio để giao tiếp với màn hình hiển thị ký tự LCD chế độ song song hiện đại. Nó không thực sự làm đồ họa, nhưng nó dễ sử dụng và z80 của bạn có thể in mọi thứ sớm. Bàn phím ps / 2 sẽ khá đơn giản để giao diện.

Nhưng dù sao, z80 là một lựa chọn tốt cho dự án của bạn. Điều này nghe có vẻ phức tạp, nhưng cuối cùng thì nó không tệ đến thế. Xây dựng tăng dần, bắt đầu với mạch thử nghiệm z80, nối dây EEPROM để nó có thể chạy một số mã và chỉ cần xây dựng từ đó.


1
Phần quan trọng nhất của dự án sẽ là một số loại thay thế eprom mà mã có thể dễ dàng tải xuống từ PC phát triển; đó là nơi mọi thứ còn nguyên thủy trong thời đại của z80 so với các bộ vi điều khiển ngày nay với lập trình trong mạch. Ngoài ra, nếu bạn nhận được bộ tải khởi động nối tiếp được xác thực (có thể với "đĩa" giao diện thẻ SDI bitbang) và đặt nó vào EPROM thực tế, bạn có thể dễ dàng sử dụng ram tĩnh cho mã của mình đang được phát triển.
Chris Stratton

Để phát triển mã của bạn một cách dễ dàng, hãy sử dụng trình giả lập eprom được kết nối với PC. Hoạt động như ICP.

14

May mắn thay, có một cuốn sách - "Xây dựng máy tính Z80 của riêng bạn" và mặc dù nó đã không còn xuất bản, tác giả Steve Ciarcia đã hào phóng cho phép nó được phân phối tự do dưới dạng PDF: http://retro.hansotten.nl/index.php? trang = z80-sbc

Bạn cũng có thể muốn xem qua dự án N8VEM Home Brew Computer. Đó là Z80 SBC (máy tính bảng đơn) có thể chạy CP / M và có thể được chế tạo rất rẻ - PCB có giá 20 đô la cộng với vận chuyển. Hiện tại có rất nhiều bảng mở rộng có sẵn (xe buýt S100!) Và có cộng đồng hiểu biết & hữu ích đằng sau tất cả.

Nhưng trước hết, tại sao không lấy một số ít các thành phần và xây dựng trình kiểm tra Z80 tối thiểu để đảm bảo CPU của bạn hoạt động - http://www.z80.info/z80test0.htmlm Điều này chỉ cần cứng cáp các dòng dữ liệu và địa chỉ để liên tục thực thi cùng một hướng dẫn (NOP) để chứng minh một cách cơ bản, trái tim của một máy tính dựa trên Z80 đang hoạt động.


Liên kết tuyệt vời. Bây giờ tôi thậm chí còn muốn thử bản thân mình .. ;-)
Cees Meijer

4

Thật vậy, Z-80 là một con chip cũ, nhưng nó có thể là một thử thách tốt để chế tạo một máy tính với nó. Không giống như tất cả các bộ vi điều khiển hiện đại, nó không có nhiều tính năng tích hợp, do đó bạn sẽ phải tự thêm RAM, EPROM và giải mã phần cứng. Và đây chính xác là những gì họ đã làm nhiều năm trước khi Tandy chế tạo TRS-80. Chỉ cần xem sơ đồ Mô hình-1 ban đầu: http://electrickery.xs4all.nl/comp/trs80/doc/westHWBook.pdf


Bạn bắt đầu tôn trọng phần cứng nào được tích hợp vào các chip như ATtiny và ATmega khi duyệt qua tài liệu đó. Có lẽ tôi sẽ gặp ác mộng tự phát chỉ từ dữ liệu và địa chỉ nối dây xe buýt.
jippie

Ngoài bản thân Z80, hầu hết những gì có trong TRS-80 là do phần video và giao diện RAM động. Ngoài ra, số lượng chip khá cao hơn so với số tiền có thể là b / c vì một số lý do họ đã sử dụng rất nhiều bộ phận 16 pin 'hex' (ví dụ 74LS367) thay vì ít hơn, các bộ phận 'bát phân' 20 pin (ví dụ 74LS244). Quan điểm của tôi, có lẽ bạn có thể sao chép một TRS80 đang lăn Z80 của riêng bạn. +1!
JustJeff

4

Tôi đã có cơ hội xây dựng một vài máy tính từ đầu dựa trên bộ vi xử lý Z80, cụ thể là một chiếc Sinclair ZX80 (phiên bản cải tiến) và Jupiter Ace từ công ty Jupiter Cantab. Cả hai đều hoạt động tốt và các máy này sử dụng bàn phím và tạo ra các bức ảnh đen trắng (ở độ phân giải 240 x 192 pixel) trên TV. Thêm thông tin về họ:

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

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

Người kế nhiệm của ZX80, ZX Spectrum, không chỉ có tất cả những thứ này mà còn có tất cả các loại giao diện như giao diện đĩa IDE, giao diện đĩa mềm và cho cả phương tiện lưu trữ hiện đại hơn như ổ đĩa bút USB hoặc thẻ SD.

Đề nghị của tôi: hãy tiếp tục và làm điều đó! Nghiên cứu, học hỏi rất nhiều trên đường đi và vui chơi. Mọi thứ ngày nay dễ dàng hơn rất nhiều so với những năm 80, chúng tôi có internet, CPLD, FPGA, nhiều RAM tĩnh như chúng tôi muốn, v.v.!

Chúc may mắn và hãy cẩn thận.


3

Bạn sẽ có một thời gian rất khó khăn để xây dựng "máy tính" của riêng mình dựa trên Z80 với tất cả các tính năng mà bạn mô tả. Tuy nhiên, nếu bạn có thể sống mà không tự mình xây dựng phần cứng, một máy tính Z80 mà bạn tự lập trình là hoàn toàn có thể.

TI-83, TI-84 cũ và tương tự (tiền TI-89, tôi tin) là các máy tính dựa trên Z80. Chúng vẫn là các máy tính rất phổ biến và chúng có thể có giá khoảng 100 đô la: http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=ti-84

Máy tính có tất cả mọi thứ bạn muốn ngoại trừ chuột và vì máy tính vẫn còn phổ biến trong các trường học, bạn vẫn sẽ tìm thấy số lượng lớn các nhà phát triển Z80. StackOverflow có thể giúp đỡ nếu bạn có câu hỏi: /programming/tagged/z80

Mặc dù vậy, tôi không chắc việc lập trình lại Z80 bằng mã của bạn sẽ dễ dàng như thế nào.


1
Ở trường trung học, chúng tôi đã có một khóa học lập trình hội bằng cách sử dụng bảng phát triển z80; chúng tôi đã có tất cả các chuỗi công cụ để lập trình nó với mã Trình biên dịch mã của nó, để chiếu sáng một số đèn LED và hiển thị một số số với màn hình 7 đoạn. Vì vậy, tôi nghĩ rằng đối với việc học tập theo định hướng phần cứng nhiều hơn, nó có thể là điểm khởi đầu tốt, nhưng ai biết nơi chúng có thể được tìm thấy ...
clabacchio

1
Mặc dù có công trong việc đề xuất một nền tảng phát triển có khả năng hack, nhưng yêu cầu "rất khó" ban đầu bị thổi phồng. Đúng là sẽ có rất nhiều giai đoạn của một dự án để làm mọi thứ trong danh sách của người đăng, nhưng không có điều gì đặc biệt khó khăn, hoặc ngoài phạm vi của những gì thường được thực hiện bởi những người có sở thích vào đầu những năm 1980 hoặc ngày nay.
Chris Stratton


2

Tôi không nghĩ Z-80 đã lỗi thời. Nó là một bộ xử lý khá mạnh theo đúng nghĩa của nó. Bạn có thể tìm thấy một trình biên dịch + IDE miễn phí tại www.zilog.com. Nó là một công cụ rất tốt.

Nếu bạn đang tìm cách thay thế PC, đừng bận tâm. Nếu bạn muốn tìm hiểu nhiều về bộ vi xử lý, hãy rèn trước.

Có rất nhiều tài liệu in liên quan đến Z-80, giao thoa, lập trình, v.v.

Mặc dù Z-80 sẽ không bao giờ phù hợp với lõi tứ 3 GHZ, nhưng nó vẫn có thể khá nhanh về mặt con người. Có bộ xử lý nhanh hơn trong gia đình quá. Nhìn vào gia đình Z80S180. Bạn nhận được rất nhiều năng lượng, nhiều thiết bị ngoại vi, tất cả được tích hợp vào một gói duy nhất. Có, rom & ram là bên ngoài, bạn không mong đợi TẤT CẢ trên một chip bây giờ phải không? Bạn sẽ bỏ lỡ toàn bộ khái niệm về một chiếc xe buýt! Tuy nhiên, tôi sẽ KHÔNG thử một trong những thiết kế tốc độ cao này.

Arduinos, raspberry PI, v.v ... Nhận ra rằng bạn đang mua các khối lego, không thiết kế chúng. Có, họ kết nối với nhau, nhưng đóng góp của bạn sẽ bị giới hạn trong phần mềm (OK, có thể bạn có thể thiết kế bảng của riêng mình - nhưng bạn sẽ không?)

Z-80 vẫn là một công cụ học tập tuyệt vời. 8051 cũng vậy, và bạn nhận được RAM, ROM, CPU và 1 MIPS trong một gói duy nhất với 51. Tốc độ cũng nhanh hơn nếu bạn muốn.

Đừng nghe những lựa chọn mà người khác đã đưa ra. Quyết định những gì bạn muốn làm và sau đó đi làm nó. Việc gỡ lỗi ở 2 MHZ dễ dàng hơn rất nhiều so với 40.

Sử dụng sức mạnh của internet và thu thập một vài sơ đồ Z-80. Có rất nhiều trong số họ nổi xung quanh đó. Hãy xem xét "Bộ vi xử lý Z-80" của Gaonkar ISBN 0-02-340484-1 (Amazon có thể bán các bản sao đã sử dụng với giá rất ít $). Thật ra, Gaonkar sẽ trả lời mọi câu hỏi của bạn.


1

Z80 đã lỗi thời, bạn sẽ không thể xây dựng bất cứ thứ gì ngoại trừ một máy tính retro mới lạ với nó, nhưng điều đó không có nghĩa là nó sẽ không mang tính hướng dẫn và thú vị để thử.

Nếu tôi chỉ muốn chứng minh rằng tôi có thể chạy z80 cũ, có lẽ tôi đã đặt nó với RAM tĩnh 32Kx8 và chip UART, và ghi hình ảnh ROM TRS-80 Model I đã sửa đổi vào bất cứ thứ gì EPROM / EEPROM nhỏ đang nằm xung quanh . Toàn bộ bản đồ bộ nhớ có thể được giải mã bằng chip MSI.

Sẽ không mất nhiều thời gian để loại bỏ các thói quen giải mã ma trận bàn phím TRS-80 và thay thế chúng bằng thói quen nhập UART, cũng như không tìm thói quen thoát ký tự và thay thế nó bằng thói quen đầu ra UART. Sau đó, nó có thể được nối với một cổng nối tiếp PC và BASIC cũ có thể được đưa lên và tương tác với.

Điều đó phải chứng minh rằng bạn đang chạy z80, không gặp rắc rối khi cố gắng thực hiện nhiều I / O cho nó.


2
Tôi không nghĩ Z80 đã lỗi thời ... hiện tại dòng máy tính TI-83 sử dụng nó làm bộ xử lý chính và TI-84 cũng sử dụng nó trong ASIC.
fuzzyhair2

Có gì sai khi xây dựng một máy tính retro mới lạ? Không ai xây dựng bất cứ thứ gì từ cấp độ chip ngoại trừ niềm vui và tự học. Không phải khi bạn có thể có được một bo mạch chủ dựng sẵn tuyệt vời với giá 5 đô la!
Isaac Rabinovitch
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.