Bối cảnh và vấn đề nghiên cứu
Sự phát triển của kỹ thuật vi điện tử và công nghệ số vào những thập niên cuối thế kỷ XX đã thúc đẩy sự ra đời của các hệ thống xử lý dữ liệu nhỏ gọn, có khả năng tính toán chính xác và xử lý nhiều tác vụ phức tạp. Việc ứng dụng các bộ vi xử lý (Microprocessor) vào đời sống và công nghiệp đòi hỏi kỹ sư ngành kỹ thuật điện - điện tử phải nắm vững nguyên lý hoạt động phần cứng, cấu trúc tập lệnh và phương pháp ghép nối ngoại vi để xây dựng các hệ thống điều khiển, thu thập và lưu trữ thông tin phục vụ nhu cầu thực tiễn.
Đề tài "Bộ Lưu Trữ và Truy Xuất Dữ Liệu Có Giao Tiếp Với Máy Tính" được thực hiện bởi nhóm sinh viên Nguyễn Hữu Thiện và Trương Phước Lộc dưới sự hướng dẫn của thầy Trần Sum tại Khoa Điện, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa học 1994 – 1998, lớp 94KĐĐ3/7). Đồ án hoàn thành vào tháng 7/1998 sau 10 tuần thực hiện nghiêm túc.
Mục tiêu và các nhiệm vụ nghiên cứu chính của đề tài bao gồm:
- Nghiên cứu hệ thống cơ sở lý thuyết về vi xử lý 8-bit, cấu trúc bên trong của đơn vị xử lý trung tâm (CPU), tập lệnh và các chế độ định địa chỉ.
- Thiết kế hoàn chỉnh sơ đồ nguyên lý phần cứng cho hệ thống, bao gồm khối xử lý trung tâm, mạch dao động xung clock, mạch khởi tạo lại (Reset), bộ nguồn ổn áp, khối bộ nhớ bán dẫn (EPROM, SRAM và mạch pin bảo vệ dữ liệu), khối giải mã địa chỉ, khối hiển thị - bàn phím và mạch truyền thông nối tiếp/song song.
- Xây dựng giải thuật và chương trình phần mềm điều khiển việc nạp, lưu trữ, hiển thị và xuất nhập dữ liệu.
- Thi công mạch in hai mặt, hàn lắp linh kiện thực tế, đo kiểm và đánh giá khả năng vận hành của hệ thống phần cứng khi ghép nối với máy vi tính.
Đối tượng nghiên cứu là hệ thống vi xử lý 8-bit xây dựng trên nền tảng CPU Z80 cùng các vi mạch phụ trợ chuyên dụng như vi mạch ghép nối song song PPI 8255A, vi mạch truyền thông nối tiếp USART 8251A, bộ nhớ EPROM 2764 và SRAM 6264. Phạm vi nghiên cứu giới hạn trong việc thiết kế, chế tạo mạch thực nghiệm tại phòng thí nghiệm và giao tiếp dữ liệu theo chuẩn RS-232 với máy tính.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình kỹ thuật sử dụng
Cơ sở lý thuyết của đồ án dựa trên kiến trúc hệ thống vi máy tính (Microcomputer) và nguyên lý làm việc của bộ vi xử lý trung tâm. Hệ thống vi máy tính hoàn chỉnh được tạo thành từ CPU, hệ thống bus (bus địa chỉ, bus dữ liệu, bus điều khiển), bộ nhớ (ROM, RAM) và các cổng xuất/nhập (I/O ports).
Các thông số kỹ thuật then chốt để đánh giá năng lực của một vi xử lý bao gồm:
- Chiều dài từ dữ liệu (Data Word Length): Xác định độ rộng của dữ liệu xử lý trong một chu kỳ (từ 4-bit, 8-bit, 16-bit đến 32-bit/64-bit).
- Không gian địa chỉ (Memory Addressing Space): Phụ thuộc vào số lượng đường bus địa chỉ $N$, cho phép truy xuất tối đa $2^N$ ô nhớ (vi xử lý 8-bit có 16 đường địa chỉ quản lý được $2^{16} = 65.536$ ô nhớ tương đương 64 KByte).
- Tần số xung clock (Clock Frequency): Quyết định tốc độ thực thi chu kỳ đón lệnh và thực hiện lệnh (Fetch/Execute cycle).
Khung cấu trúc bên trong vi xử lý gồm các khối chức năng chính:
- Đơn vị số học và logic (ALU): Thực hiện các phép tính số học (Add, Subtract, Increment, Decrement) và phép tính logic (And, Or, Exclusive OR, Shift, Rotate, Complement).
- Hệ thống thanh ghi nội (Internal Registers): Bao gồm thanh ghi tích lũy (Accumulator - A), con trỏ chương trình (Program Counter - PC 16-bit), con trỏ ngăn xếp (Stack Pointer - SP 16-bit), thanh ghi trạng thái/cờ (Flag Register - F) lưu trữ các bit cờ Carry/Borrow (C), Zero (Z), Sign/Negative (N), Intermediate Carry (H/AC), Parity/Overflow (P/V), Interrupt Flag (IF), cùng các thanh ghi đa dụng và thanh ghi tạm thời (TEMP1, TEMP2).
- Khối điều khiển logic và giải mã lệnh (Instruction Decoder & Control Logic): Tiếp nhận mã lệnh (Op-code) từ thanh ghi lệnh (Instruction Register) để sinh chuỗi tín hiệu điều khiển các bus và mạch logic ngoại vi.
Tập lệnh của vi xử lý được phân chia thành 9 nhóm chức năng cơ bản: truyền dữ liệu; trao đổi/truyền khối/tìm kiếm; số học và logic; xoay và dịch; điều khiển CPU; thao tác bit; rẽ nhánh (nhảy); gọi/trở về/khởi động chương trình con; và xuất nhập dữ liệu qua cổng I/O. Các kiểu định địa chỉ cơ bản gồm: ngầm định (Implied), tức thời (Immediate), trực tiếp (Direct), gián tiếp qua thanh ghi (Register Indirect), chỉ số (Indexed) và tương đối (Relative).
Phương pháp nghiên cứu và nguồn dữ liệu
Tác giả áp dụng phương pháp thiết kế kỹ thuật kết hợp thực nghiệm chế tạo phần cứng:
- Phương pháp phân tích - tổng hợp: So sánh các dòng CPU 8-bit thông dụng thời điểm đó (Intel 8080, 8085; Motorola 6802, 6809; Zilog Z80) để lựa chọn giải pháp tối ưu về tính sẵn có, giá thành và độ phức tạp mạch ngoài.
- Phương pháp thiết kế CAD: Ứng dụng phần mềm Eagle để vẽ sơ đồ mạch in hai mặt, kết hợp thuật toán chạy mạch tự động (Auto-route) và chỉnh sửa thủ công (Manual route) các đường mạch phức tạp.
- Phương pháp thực nghiệm và đo đạc: Chế tạo bo mạch bằng phương pháp thủ công, hàn lỗ xuyên mạch, sử dụng chân đế (socket) cho toàn bộ IC, dùng đồng hồ vạn năng VOM đo thông mạch, kiểm tra mức logic và đo điện áp phân cực.
Thiết kế và triển khai hệ thống kỹ thuật
Kiến trúc phần cứng hệ thống
Phần cứng hệ thống được phân chia thành các khối chức năng liên kết chặt chẽ qua hệ thống bus chung:
| Khối chức năng |
Vi mạch / Linh kiện chính |
Thông số kỹ thuật & Vai trò thiết kế |
| Xử lý trung tâm (CPU) |
Zilog Z80 (DIP 40 chân) |
Bus dữ liệu 8-bit, bus địa chỉ 16-bit, 158 loại lệnh, 22 thanh ghi nội, nguồn nuôi +5V duy nhất. |
| Mạch tạo xung Clock CPU |
Thạch anh 32MHz, IC chia tần 74163, cổng đảo 7404 |
Chia tần số 32MHz cho 16 qua chân $Q_D$ của 74163 để tạo tần số clock 2MHz ổn định cấp cho chân CLK của CPU Z80. |
| Mạch Clock truyền thông |
Thạch anh 455kHz, IC 74163, cổng đảo 7404 |
Chia tần số 455kHz cho 16 qua 74163 tạo tần số xấp xỉ 28kHz cấp cho chân RxC và TxC của 8251A. |
| Mạch Reset hệ thống |
Tụ điện $C = 220\mu\text{F}$, điện trở $R = 4,7\text{k}\Omega$, cổng Schmitt-trigger 7404 |
Tạo hằng số thời gian nạp $t \approx 0,8\text{s}$ ($V_c(0) = 0\text{V}$, $V_{\text{cc}} = 5\text{V}$, điện áp ngưỡng 0,8V), cung cấp xung mức thấp/cao dứt khoát đồng thời cho Z80, 8251A và 8255. |
| Khối nguồn nuôi |
IC ổn áp LM7805, tụ lọc $2200\mu\text{F}-25\text{V}$, tụ chống nhiễu $0,1\mu\text{F}-16\text{V}$ |
Chuyển đổi điện áp vào từ 8–35V thành điện áp ra ổn định chuẩn 5V DC, dòng danh định 1A, chống nhiễu tần số cao. |
| Bộ nhớ không bay hơi (ROM) |
EPROM 2764 (DIP 28 chân) |
Dung lượng 8 KByte ($65.536\text{ bit}$), thời gian truy xuất 250ns, lưu trữ chương trình điều khiển hệ thống khởi động. |
| Bộ nhớ truy xuất ngẫu nhiên (RAM) |
SRAM 6264 (DIP 28 chân) |
Dung lượng 8 KByte ($8192 \times 8\text{ bit}$), thời gian truy xuất 150ns, lưu trữ dữ liệu tính toán và biến tạm thời. |
| Mạch bảo vệ dữ liệu (Backup) |
Nguồn pin 3V, diode 1N4007, công tắc cơ khí SAVE |
Duy trì điện áp 3V nuôi chân nguồn SRAM 6264 khi mất nguồn chính 5V, bảo vệ dữ liệu không bị xóa ngẫu nhiên. |
| Giải mã địa chỉ |
IC giải mã 3 sang 8 đường 74LS138 |
Phân định không gian nhớ cho 2764, 6264 và tạo tín hiệu chọn chip ($\overline{\text{CS}}$, $\overline{\text{CE}}$) cho các cổng ngoại vi từ các đường địa chỉ $A_{13} - A_{15}$. |
| Giao tiếp ngoại vi song song |
PPI 8255A (DIP 40 chân) |
24 đường xuất nhập chia làm 3 cảng A, B, C; hoạt động ở 3 chế độ Mode 0, Mode 1, Mode 2 và chế độ BSR để quét phím và điều khiển hiển thị. |
| Giao tiếp ngoại vi nối tiếp |
USART 8251A, IC đệm mức 1488 (MC1488) |
Chuyển đổi dữ liệu song song/nối tiếp, chuyển đổi mức điện áp chuẩn TTL sang chuẩn truyền thông nối tiếp RS-232 kết nối với máy vi tính. |
| Khối hiển thị & Bàn phím |
LED 7 đoạn Anode chung, cụm phím nhấn cơ khí |
Nhập lệnh, số liệu và hiển thị trực quan địa chỉ, kết quả kiểm tra ô nhớ. |
Quy trình thi công và kiểm thử
Quy trình gia công phần cứng được tiến hành tuần tự qua 3 giai đoạn:
- Gia công mạch in và hàn lỗ xuyên mạch: Hàn các chân xuyên mạch nối hai mặt lớp đồng của phíp mạch in, dùng đồng hồ VOM đo kiểm tra độ thông suốt và cách điện giữa các đường mạch song song để chống ngắn mạch.
- Hàn chân đế (Socket) và lắp ráp linh kiện theo phân đoạn: Nhằm tránh sốc nhiệt làm hư hỏng các vi mạch LSI/MSI, toàn bộ IC đều được cắm qua socket. Thứ tự lắp ráp và thử nghiệm được phân bổ theo từng khối:
- Lắp ráp khối tạo xung clock cho CPU và 8251A;
- Lắp ráp khối tạo tín hiệu Reset;
- Lắp ráp mạch giải mã địa chỉ 74LS138 và đo kiểm chân $\overline{\text{CS}}$, $\overline{\text{CE}}$;
- Lắp ráp CPU Z80, kiểm tra tín hiệu $\overline{\text{RD}}$, $\overline{\text{WR}}$, $\overline{\text{MREQ}}$;
- Lắp ráp bộ nhớ EPROM 2764 và SRAM 6264;
- Lắp ráp vi mạch truyền thông 8251A và khối đệm RS-232;
- Đo kiểm tra từng đoạn LED 7 đoạn bằng VOM trước khi cắm vào bo mạch, sau đó kết nối cổng giao tiếp 8255A với cụm bàn phím và bộ hiển thị.
- Kiểm tra và đánh giá chức năng hệ thống: Cấp nguồn 5V, nạp chương trình điều khiển vào EPROM 2764, kiểm tra độ nhạy và tính chính xác của các phím nhấn, theo dõi giá trị hiển thị trên LED 7 đoạn, tiến hành nạp thử dữ liệu vào SRAM và xuất qua cổng truyền thông nối tiếp 8251A.
Nội dung chính theo từng phần của đồ án
Phần A: Các khái niệm của vi xử lý
Tác giả trình bày lịch sử phát triển vi xử lý từ công nghệ LSI đến VLSI, so sánh các thế hệ CPU từ 4-bit, 8-bit, 16-bit đến 32-bit. Nội dung tập trung phân tích sâu sơ đồ cấu trúc nội bộ của vi xử lý: hoạt động của ALU thông qua hai thanh ghi đệm tạm thời TEMP1, TEMP2, vai trò trung tâm của thanh ghi tích lũy Accumulator, cơ chế đếm lệnh tự động tăng của thanh ghi PC (16-bit), và hoạt động vào sau ra trước (LIFO) của con trỏ ngăn xếp SP. Phần này cũng hệ thống hóa cấu trúc một câu lệnh (gồm mã lệnh Op-code và toán hạng/địa chỉ Operand/Address) cùng chu kỳ đón và thực hiện lệnh (Fetch/Execute cycle).
Phần B: Thiết kế phần cứng
Chương này thuyết minh chi tiết quá trình tính toán và lựa chọn linh kiện:
- Phân tích ưu thế của Z80 so với 8080/8085 (Z80 không đòi hỏi mạch chốt ngoài phức tạp, dùng một nguồn +5V duy nhất, tích hợp sẵn mạch làm tươi bộ nhớ động) và so với họ 6800.
- Thiết kế chi tiết mạch dao động chia tần bằng IC số 74163 từ nguồn thạch anh 32MHz (ra 2MHz cho Z80) và thạch anh 455kHz (ra 28kHz cho 8251A).
- Tính toán mạch trễ Reset RC cho thời gian trễ $t = 0,8\text{s}$ kết hợp cổng Schmitt-trigger để tạo sườn xung dứt khoát.
- Thiết kế mạch ghép nối bộ nhớ: 13 đường địa chỉ thấp ($A_0 - A_{12}$) nối song song trực tiếp vào cả EPROM 2764 và SRAM 6264 để định vị 8 KByte ô nhớ; 3 đường địa chỉ cao ($A_{13} - A_{15}$) kết hợp với tín hiệu $\overline{\text{MREQ}}$ đưa vào IC 74LS138 để tạo tín hiệu chọn chip $\overline{\text{CE}}/\overline{\text{CS}}$. Tín hiệu $\overline{\text{RD}}$ của CPU nối với chân cho phép xuất $\overline{\text{OE}}$ của ROM/RAM, và tín hiệu $\overline{\text{WR}}$ nối với chân ghi $\overline{\text{WE}}$ của RAM.
- Thiết kế mạch bảo vệ dữ liệu SRAM bằng nguồn pin 3V thông qua diode chặn khi ngắt nguồn 5V.
Phần C: Thiết kế phần mềm
Phần này trình bày lưu đồ thuật toán và cấu trúc mã nguồn điều khiển hệ thống, bao gồm quy trình khởi tạo từ điều khiển cho các vi mạch giao tiếp 8255A và 8251A, chương trình quét ma trận phím nhấn, chương trình giải mã hiển thị LED 7 đoạn, và các chương trình con phục vụ việc ghi/đọc dữ liệu vào các ô nhớ của SRAM 6264 cũng như truyền chuỗi dữ liệu nối tiếp qua cổng 8251A.
Phần D: Thi công và đánh giá
Trình bày các bước thiết kế bo mạch bằng phần mềm Eagle, bảng danh mục linh kiện thực tế, kỹ thuật hàn mạch hai mặt, quy trình lắp ráp thử nghiệm từng khối theo trình tự logic, và phương pháp kiểm thử chức năng vận hành tổng thể của hệ thống phần cứng.
Phần Phụ lục: Khảo sát chi tiết linh kiện chuyên dụng
Cung cấp tài liệu tra cứu kỹ thuật toàn diện về:
- CPU Z80: 40 chân DIP, 3 nhóm thanh ghi nội (nhóm thanh ghi chính gồm A, F, B, C, D, E, H, L và bộ thanh ghi phụ đảo; nhóm quản lý hệ thống gồm I, R, SP, PC, IX, IY; nhóm flip-flop lưu trạng thái ngắt). Mô tả chi tiết chức năng 40 chân tín hiệu: bus địa chỉ 16-bit $A_0 - A_{15}$, bus dữ liệu 8-bit $D_0 - D_7$, các tín hiệu điều khiển $\overline{\text{M1}}$, $\overline{\text{MREQ}}$, $\overline{\text{IORQ}}$, $\overline{\text{RD}}$, $\overline{\text{WR}}$, $\overline{\text{RFSH}}$, $\overline{\text{HALT}}$, $\overline{\text{WAIT}}$, $\overline{\text{INT}}$, $\overline{\text{NMI}}$, $\overline{\text{RESET}}$, $\overline{\text{BUSREQ}}$, $\overline{\text{BUSACK}}$, cùng 3 chế độ ngắt phần mềm (IM0, IM1 xử lý ngắt tại $0038\text{H}$, IM2 sử dụng bảng vectơ ngắt).
- Vi mạch PPI 8255A: Sơ đồ chân, thanh ghi điều khiển, bảng chân lý chọn cổng ($A_0, A_1, \overline{\text{CS}}, \overline{\text{RD}}, \overline{\text{WR}}$), chế độ BSR (Bit Set/Reset) cho cảng C, và các chế độ làm việc Mode 0 (vào/ra cơ bản), Mode 1 (vào/ra có tín hiệu bắt tay $\overline{\text{STB}}$, IBF, INTR, $\overline{\text{OBF}}$, $\overline{\text{ACK}}$), Mode 2 (truyền thông hai chiều trên cảng A).
- Bộ nhớ EPROM 2764 và SRAM 6264: Sơ đồ chân 28 chân, cấu tạo ô nhớ, bảng chân lý điều khiển ở các chế độ đọc dữ liệu, ghi dữ liệu, chế độ chờ (Standby) tiết kiệm điện năng và chế độ nạp chương trình ($\overline{\text{PGM}}, V_{\text{pp}} = 21\text{V}/12,5\text{V}$).
Kết quả và đóng góp
Kết quả chính của đề tài
Hệ thống phần cứng và phần mềm thực nghiệm đã đạt được các kết quả cụ thể:
- Chế tạo thành công bo mạch vi xử lý 8-bit hoàn chỉnh trên cơ sở CPU Z80, hoạt động ổn định với tần số xung clock 2MHz.
- Thiết kế và tích hợp thành công hệ thống bộ nhớ 16 KByte gồm 8 KByte ROM (EPROM 2764) và 8 KByte RAM (SRAM 6264), có mạch nguồn pin dự phòng 3V bảo vệ toàn vẹn dữ liệu trong RAM khi mất nguồn chính.
- Thiết lập thành công mạch ghép nối ngoại vi đa năng thông qua PPI 8255A để điều khiển cụm bàn phím ma trận và bộ hiển thị LED 7 đoạn Anode chung.
- Triển khai mạch truyền thông nối tiếp trên cơ sở vi mạch USART 8251A và vi mạch đệm mức MC1488, tạo kênh giao tiếp dữ liệu theo chuẩn RS-232 giữa hệ vi xử lý Z80 và máy vi tính.
Đóng góp về mặt kỹ thuật và đào tạo
- Đồ án đã hiện thực hóa toàn bộ chuỗi kiến thức lý thuyết về kiến trúc máy tính và vi xử lý thành một hệ thống phần cứng vật lý hoạt động trực quan.
- Xây dựng tài liệu thuyết minh và phụ lục tra cứu chi tiết về sơ đồ chân, tập lệnh, giản đồ thời gian và nguyên lý điều khiển của các dòng linh kiện kinh điển (Z80, 8255A, 8251A, 2764, 6264, 74LS138), phục vụ hiệu quả cho hoạt động học tập và thí nghiệm của sinh viên chuyên ngành Điện - Điện tử.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được ghi nhận trong văn bản
- Do giới hạn về thời gian thực hiện (10 tuần) và điều kiện linh kiện thực tế, phần giao tiếp với máy tính thông qua vi mạch 8251A mới chỉ được thi công, lắp ráp và thử nghiệm ở mức độ kiểm tra phần cứng cơ bản, chưa xây dựng được giao diện phần mềm toàn diện trên máy tính.
- Kích thước bo mạch phần cứng còn tương đối cồng kềnh, việc đi dây mạch in hai mặt thủ công còn phụ thuộc vào nhiều đường nối dây tay và lỗ xuyên mạch.
Hướng phát triển đề xuất
Tác giả kiến nghị các nội dung cần tiếp tục hoàn thiện:
- Thiết kế lại mạch in theo hướng tối ưu hóa diện tích, bố trí linh kiện nhỏ gọn hơn để thuận tiện cho việc di chuyển và lắp đặt.
- Hoàn thiện và nâng cao tính hoàn chỉnh của bộ lưu trữ và truy xuất dữ liệu để ứng dụng vào các mô hình điều khiển tự động thực tế trong công nghiệp và giảng dạy.
- Xây dựng chương trình phần mềm chuyên dụng chạy trên máy vi tính để tiếp nhận, hiển thị, quản lý và xử lý dữ liệu truyền về từ bộ lưu trữ trung tâm.
Giá trị tham khảo
Đồ án là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho:
- Sinh viên ngành Kỹ thuật Điện, Điện tử, Kỹ thuật Máy tính và Tự động hóa: Tham khảo khi làm đồ án môn học Vi xử lý, Đồ án Kỹ thuật số, hoặc thiết kế các hệ thống nhúng, hệ thống ghép nối ngoại vi dựa trên kiến trúc bus kinh điển.
- Người nghiên cứu phần cứng: Tham khảo phương pháp phân tích và thiết kế các mạch chức năng tiêu chuẩn như mạch dao động chia tần (74163), mạch trễ Reset RC có cổng Schmitt-trigger, mạch bảo vệ dữ liệu SRAM bằng pin nuôi, và kỹ thuật giải mã phân vùng không gian nhớ (74LS138).
Câu hỏi thường gặp
1. Tại sao nhóm tác giả lại lựa chọn vi xử lý Zilog Z80 thay vì các dòng vi xử lý 8-bit khác như Intel 8080/8085 hay Motorola 6800?
Theo phân tích của nhóm nghiên cứu, vi xử lý Intel 8080 đòi hỏi nhiều cấp điện áp nguồn và cần thêm mạch đệm hai chiều phức tạp; Intel 8085 yêu cầu mạch chốt địa chỉ/dữ liệu ngoài; các dòng Motorola họ 68 tuy tích hợp mạch tạo xung nội và một lượng nhỏ RAM nhưng linh kiện khó tìm và giá thành cao hơn vào thời điểm đó. Vi xử lý Zilog Z80 được chọn vì sử dụng nguồn +5V duy nhất, có tập lệnh phong phú (158 lệnh), 22 thanh ghi nội, dễ ghép nối trực tiếp với RAM/ROM mà không cần mạch phụ trợ phức tạp, linh kiện phổ biến và giá thành hợp lý.
2. Mạch tạo xung clock cho CPU Z80 và IC truyền thông 8251A được thiết kế như thế nào?
Do thạch anh 2MHz khó tìm trên thị trường, mạch tạo xung clock cho CPU Z80 sử dụng thạch anh 32MHz kết hợp với IC đếm/chia tần 74163 để chia tần số cho 16, lấy tín hiệu ra trên chân $Q_D$ đạt tần số chuẩn 2MHz cấp cho chân CLK của Z80. Đối với vi mạch truyền thông nối tiếp 8251A, mạch sử dụng thạch anh 455kHz đưa qua một IC 74163 khác để chia 16, lấy ra tần số xấp xỉ 28kHz cấp cho các chân đồng bộ xung truyền nhận RxC và TxC.
3. Mạch tạo tín hiệu Reset của hệ thống được tính toán với các thông số nào?
Mạch Reset kết hợp tụ hóa $C = 220\mu\text{F}$, điện trở nạp $R = 4,7\text{k}\Omega$ và cổng logic đảo Schmitt-trigger 7404. Dựa trên phương trình nạp tụ $V_c(t) = V_c(\infty)[1 - e^{-t/RC}]$ với $V_c(\infty) = 5\text{V}$, $V_c(0) = 0\text{V}$ và điện áp ngưỡng logic 0 tối đa là $0,8\text{V}$, thời gian trễ nạp được xác định là $t \approx 0,8\text{s}$, đảm bảo toàn bộ hệ thống (CPU Z80, 8251A, 8255A) được tái lập trạng thái ban đầu một cách dứt khoát khi bật nguồn hoặc nhấn nút Reset.
4. Giải pháp kỹ thuật nào được sử dụng để chống mất dữ liệu trong bộ nhớ SRAM 6264?
Nhóm tác giả thiết kế một mạch nguồn dự phòng (Backup) gồm nguồn pin 3V, một diode 1N4007 và công tắc chuyển mạch vị trí SAVE. Khi hệ thống mất nguồn điện chính 5V, diode nối với cực dương của pin 3V sẽ phân cực thuận, tự động chuyển sang cấp nguồn 3V cho chân $V_{\text{cc}}$ của SRAM 6264, giúp các ô nhớ flip-flop tĩnh duy trì trạng thái dữ liệu đã lưu trữ.
5. Bộ nhớ hệ thống được phân vùng và giải mã địa chỉ như thế nào?
Hệ thống sử dụng 8 KByte EPROM (2764) và 8 KByte SRAM (6264). 13 đường địa chỉ thấp từ $A_0$ đến $A_{12}$ của CPU Z80 được nối trực tiếp với 13 chân địa chỉ của cả hai IC nhớ để định vị $2^{13} = 8192$ byte. Ba đường địa chỉ cao $A_{13}, A_{14}, A_{15}$ kết hợp với tín hiệu yêu cầu bộ nhớ $\overline{\text{MREQ}}$ của Z80 được đưa vào IC giải mã 74LS138 để tạo ra các tín hiệu chọn chip $\overline{\text{CS}}/\overline{\text{CE}}$ riêng biệt cho EPROM, SRAM và các cổng giao tiếp ngoại vi.
Kết luận
Đồ án tốt nghiệp "Bộ Lưu Trữ và Truy Xuất Dữ Liệu Có Giao Tiếp Với Máy Tính" của sinh viên Nguyễn Hữu Thiện và Trương Phước Lộc đã hoàn thành tốt mục tiêu thiết kế và chế tạo phần cứng một hệ thống vi xử lý 8-bit trên nền tảng CPU Z80. Đề tài đã giải quyết thành công các bài toán kỹ thuật từ tạo xung clock, mạch trễ reset, ổn áp nguồn, giải mã địa chỉ bộ nhớ 16 KByte (EPROM 2764 / SRAM 6264 có mạch pin backup), đến ghép nối ngoại vi song song qua 8255A và nối tiếp qua 8251A chuẩn RS-232. Công trình là một mô hình thực nghiệm tiêu biểu, đóng góp giá trị học thuật và tư liệu tham khảo rõ ràng cho sinh viên chuyên ngành Kỹ thuật Điện - Điện tử.