Bus cho phép mạch tích hợp


8

Tôi đang chơi với việc thiết kế CPU 8 bit đơn giản từ các thành phần logic cơ bản. Tôi có một ý tưởng khá hay về cách ALU và các thanh ghi của tôi sẽ tương tác, nhưng một điều tôi cảm thấy có thể sử dụng một số cải tiến là làm thế nào để chuyển đổi khi một dòng được phép kết nối với bus dữ liệu chính.

Suy nghĩ ban đầu của tôi là sử dụng và cổng để lái xe buýt. Đầu ra từ các dòng khác nhau trong ALU đều có thể đi vào một tập hợp các chip quad-AND xuất ra trên bus. Chỉ một bộ cổng AND tại một thời điểm sẽ có tất cả các đầu vào B của nó được kéo lên cao để cho nó ra khỏi xe buýt.

Một vài điều tôi không chắc chắn: Có vẻ lãng phí khi sử dụng tám cổng AND đầy đủ trên mỗi dòng, khi tôi chỉ cần một dòng điều khiển đi vào. Có con chip nào phù hợp hơn với mục đích này không? Tôi chắc chắn rằng tôi cũng có thể làm điều đó với tám bóng bán dẫn, nhưng tôi muốn gắn bó với các IC khá phổ biến (và giá rẻ).

Một giải pháp như thế này chỉ cho phép dữ liệu chảy một chiều từ xe buýt. Đây co phải vân đê? Tôi nghĩ là không, vì tôi có các dòng điều khiển khác dừng đăng ký tải dữ liệu xe buýt cho đến khi tôi muốn chúng.

Có một con chip tiêu chuẩn để sử dụng cho một cổng xe buýt như thế này?

Câu trả lời:


11

Các 74HC244 là thiết bị điển hình để kết nối với / ngắt kết nối từ một chiếc xe buýt. Đó là bộ đệm ba trạng thái bát phân (hay đúng hơn là bộ đệm kép). Bạn sẽ cần tính năng ba trạng thái để ngắt kết nối hoàn toàn khỏi xe buýt. Các cổng sẽ đặt xe buýt cao hoặc thấp, nhưng điều đó sẽ không cho phép một thiết bị khác trên đó.

Nhưng vì bạn đang nói về một bus dữ liệu, bạn có thể muốn một bộ đệm hai chiều . Sau đó, bạn có thể sử dụng 74HC245 .

74HC245

Bạn có một DIRpin để điều khiển hướng và một /OEcái có thể làm cho trạng thái tri đệm.

chỉnh sửa
JustJeff đề cập đến flip-flop ba trạng thái bát phân 74HC374. ( Lưu ý: Tôi sẽ nói về 74HC574, về mặt chức năng giống nhau, nhưng có sơ đồ hợp lý hơn. ) 74HC574 thực sự là một phần thú vị và là một tác phẩm kinh điển kể từ loạt SN74xx. Trong khi 74HC245 sẽ cung cấp cho bạn bộ đệm ba trạng thái, thì 74HC574 cũng có chức năng bộ nhớ , dưới dạng một flip-flop bát phân. Tuyệt vời để tạo các thanh ghi, và thông qua kết nối ba trạng thái với xe buýt, bạn có thể định tuyến luồng dữ liệu của mình một cách dễ dàng.
Tuy nhiên, có một nhược điểm này. Đầu ra của người đăng ký chỉ có sẵn cho xe buýt, vì vậy tất cả thông tin liên lạc sẽ phải đi qua đó, để xe buýt sẽ trở thành cổ chai. Do đó, tôi nghĩ tốt hơn là thay thế 74HC374 bằng một flip-flop D bát 74HC273 sau đó là bộ đệm ba trạng thái 74HC244 riêng biệt để kết nối với xe buýt. Bằng cách đó, đầu ra của người đăng ký cũng có sẵn trong nội bộ khi một số tín hiệu khác chiếm bus. (Tôi không biết nếu có một phần tương thích chức năng với sơ đồ chân hợp lý hơn. Bạn cũng có thể sử dụng 74HC574 với thiết bị /OEđược nối đất.)


Rằng sẽ rất tốt! Tôi không chắc chắn cách đăng ký của tôi sẽ tương tác với xe buýt, nhưng tôi nghi ngờ những người đăng ký hai chiều sẽ giúp đỡ ở đó.
captncraig

@CMP - trong tình huống như bạn mô tả - xây dựng CPU từ đầu - đầu ra ba trạng thái là bạn của bạn. Ví dụ, 74hc374 là thanh ghi 8 bit cung cấp đầu ra có thể nhận biết được trong cùng một chip. Bạn có thể kết nối các đầu ra của một vài trong số này với nhau và chỉ cần xác nhận OE của cái bạn muốn "trên xe buýt".
JustJeff

Điều đáng chú ý là trên thực tế, nhiều CPU có các thanh ghi chỉ có thể nhận đầu vào hoặc gửi đầu ra từ / đến các bus chung (trong nhiều trường hợp, đầu vào từ một bus; đầu ra trên một bus khác). Mặc dù trong một số trường hợp, thiết kế như vậy có thể là một nút cổ chai, tôi không nghĩ mục tiêu ở đây là cạnh tranh với i7. Lưu ý rằng nếu một người muốn đăng ký nhận đầu vào từ một xe buýt và được chọn có đầu ra cho hai xe buýt khác nhau, thì người ta có thể sử dụng 74HC273 và hai 74HC244, nhưng người ta có thể thực hiện công việc chỉ với hai 74HC574 để có cùng dữ liệu.
supercat

5

(1) Cổng AND vốn không phù hợp để sử dụng phổ biến như bộ đệm bus trong suốt bởi vì nếu chúng có trình điều khiển đầu ra hoạt động hoàn toàn, chúng sẽ tương tác và nếu "bộ thu mở" thì logic đảo ngược.

Bạn có thể sử dụng các cổng OR 2 đầu vào collector mở làm trình điều khiển một dòng cho một bus chung.

Nếu bạn cung cấp "dữ liệu" và "not_enable" cho cổng OR thì đầu ra sẽ cao nếu not_enable cao và sẽ theo dõi dữ liệu nếu not_enable thấp.

Khi đầu ra của một cổng thu mở cao, nó không tải bus theo bất kỳ cách nào. Khi nó ở mức thấp, nó tải bus với mức bật thấp. Vì vậy, nhiều cổng O của bộ thu mở có thể chia sẻ xe buýt và chỉ những cổng được kích hoạt (thường là một cổng) có thể lái xe buýt. Bạn cần một pullup duy nhất để kéo xe buýt lên cao và bất kỳ số lượng cổng nào để lái nó thấp.

(2) EDUC-8 là / là một máy vi tính dựa trên TTL 8 bit được trình bày dưới dạng một dự án nhiều tháng trên tạp chí Electronics Australia từ tháng 8 năm 1974 đến tháng 8 năm 1975. Ngay cả khi bạn không muốn sao chép nó, bạn có thể tìm hiểu nhiều bằng cách xem nó như thế nào đã được thực hiện. Có những người đam mê khác nhau đã xây dựng các bản sao trong những năm gần đây.

Tài liệu rất rộng về hành trình EDUC-8 của một người dùng ... Tương tự ... Bao gồm các chi tiết về PCB chuyển mực của anh ta tạo ra một số PCB latrssih và nhiều hơn nữa.

Wikipedia EDUC-8

Trang liên kết

Một số tài liệu

Hình ảnh PCB

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.