Tổng quan nghiên cứu

Trong công tác đào tạo kỹ thuật tại các trường đại học chuyên ngành Điện - Điện tử, môn học thực tập vi xử lý đóng vai trò nền tảng giúp người học nắm vững kiến trúc máy tính và nguyên lý điều khiển phần cứng. Tuy nhiên, phương pháp thực hành truyền thống trên các kit thí nghiệm vi xử lý Intel 8085 bộc lộ nhiều rào cản lớn về mặt thời gian và độ chính xác. Sinh viên thường phải dịch thủ công từng câu lệnh từ ngôn ngữ Assembly sang mã máy thập lục phân (Hex), sau đó nhập từng byte dữ liệu vào bộ nhớ RAM tĩnh thông qua bàn phím ma trận của kit thí nghiệm. Quy trình này đòi hỏi người học phải thao tác ít nhất 3 lần nhấn phím cho mỗi byte dữ liệu, đồng thời phải liên tục đối chiếu địa chỉ và dữ liệu trên hệ thống 6 LED 7 đoạn.

Nghiên cứu "Giao tiếp máy tính với thiết bị thực tập vi xử lý 8085" được thực hiện tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh nhằm giải quyết triệt để sự bất cập trên. Mục tiêu trọng tâm của đề tài là thiết kế giải pháp phần cứng ghép nối và xây dựng phần mềm truyền dữ liệu tự động từ máy tính cá nhân (PC) sang kit vi xử lý thông qua cổng song song LPT1. Nghiên cứu tập trung vào không gian địa chỉ bộ nhớ 64 Kbyte của vi xử lý 8085, tối ưu hóa quá trình biên dịch tập 74 lệnh hợp ngữ và nạp trực tiếp mã máy vào RAM trong thời gian chỉ từ 2 đến 5 giây. Kết quả triển khai giúp cắt giảm hơn 95% thời gian nhập liệu thủ công, loại bỏ hoàn toàn hiện tượng mất dữ liệu khi mất nguồn điện và nâng cao hiệu suất thực hành của sinh viên trong các phiên thí nghiệm kéo dài 45 đến 90 phút.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng trên nền tảng lý thuyết kiến trúc máy tính Von Neumann và nguyên lý giao tiếp ghép nối ngoại vi số. Cấu trúc phần cứng trung tâm xoay quanh vi xử lý 8-bit Intel 8085 với không gian định tuyến 64 Kbyte bộ nhớ, hoạt động ở dải tần số xung nhịp từ 3 MHz đến 6 MHz (có thể mở rộng lên 12 MHz ở các phiên bản nâng cao). Kiến trúc tập lệnh bao gồm 74 chỉ thị cơ bản được phân bổ thành 5 nhóm chức năng: truyền dữ liệu, tính toán số học, xử lý logic, rẽ nhánh và điều khiển hệ thống.

Để thực hiện thu nhận tín hiệu từ máy tính, nghiên cứu ứng dụng lý thuyết giao tiếp song song bất đồng bộ qua vi mạch giao tiếp ngoại vi khả trình 8255 (Programmable Peripheral Interface - PPI) cấu hình ở Chế độ 0 (Mode 0). Vi mạch 8255 sở hữu 40 chân dạng DIP với 3 cổng vào/ra 8-bit độc lập gồm Port A (địa chỉ 00H), Port B (địa chỉ 01H), Port C (địa chỉ 02H) và một thanh ghi điều khiển (địa chỉ 03H). Bên cạnh đó, hệ thống tích hợp vi mạch điều khiển bàn phím và hiển thị 8279 làm việc với xung đồng hồ tối đa 3,125 MHz, kết hợp IC giải mã địa chỉ 74LS138 để phân bổ ranh giới giữa các khối bộ nhớ EPROM (từ 0000H đến 3FFFH) và RAM tĩnh (từ 8000H đến BFFFH). Về mặt phần mềm, mô hình lập trình hướng đối tượng (OOP) trên nền tảng ngôn ngữ C được áp dụng để mô đun hóa các thành phần giao diện, quản lý ngắt và điều phối tiến trình truyền dữ liệu trong không gian bộ nhớ 640 Kbyte của hệ điều hành DOS.

Phương pháp nghiên cứu

Đề tài sử dụng phương pháp kết hợp giữa nghiên cứu lý thuyết thiết kế mạch và thực nghiệm kiểm chứng trên hệ thống phần cứng thực tế. Nguồn dữ liệu thực nghiệm được thu thập từ quá trình chạy thử 50 chương trình hợp ngữ vi xử lý tiêu chuẩn với kích thước dao động từ 16 byte đến 2.048 byte. Phương pháp chọn mẫu phân tầng theo mức độ phức tạp của thuật toán (bao gồm các cấu trúc rẽ nhánh, vòng lặp lồng nhau, ngắt cứng RST 5.5 - RST 7.5 và các chương trình con đệ quy) được áp dụng nhằm đánh giá toàn diện khả năng thích ứng của hệ thống.

Lý do lựa chọn phương pháp phân tích định lượng dựa trên việc đo lường chính xác các chỉ số: thời gian trích xuất file danh sách PRN, độ trễ tín hiệu bắt tay (handshaking) giữa các chân STROBE, BUSY, ACK của cổng máy in DB-25 và tỷ lệ truyền đúng dữ liệu (Bit Error Rate). Quá trình nghiên cứu và thử nghiệm được triển khai liên tục trong khung thời gian 6 tháng (từ tháng 10 năm 1999 đến tháng 3 năm 2000) tại phòng thí nghiệm Kỹ thuật Điện - Điện tử. Các công cụ hỗ trợ gồm môi trường lập trình Borland C++ 3.1, trình biên dịch Macro Assembler (MASM/TAS) và máy hiện sóng oscilloscope để kiểm tra dạng sóng tín hiệu TTL 0 - 5V.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình đo đạc và kiểm thử hệ thống truyền dữ liệu song song giữa PC và kit vi xử lý 8085 đã mang lại 4 kết quả kỹ thuật nổi bật:

Thứ nhất, tốc độ nạp dữ liệu vào bộ nhớ RAM của kit thí nghiệm tăng vượt bậc. Đối với một khối mã máy kích thước trung bình 256 byte, thời gian nạp tự động qua cổng LPT1 chỉ mất 1,8 giây, trong khi phương pháp bấm phím Hex thủ công tiêu tốn trung bình 12,5 phút, tương đương mức cải thiện tốc độ lên tới 99,7%.

Thứ hai, tỷ lệ lỗi bit và sai lệch ô nhớ đạt mức tuyệt đối 0% trên tổng số 50 mẫu kiểm thử. Hệ thống phần mềm tự động đọc ngược trạng thái các đường dữ liệu từ Port B của IC 8255 trả về thanh ghi Status Register (địa chỉ 379H) của máy tính để xác nhận từng byte trước khi ghi byte tiếp theo.

Thứ ba, chương trình biên dịch và phân tích tệp PRN đã bóc tách chính xác 100% cấu trúc mã Opcode và toán tử Operand 16-bit, tự động hoán đổi đúng thứ tự byte thấp trước - byte cao sau (Little Endian) mà không làm phát sinh bất kỳ lỗi tràn bộ đệm nào.

Thứ tư, chương trình Download viết bằng ngôn ngữ C chỉ chiếm dụng khoảng 85 Kbyte bộ nhớ trong tổng số 400 Kbyte khả dụng dưới môi trường DOS, đảm bảo giao diện đồ họa vận hành mượt mà với chuột và bàn phím mà không gây xung đột tài nguyên phần cứng.

Thảo luận kết quả

Hiệu năng vượt trội của hệ thống xuất phát từ cơ chế điều khiển bắt tay đồng bộ hóa giữa 3 thanh ghi cổng LPT1: Thanh ghi dữ liệu (Data Register - 378H), Thanh ghi trạng thái (Status Register - 379H) và Thanh ghi điều khiển (Control Register - 37AH). Khi máy tính phát một xung ghi qua đường STROBE (chân 1), IC 8255 trên kit nhận dữ liệu tại Port A và phản hồi tín hiệu BUSY (chân 11) về máy tính để khóa luồng truyền cho đến khi chu kỳ ghi vào RAM hoàn tất.

Dữ liệu so sánh giữa phương pháp truyền thống và giải pháp mới có thể được tổng hợp trực quan qua bảng thông số kỹ thuật và biểu đồ cột:

Tiêu chí đánh giá Phương pháp nhập tay qua 8279 Giải pháp nạp tự động qua LPT1 Mức độ cải thiện
Thời gian nạp tệp 512 byte 25 - 30 phút 3,2 giây Giảm 99,8% thời gian
Tần suất lỗi nhập liệu 8% - 15% tổng số byte 0% (nhờ kiểm tra phản hồi) Loại bỏ hoàn toàn lỗi
Khả năng khôi phục khi mất điện Phải nhập lại 100% từ đầu Nạp lại tức thì trong 3 giây Tiết kiệm 100% công sức
Thao tác chỉnh sửa mã lệnh Phải tính lại toàn bộ địa chỉ nhảy Tự động hóa qua file Assembly Tối ưu hóa tuyệt đối

So với các nghiên cứu cùng thời kỳ sử dụng khe cắm mở rộng Slot-Card ISA hoặc chuẩn giao tiếp nối tiếp RS-232, giải pháp cổng song song LPT1 mang lại ưu thế vượt trội về mặt chi phí do không cần lắp đặt thêm card mở rộng phần cứng đắt tiền, đồng thời tương thích mức điện áp TTL 5V chuẩn mà không cần IC chuyển đổi mức logic như MC1488 hay MC1489.

Đề xuất và khuyến nghị

Nhằm hoàn thiện và nâng tầm ứng dụng của hệ thống giao tiếp vi xử lý, 4 giải pháp trọng tâm được đề xuất thực hiện:

Thứ nhất, nâng cấp giao thức truyền thông từ cổng song song LPT1 sang chuẩn nối tiếp UART/USB với tốc độ baud chuẩn 115.200 bps. Mục tiêu nâng khoảng cách kết nối từ dưới 3 mét lên 15 mét, do Bộ môn Điện tử triển khai thực hiện trong lộ trình 6 tháng.

Thứ hai, mở rộng thư viện phần mềm Download để hỗ trợ biên dịch và nạp dữ liệu đa nền tảng cho các dòng vi điều khiển 8-bit phổ biến khác như họ 8051 (AT89C51, AT89C52) và PIC16F877A. Chỉ tiêu hoàn thành tích hợp 3 họ vi điều khiển mới trong thời gian 9 tháng dưới sự phụ trách của nhóm nghiên cứu sinh.

Thứ ba, chuyển đổi toàn bộ giao diện phần mềm từ môi trường DOS 16-bit sang ứng dụng đồ họa GUI hoạt động trên nền tảng hệ điều hành Windows 32-bit và 64-bit. Target metric là đạt khả năng tương thích 100% trên các hệ điều hành hiện đại, triển khai trong vòng 12 tháng bởi phòng thực hành Kỹ thuật máy tính.

Thứ tư, thiết kế bổ sung mô-đun phần cứng nạp trực tiếp cho các dòng bộ nhớ ROM/EPROM (như 2764, 27128, 27256) và tính năng giám sát vùng nhớ RAM động với độ trễ phản hồi dưới 1 mili-giây. Giải pháp này do các kỹ sư phòng thí nghiệm đảm trách trong thời hạn 3 tháng.

Đối tượng nên tham khảo luận văn

Tài liệu luận văn mang lại giá trị học thuật và ứng dụng thực tiễn cao cho 4 nhóm đối tượng:

Nhóm thứ nhất là Giảng viên giảng dạy các học phần Vi xử lý, Kiến trúc máy tính và Kỹ thuật ghép nối ngoại vi. Tài liệu cung cấp cơ sở phương pháp luận vững chắc để cải tiến giáo trình thực hành, xây dựng các bài thí nghiệm trực quan và chuẩn hóa quy trình chấm thi thực hành.

Nhóm thứ hai là Sinh viên các ngành Kỹ thuật Điện tử, Tự động hóa và Công nghệ thông tin. Sinh viên có thể sử dụng luận văn như một cẩm nang hướng dẫn chi tiết về cấu trúc phần cứng của 8085, kỹ thuật lập trình hợp ngữ, cách điều khiển IC ngoại vi 8255 và phương pháp xử lý file nhị phân.

Nhóm thứ ba là Kỹ sư phát triển hệ thống nhúng và thiết bị đo lường điều khiển. Luận văn cung cấp case study thực tế về nguyên lý bắt tay tín hiệu số, thiết kế bus địa chỉ/dữ liệu và phương pháp giao tiếp máy tính an toàn ở mức thanh ghi phần cứng.

Nhóm thứ tư là Các đơn vị sản xuất trang thiết bị giáo dục kỹ thuật. Nghiên cứu mang đến giải pháp tham khảo tối ưu về mặt chi phí để thương mại hóa các bộ kit thí nghiệm đa năng phục vụ trường học và viện nghiên cứu.

Câu hỏi thường gặp

Vi xử lý Intel 8085 giao tiếp với máy tính thông qua những đường tín hiệu vật lý nào? Hệ thống sử dụng cổng LPT1 25 chân kết nối với IC 8255 trên kit. Quá trình truyền nhận gồm 8 đường dữ liệu D0-D7 xuất tín hiệu song song, các đường điều khiển như STROBE, INIT truyền lệnh phát, cùng các đường trạng thái như BUSY, ACK và PE hồi tiếp tín hiệu xác nhận về máy tính.

Tại sao chương trình Download lại sử dụng tệp PRN thay vì tệp nhị phân BIN hay HEX? Tệp PRN sinh ra từ trình dịch Assembler chứa đầy đủ cả địa chỉ bộ nhớ, mã Opcode thực thi và dòng lệnh gợi nhớ nguyên bản. Điều này giúp phần mềm máy tính dễ dàng bóc tách dữ liệu chính xác, kiểm tra địa chỉ bắt đầu (ORG) và hiển thị trực quan cho người sử dụng theo dõi.

Cổng máy in LPT1 có ưu điểm gì vượt trội so với cổng nối tiếp RS-232 trong đề tài này? Cổng LPT1 truyền đồng thời 8 bit dữ liệu với mức điện áp TTL 0 - 5V tương thích hoàn toàn với IC 8255 mà không cần mạch chuyển đổi mức điện áp như MAX232 hay MC1488. Tốc độ truyền song song đạt mức tức thì, giúp nạp chương trình vào RAM chỉ trong vài giây.

Khi kit 8085 bị mất nguồn cung cấp thì chương trình đã nạp vào RAM xử lý thế nào? Do RAM tĩnh là bộ nhớ khả biến, toàn bộ dữ liệu sẽ biến mất khi mất nguồn điện. Tuy nhiên, nhờ phần mềm máy tính lưu trữ sẵn tệp nguồn, người dùng chỉ cần nhấn một phím bấm trên giao diện để nạp lại toàn bộ chương trình trong 2 đến 3 giây mà không cần thao tác bấm phím lại.

Lập trình hướng đối tượng trong C dưới môi trường DOS đem lại lợi ích kỹ thuật gì? Phương pháp OOP giúp đóng gói các thành phần giao diện thành từng lớp riêng biệt như Button, DiskList, Box và Mouse. Cấu trúc này tối ưu hóa việc quản lý tài nguyên trong giới hạn 640 Kbyte của DOS, tăng tính module hóa và giúp mã nguồn dễ dàng nâng cấp mở rộng về sau.

Kết luận

Nghiên cứu "Giao tiếp máy tính với thiết bị thực tập vi xử lý 8085" đã giải quyết thành công bài toán tự động hóa quy trình nạp chương trình thực hành, mang lại những giá trị then chốt sau:

  • Thiết kế hoàn chỉnh mạch giao tiếp song song bất đồng bộ giữa máy tính và kit vi xử lý thông qua cổng LPT1 và IC ngoại vi 8255 với độ tin cậy đạt 100%.
  • Xây dựng thành công phần mềm Download đa năng trên môi trường C DOS, tích hợp trình phân tích cú pháp tệp PRN và cơ chế kiểm tra lỗi truyền dữ liệu tự động.
  • Cắt giảm hơn 95% thời gian thao tác nhập liệu thực hành, nâng cao độ chính xác từ mức sai số 15% khi bấm tay xuống sai số 0% tuyệt đối.
  • Tạo tiền đề kỹ thuật vững chắc cho việc phát triển các hệ thống nạp chương trình EPROM và giao tiếp vi điều khiển thế hệ mới.
  • Đóng góp một công cụ sư phạm trực quan, hỗ trợ đắc lực cho công tác giảng dạy và nghiên cứu thực nghiệm chuyên ngành kỹ thuật số.

Lộ trình kế tiếp sẽ tập trung vào việc chuyển đổi toàn diện sang chuẩn kết nối USB tốc độ cao và xây dựng giao diện tương tác trên hệ điều hành hiện đại trong vòng 6 đến 12 tháng tới. Các nhà nghiên cứu, giảng viên và sinh viên quan tâm có thể khai thác mã nguồn và sơ đồ nguyên lý của luận văn để ứng dụng trực tiếp vào các dự án thiết kế nhúng và nâng cấp trang thiết bị phòng thí nghiệm.