Khóa luận: Xây dựng phương thức truyền dữ liệu theo chuẩn truyền thông song song

Khám phá truyền thông song song, chiến lược tối ưu hóa tương tác. Hướng dẫn chi tiết cách xây dựng và ứng dụng hiệu quả cho doanh nghiệp.

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2019

66
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn tổng quan về truyền dữ liệu theo chuẩn song song

Truyền dữ liệu theo chuẩn truyền thông song song là một phương thức nền tảng trong kỹ thuật máy tính, cho phép gửi đồng thời nhiều bit dữ liệu qua các kênh song song. Khác với truyền thông nối tiếp chỉ gửi một bit tại một thời điểm, phương pháp này sử dụng một bus dữ liệu rộng, thường là 8 bit, để tăng đáng kể tốc độ truyền dữ liệu trên khoảng cách ngắn. Nghiên cứu của Ngô Văn Huân (2019) nhấn mạnh rằng kỹ thuật ghép nối song song, dù là công nghệ có lịch sử lâu đời, vẫn giữ vai trò quan trọng trong các ứng dụng điều khiển tự động và ghép nối thiết bị ngoại vi. Các chuẩn ban đầu như chuẩn Centronics, được thiết kế cho máy in, đã đặt nền móng cho các tiêu chuẩn phức tạp hơn sau này. Sự phát triển của công nghệ đã dẫn đến sự ra đời của chuẩn IEEE 1284, một tiêu chuẩn hóa toàn diện cho cổng song song, hỗ trợ nhiều chế độ hoạt động khác nhau như Compatibility, Nibble, Byte, EPP và ECP. Hiểu rõ bản chất của giao tiếp song song là bước đầu tiên để khai thác tối đa tiềm năng của nó trong các hệ thống nhúng và các module điều khiển công nghiệp. Phương thức này không chỉ đơn thuần là việc truyền 8 bit dữ liệu mà còn liên quan đến các tín hiệu điều khiển phức tạp và cơ chế handshaking (bắt tay) để đảm bảo đồng bộ hóa dữ liệu giữa bên gửi và bên nhận, đảm bảo tính toàn vẹn và chính xác của thông tin.

1.1. So sánh chi tiết giữa truyền thông song song và nối tiếp

Sự khác biệt cốt lõi giữa truyền thông song songtruyền thông nối tiếp nằm ở cách thức các bit dữ liệu được gửi đi. Trong giao tiếp song song, một byte dữ liệu (8 bit) được truyền đồng thời trên 8 đường dây riêng biệt. Điều này giúp đạt được tốc độ truyền tải cao hơn đáng kể so với giao tiếp nối tiếp, vốn chỉ gửi từng bit một trên một đường dây duy nhất. Tuy nhiên, ưu điểm về tốc độ của giao tiếp song song phải đánh đổi bằng sự phức tạp và chi phí trong hệ thống cáp, cũng như sự nhạy cảm với nhiễu và suy hao tín hiệu khi khoảng cách truyền tăng lên. Ngược lại, truyền thông nối tiếp, mặc dù chậm hơn, lại kinh tế hơn và phù hợp cho các ứng dụng truyền dữ liệu đi xa.

1.2. Vai trò lịch sử của chuẩn Centronics và IEEE 1284

Chuẩn Centronics ban đầu là một giao diện độc quyền được phát triển cho máy in, nhanh chóng trở thành tiêu chuẩn de-facto cho cổng LPT (Line Print Terminal) trên các máy tính cá nhân. Nó định nghĩa một giao thức truyền thông đơn giản với 8 đường dữ liệu và một số đường điều khiển cho việc bắt tay. Để chuẩn hóa và mở rộng khả năng của cổng song song, Viện Kỹ sư Điện và Điện tử đã phát triển chuẩn IEEE 1284 vào năm 1994. Chuẩn này không chỉ tương thích ngược với Centronics mà còn định nghĩa thêm các chế độ hai chiều tốc độ cao như EPP (Enhanced Parallel Port) và ECP (Extended Capabilities Port), mở ra nhiều ứng dụng mới ngoài việc kết nối máy in.

II. Thách thức chính khi lập trình giao tiếp song song trên PC

Việc xây dựng các phương thức truyền dữ liệu theo chuẩn truyền thông song song trên các hệ điều hành hiện đại đối mặt với nhiều thách thức cả về phần cứng và phần mềm. Về mặt vật lý, giao tiếp song song dễ bị ảnh hưởng bởi nhiễu điện từ (EMI) và sự lệch pha tín hiệu (skew) giữa các đường dữ liệu khi cáp quá dài, làm giới hạn khoảng cách kết nối hiệu quả. Tuy nhiên, rào cản lớn nhất nằm ở tầng phần mềm. Các hệ điều hành như Windows (từ WinNT/2000/XP trở đi) đã áp đặt các lớp bảo vệ nghiêm ngặt, ngăn chặn các ứng dụng người dùng truy cập trực tiếp vào các cổng phần cứng như cổng LPT. Điều này được thực hiện để đảm bảo sự ổn định của hệ thống, nhưng lại tạo ra một thách thức lớn cho các nhà phát triển và kỹ sư muốn điều khiển thiết bị ngoại vi ở mức thấp. Để vượt qua rào cản này, việc lập trình đòi hỏi phải sử dụng các Giao diện Lập trình Ứng dụng (API) đặc biệt của hệ điều hành, hoặc phải phát triển các trình điều khiển (driver) riêng. Tài liệu nghiên cứu chỉ ra rằng việc sử dụng Win32 API, cụ thể là xây dựng các thư viện liên kết động (DLL), là một giải pháp khả thi để giao tiếp với cổng LPT mà không cần can thiệp sâu vào nhân hệ điều hành. Thách thức này đòi hỏi người lập trình phải có kiến thức vững chắc về cả lập trình C/C++ và cấu trúc hệ điều hành.

2.1. Giới hạn về khoảng cách và suy hao tín hiệu điều khiển

Một trong những hạn chế cố hữu của truyền thông song song là sự suy giảm chất lượng tín hiệu theo khoảng cách. Khi chiều dài cáp tăng, điện dung và điện trở của dây dẫn gây ra méo tín hiệu. Nghiêm trọng hơn là hiện tượng "skew", tức là sự chênh lệch thời gian đến của các bit trên các đường dây khác nhau của bus dữ liệu. Điều này có thể làm cho bên nhận đọc sai dữ liệu. Các tín hiệu điều khiển như Strobe, Ack, Busy cũng bị ảnh hưởng, gây ra lỗi trong quá trình handshaking (bắt tay) và làm gián đoạn luồng dữ liệu. Do đó, giao tiếp song song thường chỉ hiệu quả trong phạm vi vài mét.

2.2. Rào cản truy cập cổng LPT trên hệ điều hành Windows

Trên các phiên bản Windows cũ như DOS hay Win9x, các chương trình có thể dễ dàng ghi/đọc trực tiếp từ địa chỉ của cổng LPT (ví dụ: 0x378). Tuy nhiên, các hệ điều hành hiện đại hoạt động ở chế độ bảo vệ (protected mode), không cho phép ứng dụng truy cập trực tiếp vào không gian I/O của phần cứng. Nỗ lực làm vậy sẽ gây ra một lỗi hệ thống. Để giải quyết vấn đề này, cần một lớp trung gian. Nghiên cứu đề xuất phương pháp xây dựng một tệp DLL (Dynamic-link library) như inpout32.dll chứa các hàm đặc biệt (DeviceIoControl) có thể giao tiếp với trình điều khiển hệ thống, từ đó cho phép ứng dụng gửi và nhận dữ liệu từ cổng song song một cách an toàn và hợp lệ.

III. Bí quyết làm chủ phần cứng cho truyền thông song song qua LPT

Để xây dựng thành công các phương thức truyền dữ liệu theo chuẩn truyền thông song song, việc nắm vững cấu trúc và nguyên lý hoạt động của phần cứng là yêu cầu tiên quyết. Trọng tâm của giao tiếp này là cổng LPT (cổng máy in), một giao diện 25 chân (DB-25) được trang bị trên hầu hết các máy tính cá nhân thế hệ trước. Cổng này không chỉ là một kênh dữ liệu đơn thuần mà được cấu thành từ ba thanh ghi chính: Thanh ghi Dữ liệu (Data Register), Thanh ghi Trạng thái (Status Register) và Thanh ghi Điều khiển (Control Register). Theo tài liệu gốc, Thanh ghi Dữ liệu (địa chỉ cơ sở, ví dụ 0x378) là một thanh ghi 8-bit, đóng vai trò là bus dữ liệu chính để gửi dữ liệu ra ngoài. Thanh ghi Trạng thái (địa chỉ cơ sở + 1) là thanh ghi chỉ đọc, cho phép nhận về các tín hiệu từ thiết bị ngoại vi như BUSY, ACK, PAPER OUT. Thanh ghi Điều khiển (địa chỉ cơ sở + 2) cho phép gửi đi các tín hiệu điều khiển quan trọng như STROBE, INIT. Bên cạnh đó, các vi mạch hỗ trợ như PPI 8255A (Programmable Peripheral Interface) đóng vai trò then chốt trong việc mở rộng và quản lý các cổng I/O song song một cách linh hoạt, đặc biệt trong các hệ thống nhúng và mạch điều khiển chuyên dụng kết nối với vi điều khiển.

3.1. Phân tích sơ đồ chân cổng song song và các thanh ghi chức năng

Một sơ đồ chân cổng song song DB-25 tiêu chuẩn bao gồm: 8 chân dữ liệu (D0-D7), 5 chân trạng thái (ACK, BUSY, PE, SELECT, ERROR), 4 chân điều khiển (STROBE, AUTO FEED, INIT, SELECT IN) và 8 chân nối đất. Mỗi nhóm chân này tương ứng với một thanh ghi trong không gian I/O của máy tính. Việc hiểu rõ chức năng từng chân và cách đọc/ghi vào các thanh ghi tương ứng là nền tảng của lập trình C/C++ cho cổng song song. Ví dụ, để gửi một byte dữ liệu, chương trình sẽ ghi giá trị byte đó vào địa chỉ của Thanh ghi Dữ liệu. Để bắt đầu quá trình truyền, chương trình sẽ tác động lên chân STROBE thông qua Thanh ghi Điều khiển.

3.2. Vai trò của vi mạch PPI 8255A trong ghép nối ngoại vi

Vi mạch PPI 8255A là một bộ giao diện song song có thể lập trình, cực kỳ phổ biến trong các thiết kế mạch điện tử. Nó cung cấp ba cổng I/O 8-bit (Cổng A, B, C) có thể được cấu hình linh hoạt làm cổng vào hoặc cổng ra thông qua một từ điều khiển. 8255A có thể hoạt động ở nhiều chế độ khác nhau, bao gồm chế độ I/O cơ bản (Chế độ 0) và các chế độ có hỗ trợ handshaking (bắt tay) (Chế độ 1 và 2). Khả năng này làm cho 8255A trở thành một cầu nối lý tưởng giữa vi điều khiển và các thiết bị ngoại vi, cho phép quản lý luồng dữ liệu song song một cách hiệu quả và có cấu trúc.

IV. Hướng dẫn lập trình truyền dữ liệu 8 bit bằng C Win32 API

Lập trình để thực hiện truyền dữ liệu 8-bit qua cổng song song trên môi trường Windows hiện đại đòi hỏi một cách tiếp cận gián tiếp thông qua Win32 API. Như đã phân tích, truy cập trực tiếp vào địa chỉ cổng I/O bị hệ điều hành ngăn chặn. Giải pháp được trình bày trong khóa luận của Ngô Văn Huân là xây dựng một Thư viện Liên kết Động (DLL) làm trung gian. Quá trình này bắt đầu bằng việc tạo một dự án DLL trong môi trường phát triển như Visual C++. Thư viện này sẽ chứa các hàm cấp thấp có khả năng tương tác với trình điều khiển của hệ thống. Đối với các phiên bản Windows như Win95/98, các hàm như _inp()_outp() có thể được sử dụng. Tuy nhiên, đối với WinNT/2000/XP và các phiên bản mới hơn, cần phải sử dụng hàm DeviceIoControl để gửi mã điều khiển trực tiếp đến trình điều khiển thiết bị. Sau khi biên dịch DLL, các ứng dụng người dùng có thể gọi các hàm đã được xuất (exported) từ DLL này. Thông thường, các hàm tiện ích như Inp32(address)Out32(address, data) được tạo ra để đơn giản hóa quá trình lập trình. Cách tiếp cận này giúp đóng gói sự phức tạp của việc tương tác hệ điều hành, cho phép tập trung vào logic của giao thức truyền thôngđồng bộ hóa dữ liệu.

4.1. Xây dựng thư viện DLL cho cổng LPT bằng Visual C

Quá trình xây dựng DLL bắt đầu bằng việc tạo một dự án "Win32 Dynamic-Link Library" trong Visual C++. Bên trong dự án, các hàm để đọc và ghi vào cổng I/O được định nghĩa. Các hàm này sẽ kiểm tra phiên bản hệ điều hành để gọi cơ chế phù hợp (ví dụ: _outp cho hệ thống cũ hoặc DeviceIoControl cho hệ thống mới). Sau khi mã nguồn được viết, dự án được biên dịch để tạo ra hai tệp quan trọng: tệp .dll (chứa mã thực thi) và tệp .lib (thư viện tĩnh để liên kết với ứng dụng chính). Ứng dụng cuối cùng khi chạy sẽ nạp tệp .dll vào bộ nhớ và sử dụng các hàm trong đó để giao tiếp với cổng LPT.

4.2. Quy trình gửi và nhận dữ liệu 8 bit với Inp32 và Out32

Sau khi đã có thư viện DLL, việc lập trình C/C++ trở nên đơn giản hơn rất nhiều. Để gửi một byte dữ liệu, chương trình chỉ cần gọi hàm Out32(0x378, data_byte). Hàm này sẽ chuyển yêu cầu đến DLL, và DLL sẽ thực hiện thao tác ghi dữ liệu vào Thanh ghi Dữ liệu của cổng song song. Tương tự, để đọc trạng thái của cổng, chương trình gọi hàm Inp32(0x379). Quy trình này trừu tượng hóa toàn bộ phần cứng và các lệnh gọi API phức tạp, giúp nhà phát triển tập trung vào việc triển khai logic điều khiển, ví dụ như kiểm tra bit BUSY trước khi gửi dữ liệu mới để đảm bảo đồng bộ hóa dữ liệu.

V. Top 3 ứng dụng thực tiễn của phương thức truyền dữ liệu song song

Lý thuyết về truyền dữ liệu theo chuẩn truyền thông song song trở nên sống động khi được áp dụng vào các bài toán thực tế. Nghiên cứu của Ngô Văn Huân đã trình bày chi tiết việc xây dựng và kiểm chứng một số ứng dụng điển hình, sử dụng module giao diện CI-83003 và module I/O CI-83001 kết hợp với vi điều khiển AT90S8515. Các thí nghiệm này không chỉ minh họa cách xuất dữ liệu ra các cổng mà còn thể hiện khả năng điều khiển các thiết bị ngoại vi phức tạp. Bằng cách gửi các byte dữ liệu cụ thể đến Thanh ghi Dữ liệu (0x378) và Thanh ghi Điều khiển (0x37A) của cổng LPT, chương trình ứng dụng viết bằng Visual C++ có thể điều khiển trực tiếp trạng thái của các đèn LED, đọc giá trị từ bộ chuyển đổi tương tự-số (ADC), và hiển thị thông tin lên LED 7 đoạn. Những ứng dụng này, mặc dù đơn giản, nhưng là nền tảng cho nhiều hệ thống điều khiển tự động trong công nghiệp, nơi tốc độ truyền dữ liệu và độ trễ thấp là yếu tố quan trọng. Chúng chứng minh rằng, dù các giao diện hiện đại hơn đã xuất hiện, giao tiếp song song vẫn là một công cụ mạnh mẽ và hiệu quả cho các tác vụ điều khiển trực tiếp.

5.1. Thí nghiệm điều khiển LED Xuất dữ liệu ra cổng Data Control

Đây là ứng dụng cơ bản nhất để kiểm tra giao tiếp song song. Bằng cách gửi một byte dữ liệu (ví dụ: 01000011 - mã ASCII của ký tự 'C') đến địa chỉ 0x378, 8 đèn LED kết nối với các chân dữ liệu D0-D7 sẽ sáng tắt tương ứng với các bit 0 và 1. Tương tự, bằng cách ghi dữ liệu vào địa chỉ 0x37A (Thanh ghi Điều khiển), 4 đèn LED khác kết nối với các chân điều khiển cũng có thể được bật/tắt. Thí nghiệm này chứng minh khả năng gửi tín hiệu điều khiển và dữ liệu 8-bit một cách chính xác.

5.2. Ứng dụng điều khiển ADC và hiển thị trên LED 7 đoạn

Một ứng dụng cao cấp hơn là giao tiếp với một mạch chuyển đổi tương tự-số (ADC). Chương trình trên PC có thể gửi lệnh điều khiển để ADC bắt đầu quá trình chuyển đổi. Sau khi hoàn tất, giá trị số 8-bit sẽ được ADC gửi về và PC đọc thông qua các chân trạng thái hoặc dữ liệu (nếu cổng hỗ trợ hai chiều). Giá trị số này sau đó có thể được xử lý và gửi ngược lại để hiển thị trên một module LED 7 đoạn. Toàn bộ chu trình này thể hiện một giao thức truyền thông hoàn chỉnh, bao gồm gửi lệnh, nhận dữ liệu và xuất kết quả, cho thấy tiềm năng của cổng LPT trong các hệ thống thu thập dữ liệu và điều khiển.

5.3. Điều khiển động và tạo hiệu ứng LED di chuyển

Để chứng minh khả năng điều khiển theo thời gian thực, một chương trình được phát triển để tạo hiệu ứng LED di chuyển (chasing LEDs). Bằng cách sử dụng một bộ đếm thời gian (Timer) trong ứng dụng, chương trình liên tục gửi các chuỗi byte dữ liệu đã được dịch bit (bit-shifting) đến cổng dữ liệu. Ví dụ, gửi 00000001, sau đó 00000010, 00000100,... trong một khoảng thời gian ngắn. Kết quả là một hiệu ứng ánh sáng chạy mượt mà trên dãy đèn LED. Thí nghiệm này kiểm tra tốc độ truyền dữ liệu và khả năng đáp ứng của hệ thống, rất quan trọng trong các ứng dụng yêu cầu điều khiển động.

VI. Đánh giá tổng kết và tương lai của giao tiếp song song hiện đại

Tổng kết lại, việc xây dựng các phương thức truyền dữ liệu theo chuẩn truyền thông song song là một bài toán kỹ thuật có giá trị, kết hợp kiến thức về cả phần cứng điện tử và lập trình hệ thống. Nghiên cứu đã chứng minh rằng ngay cả với một giao diện được xem là di sản như cổng LPT, chúng ta vẫn có thể khai thác và ứng dụng hiệu quả trong các tác vụ điều khiển và thu thập dữ liệu khi có phương pháp tiếp cận đúng đắn. Việc sử dụng các vi mạch như PPI 8255A và vi điều khiển kết hợp với lập trình API trên máy tính tạo ra một hệ thống mạnh mẽ và linh hoạt. Mặc dù các giao diện như USB, Ethernet đã thay thế cổng song song trong hầu hết các ứng dụng tiêu dùng nhờ tính tiện lợi và khả năng cắm nóng (plug-and-play), các nguyên tắc cơ bản của giao tiếp song song vẫn còn nguyên giá trị. Chúng là nền tảng cho nhiều bus dữ liệu nội bộ trong vi xử lý, FPGA, và các hệ thống trên một vi mạch (SoC). Kiến thức về đồng bộ hóa dữ liệu, handshaking (bắt tay), và quản lý nhiều đường tín hiệu đồng thời vẫn là kỹ năng cốt lõi của một kỹ sư điện tử và kỹ sư nhúng trong kỷ nguyên số.

6.1. Tóm tắt các phương thức truyền dữ liệu đã xây dựng thành công

Nghiên cứu đã thành công trong việc: (1) Thiết lập giao tiếp phần cứng giữa PC và các module ngoại vi thông qua cổng song song. (2) Xây dựng thư viện DLL bằng lập trình C/C++ để vượt qua các rào cản của hệ điều hành. (3) Triển khai các giao thức truyền thông cụ thể để điều khiển LED, đọc dữ liệu từ ADC và hiển thị thông tin. Các kết quả thực nghiệm đã xác nhận tính đúng đắn và hiệu quả của các phương pháp được đề xuất, cho thấy khả năng ứng dụng thực tiễn cao.

6.2. Tính kế thừa của giao tiếp song song trong kỷ nguyên số

Mặc dù cổng LPT vật lý đang dần biến mất, di sản của nó vẫn tồn tại. Các giao thức bus bên trong các con chip hiện đại như AXI, AMBA trong các hệ thống ARM, hay các bus kết nối bộ nhớ RAM (DDR) đều là các dạng thức của giao tiếp song song tốc độ cực cao. Việc hiểu rõ những thách thức như "signal integrity" và "timing closure" trong giao tiếp song song cổ điển cung cấp một nền tảng kiến thức vô giá để thiết kế các hệ thống kỹ thuật số hiệu năng cao ngày nay. Do đó, nghiên cứu về truyền thông song song không bao giờ là lỗi thời.

04/10/2025

Trích đoạn nội dung tài liệu

TRƢỜNG ĐẠI HỌC LÂM NGHIÊP VIỆT NAM KHOA CƠ ĐIỆN VÀ CÔNG TRÌNH BỘ MÔN KỸ THUẬT ĐIỆN VÀ TỰ ĐỘNG HÓA KHÓA LUẬN TỐT NGHIỆP Tên đề tài: Xây dựng một số phƣơng thức truyền dữ liệu theo chuẩn truyền thông song song Giảng viên hƣớng dẫn : ThS. Lê Minh Đức Sinh viên thực hiện : Ngô văn Huân Mã sinh viên : 1551080786 Lớp : 60 - CĐT Khóa : K60 Hà Nội-năm 2019 LỜI NÓI ĐẦU Cùng với sự tiến bộ của khoa học và công nghệ, các phƣơng thức truyền dữ liệu theo chuẩn truyền thông song song đang và sẽ tiếp tục đƣợc ứng dụng ngày càng rộng rãi và mang lại hiệu quả cao trong hầu hết các lĩnh vực kinh tế cũng nhƣ đời sống xã hội. Trong thực tế, kỹ thuật ghép song song đƣợc sử dụng rất đơn giản và rộng rãi. Truyền thông qua cổng song song có thể sử dụng trong các vi mạch đệm, chốt, vi mạch PPI 8255A, ghép nối song song qua cổng máy in, và mạch ứng dụng trong điều khiển tự động.

Nhận thấy đƣợc khả năng và ứng dụng rất rộng rãi của phƣơng thức truyền dữ liệu theo chuẩn truyền thông song song trong nhiều lĩnh vực khoa học kĩ thuật nên em quyết định chọn đề tài nghiên cứu khóa luận là “Xây dựng một số phƣơng thức truyền dữ liệu theo chuẩn truyền thông song song”. Nội dung khóa luận bao gồm: 3 chƣơng Chƣơng 1: Tìm hiểu chung về chuẩn truyền thông song song Chƣơng 2: Tìm hiểu về giao tiếp song song và xây dựng một số phƣơng thức truyền dữ liệu theo chuẩn truyền thông song song Chƣơng 3: Trình tự thí nghiệm và kết quả thực hiện một số phƣơng thức truyền dữ liệu theo chuẩn truyền thông song song Do thời gian thực hiện khóa luận có hạn cũng nhƣ khả năng nghiên cứu, nội dung khóa luận này không tránh khỏi thiếu sót. Vì vậy, em rất mong đƣợc sự chỉ bảo của thầy cô và đóng góp ý kiến của các bạn để đề tài khóa luận đƣợc đầy đủ, hoàn thiện hơn. Em xin chân thành cảm ơn các thầy cô trong trƣờng Đại học Lâm nghiệp nói chung và các thầy cô trong khoa Cơ điện - Công trình nói riêng đã truyền dạy những kinh nghiệm quý báu và giúp đỡ em trong suốt quá trình học tập.

Đặc biệt, em xin gửi lời cảm ơn chân thành đến giảng viên ThS. Lê Minh Đức ngƣời đã tận tình hƣớng dẫn em hoàn thành khóa luận tốt nghiệp này. Hà Nội, ngày 12 tháng 05 năm 2019 Sinh viên thực hiện đề tài Ngô Văn Huân NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN. Đồng ý cho phép sinh viên Ngô Văn Huân nộp quyển báo cáo khóa luận để làm thủ tục bảo vệ.

Hà Nội, ngày…13….tháng…05…năm 2019 Giảng viên hƣớng dẫn ThS. LÊ MINH ĐỨC NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN. GIẢNG VIÊN PHẢN BIỆN (Chữ ký, họ tên) MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC HÌNH VẼ CHƢƠNG 1: TÌM HIỂU CHUNG VỀ CHUẨN TRUYỀN THÔNG SONG SONG .1 Khối ghép nối song song đơn giản .1 Cổng vào đơn giản.2 Cổng ra đơn giản .3 Một số vi mạch sử dụng đệm, chốt dữ liệu .2 Vi mạch PPI 8255A .1 Giới thiệu chung .2 Các lệnh ghi đọc các cổng và cách thanh ghi điều khiển .3 Ghép nối song song qua cổng máy in .1 Giới thiệu chung .2 Cấu trúc cổng máy in.3 Các thanh ghi của cổng máy in. 13 CHƢƠNG 2: TÌM HIỂU VỀ GIAO TIẾP SONG SONG VÀ XÂY DỰNG MỘT SỐ PHƢƠNG THỨC TRUYỀN DỮ LIỆU THEO CHUẨN TRUYỀN THÔNG SONG SONG .1 API win32 cho cổng máy in song song .1 Tổng quan về API win32 cho cổng máy in song song .2 Các chức năng liên quan đến cổng máy in song song .2 Bố cục chung cho lập trình cổng máy in song song .3 Vi điều khiển AT90S8515 AVR .1 Phân bố chân .2 Các tính năng chính .4 Mạch phần cứng của các module .1 Module giao diện CI-83003 .5 Cài đặt chƣơng trình ứng dụng .1 Yêu cầu hệ thống .2 Trình tự cài đặt .6 Xây dựng một số phƣơng thức truyền dữ liệu theo chuẩn truyền thông song song 30 2.1 Xuất dữ liệu ra cổng máy in .2 Kiểm soát cổng đầu ra .3 Kiểm soát cổng dữ liệu và đầu ra cổng điều khiển .4 Điều khiển ADC .5 Điều khiển hiển thị 7 đoạn.

43 CHƢƠNG 3: TRÌNH TỰ THÍ NGHIỆM VÀ KẾT QUẢ THỰC HIỆN MỘT SỐ PHƢƠNG THỨC TRUYỀN DỮ LIỆU THEO CHUẨN TRUYỀN THÔNG SONG SONG .1 Xuất dữ liệu ra cổng máy in .1 Thiết bị cần thiết .2 Trình tự kết nối .3 Kết quả thực hiện chƣơng trình .2 Kiểm soát cổng đầu ra .1 Thiết bị cần thiết .2 Trình tự kết nối .3 Kết quả thực hiện chƣơng trình .3 Kiểm soát cổng dữ liệu và đầu ra cổng điều khiển .1 Thiết bị cần thiết .2 Trình tự kết nối .3 Kết quả thực hiện chƣơng trình .4 Chuyển đổi số tƣơng tự số ADC (Analog to Digital Converter) .1 Thiết bị cần thiết .2 Trình tự kết nối .3 Kết quả thực hiện chƣơng trình .5 Điều khiển hiển thị 7 đoạn .1 Thiết bị cần thiết .2 Trình tự kết nối .3 Kết quả thực hiện chƣơng trình. 56 TÀI LIỆU THAM KHẢO DANH MỤC CÁC BẢNG BIỂU Bảng 1. Chức năng các chân vi mạch 74LS245. Giá trị trạng thái của 74LS373.

Bit, chốt và tín hiệu dữ liệu tƣơng ứng của chân cổng dữ liệu. Bit, chốt và trạng thái tín hiệu tƣơng ứng của chốt cổng điều khiển. Bit, chốt và trạng thái tín hiệu tƣơng ứng của chân cổng điều khiển. Chức năng các bit thanh ghi dữ liệu.

Chức năng các bit thanh ghi trạng thái. Chức năng các bit thanh ghi điều khiển. Chức năng các bit thanh ghi điều khiển mở rộng. Các cài đặt ghim cắm cần thiết khi thiết bị I/O đƣợc sử dụng trong các thí nghiệm trong phòng thí nghiệm.

Hiển thị của 8 đèn LED màu đỏ. Số thập phân đƣợc nhập đƣợc chuyển đổi trực tiếp thànhnhị phân. Trạng thái của 4 đèn LED màu xanh lá cây (D1 - D4) trên module I/O CI-83001. Trạng thái của 4 đèn LED màu xanh lá cây (D1 - D4) trên Module I/O CI-83001.

Hiển thị của 4 đèn LED màu xanh lá cây (D1 - D4) trên module.Hiển thị của 8 đèn LED màu đỏ (D9 - D16) trên module. Giá trị điện áp sau khi thực hiện chƣơng trình. Các số đƣợc hiển thị trên màn hình 7 đoạn. 55 DANH MỤC CÁC HÌNH VẼ Hình 1.

Sơ đồ cổng vào đơn giản. Sơ đồ cổng ra đơn giản có đối thoại. Sơ đồ chân vi mạch 74LS245. Sơ đồ chân vi mạch 74LS373.

Từ điều khiển thiết lập chế độ cho 8255A. Từ điều khiển lập/xóa bit cho 8255A. Chế độ cơ sở (chế độ 0) của 8255A. Chế độ đối thoại (chế độ 1) của 8255A.

Chế độ đối thoại (chế độ 1) của 8255A. Ghép nối 8255A với máy vi tính và thiết bị ngoài. Ghép nối 8255A với MVT và TBN ở chế độ 0. Ghép nối 8255A với MVT và TBN ở chế độ 1.

Sơ đồ chân cổng máy in. Hộp thoại dự án mới. Trình hƣớng dẫn Win32 DLL. Thƣ viện tĩnh.

Module giao diện điện tử CI-83003 .Mạch chỉ báo tín hiệu cổng trạng thái máy in. Mạch chọn điều khiển. Mạch vi điều khiển AVR. Bố cục moduleI/O CI-83001.

Mạch đầu vào chuyển đổi. Mạch đầu vào DIP. Mạch chỉ thị LED. Mạch hiển thị 4 chữ số 7 đoạn.

Mạch module LCD. Cửa sổ cài đặt. Giải nén các tệp. Cửa sổ chào mừng.

Chọn cửa sổ vị trí đích. Chọn cửa sổ thƣ mục chƣơng trình. Bắt đầu sao chép cửa sổ. Sao chép các tập tin.

Cài đặt hoàn thành. Mạch chỉ thị cổng dữ liệu. Biểu mẫu thiết kế. Mạch điều khiển cổng chỉ thị.

Biểu mẫu thiết kế. Mạch chỉ thị cổng dữ liệu. Mạch điều khiển cổng. Cửa sổ biểu mẫu thiết kế.

Cửa sổ biểu mẫu thiết kế. Mạch hiển thị 4 chữ số 7 chữ số. Biểu mẫu thiết kế. Cách sắp xếp phân đoạn của màn hình 7 đoạn.

Biểu mẫu chạy chƣơng trình. Cửa sổ thực hiện chƣơng trình kiểm soát đầu ra. Cửa sổ thực hiện chƣơng trình kiểm soát đầu ra. Cửa sổ thực hiện chƣơng trình điều khiển ADC.

Cửa sổ thực hiện chƣơng trình điều khiển hiển thị 7 đoạn. 54 CHƢƠNG 1: TÌM HIỂU CHUNG VỀ CHUẨN TRUYỀN THÔNG SONG SONG Phƣơng thức ghép nối và trình bày các kiến thức cơ bản về ghép nối và trao đổi dữ liệu qua các giao diện song song. Tìm hiểu các giao diện song song từ cơ bản đến nâng cao về cấu trúc, nguyên lý hoạt động, cách ghép nối và lập trình điều khiển cho các giao diện này.1 Khối ghép nối song song đơn giản 1.1 Cổng vào đơn giản Gồm một bộ giải mã địa chỉ - lệnh và các cổng vào 3 trạng thái để đƣa trực tiếp số liệu song song từ thanh ghi đệm số liệu từ TBN (Thiết bị ngoài) vào đƣờng tín hiệu số liệu (D0 – Dn) của máy tính. Sơ đồ cổng vào đơn giản 1.2 Cổng ra đơn giản Cũng có bộ giải mã địa chỉ - lệnh, nhƣng có thêm các thanh ghi chốt số liệu ra để ghi số liệu đƣa ra từ máy tính.Lối ra có thể có thêm sơ đồ 3 trạng thái để cô lập TBN với bus của máy tính.

Sơ đồ cổng ra đơn giản có đối thoại 1 1.3 Một số vi mạch sử dụng đệm, chốt dữ liệu a) Vi mạch đệm 74LS245 Một bộ chuyển đổi tín hiệu số thành tƣơng tự DAC (Digital Analog Converter) là một dạng đặc biệt của một bộ giải mã. Nó giải mã tín hiệu số đầu vào và chuyển thành tín hiệu tƣơng tự ở đầu ra. Sơ đồ chân vi mạch 74LS245 Bảng 1. Chức năng các chân vi mạch 74LS245 Inputs Function Outputs E DIR A bus B bus L L Out put Input A=B L H Input Output B=A H X High Impedance Z Vi mạch 74LS245 cho tín hiệu vào ra 2 chiều dùng để đệm số liệu trong máy tính PC/XT (VXL(Vi xử lý) 8086).

Vi mạch này có 2 đƣờng điều khiển chính, tín hiệu E là tín hiệu cho phép vi mạch hoạt động, khi E ở mức độ cao, các chân dữ liệu của vi mạch ở trạng thái trở kháng cao. Tín hiệu DIR xác định chiều truyền dữ liệu. DIR = 1 dữ liệu đƣợc truyền từ A sang B và ngƣợc lại. b) Vi mạch chốt 74LS373 Hình 1.

Sơ đồ chân vi mạch 74LS373 Bảng trạng thái của nó có thể có dạng nhƣ bảng 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ