Khóa luận: Xây dựng các phương thức truyền dữ liệu theo chuẩn nối tiếp

Tài liệu nghiên cứu Xây dựng một số phương thức truyền dữ liệu theo chuẩn truyền thống nối tiếp, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về kỹ thuật.

Trường đại học

Không tìm thấy thông tin

Chuyên ngành

Không tìm thấy thông tin

Người đăng

Ẩn danh

Thể loại

Khóa luận

2018

58
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn tổng quan về phương thức truyền dữ liệu nối tiếp

Truyền dữ liệu theo chuẩn truyền thống nối tiếp là một phương pháp nền tảng trong kỹ thuật điện tử và khoa học máy tính. Khác với truyền song song gửi nhiều bit cùng lúc, giao tiếp nối tiếp truyền dữ liệu tuần tự, từng bit một, trên một hoặc hai đường tín hiệu. Phương pháp này mang lại ưu điểm vượt trội về chi phí và khoảng cách truyền. Nó chỉ cần ít dây dẫn hơn, giúp giảm độ phức tạp và chi phí của cáp nối, đặc biệt hiệu quả khi truyền dữ liệu đi xa hàng trăm, thậm chí hàng nghìn mét. Trong môi trường công nghiệp và các hệ thống nhúng, truyền thông nối tiếp vẫn là lựa chọn hàng đầu nhờ sự đơn giản, độ tin cậy và khả năng chống nhiễu tốt của các chuẩn như RS485. Các thiết bị từ vi điều khiển đơn giản, module GPS, cảm biến công nghiệp đến các thiết bị đo lường phức tạp đều sử dụng phương thức này để trao đổi thông tin. Hiểu rõ các nguyên tắc cơ bản của truyền nối tiếp, từ cấu trúc khung truyền dữ liệu (data frame) đến các tham số như tốc độ baud (baud rate), là yêu cầu bắt buộc đối với bất kỳ kỹ sư hay nhà phát triển nào làm việc trong lĩnh vực tự động hóa và lập trình hệ thống.

1.1. Khám phá các tham số cốt lõi trong giao tiếp nối tiếp

Để hai thiết bị có thể giao tiếp nối tiếp thành công, chúng phải được cấu hình với các tham số hoàn toàn giống nhau. Tham số quan trọng nhất là tốc độ baud (baud rate), định nghĩa số bit được truyền trong một giây (bps). Các giá trị phổ biến bao gồm 9600, 19200, 115200 bps. Tiếp theo là cấu trúc của khung truyền dữ liệu (data frame), bao gồm một bit bắt đầu (start bit) để báo hiệu bắt đầu truyền, các bit dữ liệu (thường là 7 hoặc 8 bit), một bit chẵn lẻ (parity bit) tùy chọn để kiểm tra lỗi, và một hoặc hai bit dừng (stop bit) để báo hiệu kết thúc khung truyền. Parity bit có thể là chẵn (even), lẻ (odd), hoặc không có (none), giúp bên nhận xác định xem dữ liệu có bị thay đổi trong quá trình truyền hay không. Việc cấu hình sai bất kỳ tham số nào trong số này sẽ dẫn đến dữ liệu nhận được bị sai lệch hoặc không thể đọc được.

1.2. Phân loại các chuẩn truyền thông nối tiếp phổ biến nhất

Có nhiều chuẩn vật lý định nghĩa cách tín hiệu điện được truyền đi. Chuẩn RS232 là một trong những chuẩn lâu đời và phổ biến nhất, thường thấy trên các cổng COM của máy tính. Nó hoạt động tốt cho giao tiếp điểm-điểm (point-to-point) ở khoảng cách ngắn (dưới 15 mét). Tuy nhiên, RS232 dễ bị ảnh hưởng bởi nhiễu và không hỗ trợ nhiều thiết bị trên cùng một bus. Để khắc phục những hạn chế này, chuẩn RS485chuẩn RS422 đã ra đời. RS485 sử dụng tín hiệu vi sai, cho phép truyền dữ liệu ở khoảng cách xa (lên tới 1200 mét) và kết nối nhiều thiết bị (lên đến 32 thiết bị trên một bus) với khả năng chống nhiễu vượt trội. RS422 tương tự nhưng thường được dùng cho kết nối một-nhiều (one-to-many). Các chuẩn này là xương sống của nhiều mạng truyền thông công nghiệp hiện đại.

II. Các thách thức khi xây dựng giao thức truyền thông nối tiếp

Việc xây dựng một hệ thống truyền dữ liệu nối tiếp ổn định đòi hỏi phải giải quyết nhiều thách thức cả về phần cứng lẫn phần mềm. Một trong những vấn đề cơ bản nhất là sự không tương thích về mức logic điện áp. Hầu hết các vi điều khiển hoạt động ở mức điện áp TTL (0V-5V hoặc 0V-3.3V), trong khi chuẩn RS232 lại sử dụng mức điện áp khác biệt (-3V đến -25V cho mức logic 1 và +3V đến +25V cho mức logic 0). Việc kết nối trực tiếp hai hệ thống này có thể gây hỏng hóc vĩnh viễn cho vi điều khiển. Về mặt phần mềm, việc lập trình để xử lý dữ liệu đến và đi một cách chính xác cũng rất phức tạp. Lập trình viên phải quản lý bộ đệm (buffer), xử lý lỗi truyền, và đảm bảo đồng bộ hóa giữa các tác vụ, đặc biệt trong các ứng dụng thời gian thực. Hơn nữa, việc triển khai kiểm soát luồng (flow control) để ngăn ngừa mất dữ liệu khi một thiết bị gửi nhanh hơn khả năng xử lý của thiết bị nhận cũng là một bài toán không hề đơn giản, đòi hỏi kiến thức sâu về cả phần cứng và phần mềm.

2.1. Vấn đề tương thích mức điện áp và giải pháp IC MAX232

Sự khác biệt về mức điện áp giữa TTL/CMOS của vi điều khiểnchuẩn RS232 là một trở ngại lớn. Để giải quyết vấn đề này, các mạch chuyển đổi mức điện áp là bắt buộc. Một trong những giải pháp phổ biến và hiệu quả nhất là sử dụng IC MAX232 hoặc các biến thể của nó. Con chip này có chức năng chuyển đổi mức điện áp hai chiều: nó nhận tín hiệu TTL từ UART của vi điều khiển và chuyển đổi chúng thành mức điện áp tuân thủ RS232 để truyền đi, và ngược lại, nó nhận tín hiệu RS232 từ thiết bị ngoại vi và chuyển đổi chúng về mức TTL an toàn cho vi điều khiển. Việc sử dụng IC MAX232 giúp đơn giản hóa thiết kế mạch và đảm bảo kết nối vật lý an toàn, đáng tin cậy giữa các hệ thống có chuẩn điện áp khác nhau.

2.2. Khó khăn khi lập trình cổng COM cấp thấp với API Win32

Trong khi các ngôn ngữ hiện đại cung cấp các thư viện tiện lợi như thư viện pyserial python hay lớp SerialPort trong C#, việc lập trình trực tiếp với cổng nối tiếp trên Windows ở cấp thấp hơn, như được mô tả trong nghiên cứu gốc sử dụng C++ và API Win32, lại phức tạp hơn nhiều. Lập trình viên phải làm việc với các hàm như CreateFile để mở cổng, SetCommState để cấu hình các tham số (tốc độ baud, parity...), và ReadFile/WriteFile để truyền nhận dữ liệu. Quản lý các sự kiện truyền thông, xử lý lỗi, và triển khai các cơ chế như truyền không đồng bộ đòi hỏi sự hiểu biết sâu sắc về hệ điều hành Windows và cách nó quản lý tài nguyên phần cứng. Đây là một thách thức đối với người mới bắt đầu trong lĩnh vực lập trình nhúng.

III. Phương pháp lập trình điều khiển dòng tín hiệu qua cổng COM

Ngoài hai chân truyền (TxD) và nhận (RxD) chính, cổng COM theo chuẩn RS232 còn cung cấp các chân điều khiển (control lines) có thể được lập trình để thực hiện các chức năng phụ. Hai trong số các chân quan trọng nhất là DTR (Data Terminal Ready) và RTS (Request to Send). Theo truyền thống, chúng được sử dụng cho cơ chế bắt tay phần cứng (hardware handshaking) hay còn gọi là kiểm soát luồng (flow control). Tuy nhiên, trong nhiều ứng dụng đơn giản, các chân này có thể được tái sử dụng như các chân xuất dữ liệu kỹ thuật số (digital output). Bằng cách sử dụng các hàm API của hệ điều hành, chương trình trên máy tính có thể bật hoặc tắt các chân này, tạo ra các tín hiệu điều khiển đơn giản. Nghiên cứu của Nguyễn Quyết Tiến (2018) đã chứng minh phương pháp này bằng cách xây dựng chương trình điều khiển đèn LED kết nối với chân DTR và RTS trên bộ phát triển CI-800A. Phương pháp này rất hữu ích để gỡ lỗi, báo hiệu trạng thái hoặc điều khiển các thiết bị đơn giản mà không cần thêm phần cứng phức tạp.

3.1. Sử dụng tín hiệu DTR và RTS làm chân xuất dữ liệu số

Việc điều khiển chân DTR và RTS được thực hiện thông qua việc thiết lập các cờ tương ứng trong cấu trúc dữ liệu DCB (Device Control Block) khi sử dụng API Win32. Cụ thể, các tham số fDtrControlfRtsControl có thể được đặt thành các giá trị như DTR_CONTROL_ENABLE hoặc DTR_CONTROL_DISABLE. Sau khi thay đổi cấu trúc DCB, hàm SetCommState được gọi để áp dụng các thay đổi lên cổng COM. Bằng cách này, một ứng dụng có thể chủ động thay đổi trạng thái điện áp của các chân này. Đây là một kỹ thuật cơ bản nhưng mạnh mẽ trong lập trình nhúng, cho phép máy tính tương tác vật lý với thế giới bên ngoài thông qua một giao diện phổ biến như cổng nối tiếp.

3.2. Triển khai kiểm soát luồng dữ liệu Flow Control hiệu quả

Kiểm soát luồng là cơ chế ngăn chặn việc bên gửi truyền dữ liệu quá nhanh so với khả năng xử lý của bên nhận, gây tràn bộ đệm và mất dữ liệu. Có hai loại chính: kiểm soát luồng phần cứng và phần mềm. Kiểm soát luồng phần cứng sử dụng các đường tín hiệu riêng như RTS/CTS (Request to Send/Clear to Send). Khi bộ đệm của bên nhận gần đầy, nó sẽ hạ tín hiệu CTS để yêu cầu bên gửi tạm dừng. Ngược lại, kiểm soát luồng phần mềm (XON/XOFF) sử dụng các ký tự điều khiển đặc biệt gửi ngay trong luồng dữ liệu. Lựa chọn phương pháp kiểm soát luồng nào phụ thuộc vào yêu cầu ứng dụng và sự hỗ trợ của phần cứng, nhưng kiểm soát luồng phần cứng thường được xem là đáng tin cậy và hiệu quả hơn.

IV. Cách xây dựng phương thức truyền dữ liệu ADC qua nối tiếp

Một trong những ứng dụng phổ biến nhất của giao tiếp nối tiếp trong các hệ thống nhúng là truyền dữ liệu từ cảm biến về máy tính để xử lý hoặc hiển thị. Hầu hết các tín hiệu trong thế giới thực (nhiệt độ, áp suất, ánh sáng) đều ở dạng tương tự (analog). Do đó, vi điều khiển cần sử dụng bộ chuyển đổi Tương tự-Số (ADC - Analog-to-Digital Converter) để số hóa các tín hiệu này. Sau khi có được giá trị số, vi điều khiển sẽ đóng gói dữ liệu này vào một khung truyền dữ liệu và gửi nó qua UART đến máy tính. Máy tính nhận chuỗi byte này, giải mã chúng để khôi phục lại giá trị đo lường ban đầu. Quá trình này cho phép xây dựng các hệ thống giám sát và thu thập dữ liệu mạnh mẽ. Tài liệu gốc đã trình bày một thí nghiệm cụ thể, trong đó một tín hiệu điện áp tương tự được số hóa bởi ADC 0804, sau đó vi điều khiển AVR đọc và gửi dữ liệu này đến PC để vẽ biểu đồ dạng sóng theo thời gian.

4.1. Nguyên lý chuyển đổi tín hiệu tương tự sang số ADC

Bộ chuyển đổi ADC lấy một tín hiệu điện áp tương tự ở đầu vào và chuyển đổi nó thành một giá trị số nhị phân. Độ phân giải của ADC (ví dụ: 8-bit, 10-bit, 12-bit) quyết định độ chính xác của phép đo. Một ADC 8-bit có thể biểu diễn tín hiệu đầu vào bằng 2^8 = 256 mức khác nhau. Tín hiệu sau khi được số hóa sẽ sẵn sàng để xử lý bởi vi điều khiển. Quá trình này là bước đầu tiên và quan trọng nhất trong chuỗi thu thập dữ liệu từ môi trường vật lý.

4.2. Xây dựng giao thức truyền thông đơn giản cho dữ liệu ADC

Để truyền dữ liệu ADC một cách đáng tin cậy, cần xác định một giao thức truyền thông đơn giản. Giao thức này có thể chỉ đơn giản là gửi giá trị ADC dưới dạng một byte duy nhất (nếu là ADC 8-bit) hoặc hai byte (nếu độ phân giải cao hơn). Để tăng độ tin cậy, có thể thêm các byte bắt đầu và kết thúc gói tin, hoặc một byte kiểm tra tổng (checksum) để bên nhận có thể xác minh tính toàn vẹn của dữ liệu. Việc định nghĩa một giao thức rõ ràng là chìa khóa để đảm bảo hệ thống hoạt động ổn định và có thể mở rộng trong tương lai.

V. Ứng dụng thực tiễn Giao tiếp song công full duplex

Truyền thông song công (full-duplex) là khả năng truyền và nhận dữ liệu đồng thời. Hầu hết các chuẩn truyền thông nối tiếp như RS232 đều hỗ trợ chế độ này nhờ có các đường truyền (TxD) và nhận (RxD) riêng biệt. Khả năng này cực kỳ quan trọng trong các ứng dụng điều khiển và giám sát tương tác. Ví dụ, một máy tính có thể liên tục gửi các lệnh điều khiển đến một robot (qua đường TxD), trong khi robot đó cũng liên tục gửi về trạng thái hoạt động và dữ liệu cảm biến (qua đường RxD). Điều này cho phép hệ thống phản ứng nhanh và cập nhật thông tin theo thời gian thực. Để lập trình một hệ thống song công hiệu quả, cả hai phía (máy tính và vi điều khiển) cần được thiết kế để xử lý việc đọc và ghi dữ liệu một cách độc lập, thường thông qua cơ chế ngắt (interrupts) trên vi điều khiển và đa luồng (multi-threading) hoặc các hoạt động I/O không đồng bộ trên máy tính. Thí nghiệm về truyền dữ liệu song công trong tài liệu gốc đã minh họa rõ ràng khả năng này, tạo nền tảng cho các ứng dụng phức tạp hơn.

5.1. Thiết lập kênh truyền và nhận độc lập trên chuẩn RS232

Trên phần cứng, chế độ song công được kích hoạt bằng cách kết nối chân TxD của thiết bị này với chân RxD của thiết bị kia, và ngược lại. Điều này tạo ra hai kênh truyền thông một chiều, độc lập. Không cần cấu hình đặc biệt nào khác về mặt vật lý. Thách thức nằm ở phần mềm, phải có khả năng lắng nghe dữ liệu đến trên cổng nhận trong khi vẫn có thể gửi dữ liệu đi bất cứ lúc nào trên cổng truyền.

5.2. Lập trình xử lý truyền không đồng bộ trên PC và MCU

Trên vi điều khiển (MCU), cách tiếp cận tốt nhất là sử dụng ngắt UART. Một ngắt sẽ được kích hoạt mỗi khi có một byte dữ liệu mới được nhận, cho phép chương trình chính thực hiện các tác vụ khác mà không cần liên tục kiểm tra cổng nhận. Trên PC, các API hiện đại cho phép thực hiện các thao tác đọc truyền không đồng bộ. Chương trình có thể yêu cầu đọc dữ liệu và đăng ký một hàm gọi lại (callback) sẽ được thực thi khi dữ liệu đến, hoặc sử dụng các luồng riêng biệt để xử lý việc đọc và ghi. Cách tiếp cận này đảm bảo giao diện người dùng không bị "đóng băng" trong khi chờ dữ liệu.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

04/10/2025
Xây dựng một số phương thức truyền dữ liệu theo chuẩn truyền thống nối tiếp

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

CHƯƠNG 1. TỔNG QUAN VỀ TRUYỀN THÔNG NỐI TIẾP 1.1 Tổng quan về truyền thông nối tiếp theo chuẩn RS 232 1.1 Khái niệm về truyền thông nối tiếp a. Truyền thông nối tiếp Khái niệm về truyền thông nối tiếp: Truyền thông nối tiếp khi truyền dữ liệu sẽ được tách thành từng bit và được truyền nối tiếp nhau qua một đường truyền duy nhất từ máy tính đến vi điều khiển và vi điều khiển đến máy tính. Truyền thông nối tiếp truyền dữ liệu theo hai phương pháp truyền đồng bộ và không đồng bộ.

Truyền dữ liệu đồng bộ là khi bộ truyền và bộ thu được đồng bộ hóa qua một đường tín hiệu bên ngoài. Truyền không đồng bộ là chỉ cần một đường truyền cho cả một quá trình.1 Truyền nối tiếp giữa hai máy tính b. Cấu trúc của một cổng truyền thông nối tiếp Cổng nối tiếp dùng để truyền dữ liệu theo hai chiều giữa máy tính và các thiết bị ngoại vi. Các thiết bị ghép nối được chia làm hai loại: DTE (Data Terminal Equipment) và DCE (Data Communication Equipment).

DCE là các thiết bị trung gian như momem còn DTE là các thiết bị tiếp nhận hay truyền dữ liệu như máy tính, PLC, vi điều khiển…Việc trao đổi tín hiệu thông thường qua hai chân RxD (nhận) và TxD (truyền). Các tín hiệu còn lại có chức năng hỗ trợ thiết lập điều khiển quá trình truyền, được gọi là các tín hiệu bắt tay (handshake). Ưu điểm của quá trình truyền dùng tín hiệu bắt tay là có thể kiểm soát đường truyền. Lê Minh Đức SVTH: Nguyễn Quyết Tiến c.

Các phương thức truyền trong truyền thông nối tiếp Truyền đơn công (simplex) chỉ truyền được trên một hướng duy nhất trên một đường truyền xác định.2 Kênh truyền dữ liệu song công Kênh truyền bán song công (half duplex) có 2 hướng truyền dữ liệu riêng biệt cho phép dữ liệu truyền nhận theo 2 hướng cùng lúc.3 Kênh truyền dữ liệu bán song công Kênh truyền nối tiếp song công (full duplex) có hai hướng truyền dữ liệu riêng biệt, một đường truyền và một đường nhận, cho phép truyền dữ liệu theo hai hướng cùng lúc.4 Kênh truyền dữ liệu song công d. Tốc độ truyền dữ liệu trong truyền thông nối tiếp Tốc độ truyền dữ liệu trong truyền thông dữ liệu nối tiếp được gọi là bit trong giây bps (bit per second). Ngoài ra, còn được sử dụng một thuật ngữ rộng rãi nữa là tốc độ baud. Tuy nhiên, các tốc baud và bps là hoàn toàn không bằng nhau.

Điều này là do tốc baud là thuật ngữ của modem và được định nghĩa như là sô lần thay đổi của tín hiệu trong một giây. Trong các modem có những trường hợp khi một sự thay đổi 6 GVHD: ThS. Lê Minh Đức SVTH: Nguyễn Quyết Tiến của tín hiệu thì nó truyền vài bit dữ liệu. Nhưng đối với một dây dẫn thì tốc độ baud và bps là như nhau nên trong cuốn sách này chúng ta có thể dùng thay đổi các thuật ngữ này cho nhau.2 Truyền thông nối tiếp theo chuẩn RS232 a.

Tổng quan chuẩn RS232 Để cho phép tương thích giữa các thiết bị truyền thông dữ liệu được sản xuất bởi các hãng khác nhau thì một chuẩn giao diện được gọi là RS232 đã được thiết lập bởi hiệp hội công nghiệp điện tử EIA vào năm 1960. Ngày nay RS232 là chuẩn giao diện I/O vào/ra nối tiếp được sử dụng rộng rãi nhất. Có hai phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngắn gọn là chuẩn RS232.

Cổng RS232 trên máy tính Hầu hết máy tính ngày nay đều được trang bị ít nhất một cổng COM hay cổng nối tiếp RS232. Trong đó có hai loại đầu nối sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) loại 25 chân (DB25). Ta xét sơ đồ cổng COM 9 chân: Hình 1.5 Sơ đồ cổng COM 9 chân Chức năng của các chân như sau: - Chân 1 Data Canrrer Detect (DCD), phát tín hiệu mang dữ liệu. - Chân 2 Receive Data (RxD): Nhận dữ liệu.

- Chân 3 Transmit Data (TxD): Truyền dữ liệu. - Chân 4 Data Termial Ready (DTR): Đầu cuối dữ liệu sẵn sàng kích hoạt bởi bộ phận khi muốn truyền dữ liệu. Lê Minh Đức SVTH: Nguyễn Quyết Tiến - Chân 5 Singal Ground (SG): Mass của tín hiệu. - Chân 6 Data Set Ready (DSR): Dữ liệu sẵn sàng được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu.

- Chân 7 Request To Send: Yêu cầu gửi bộ truyền đạt này lên mức hoạt động khi sẵn sàng truyền dữ liệu. - Chân 8 Clear To Send (CTS): Xóa để gửi bộ nhận đạt được này lên mức kích hoạt để thông báo cho bộ truyền này là nó sẵn sàng nhận tín hiệu. - Chân 9 Ring Indication (RI): Chuông báo cho biết là bộ nhận đang nhận tín hiệu rung chuông. Quá trình truyền dữ liệu trên RS232 Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ.

Do vậy tại mỗi thời điểm chỉ truyền được một bit. Tốc độ truyền nhận dữ liệu qua cổng nối tiếp RS232 được gọi là tốc độ bit. Tốc độ bit được định nghĩa là tốc độ được truyền trong thời gian một giây. Ngoài tốc độ bit thì còn tốc độ Baud, đây là một tham số đặc trưng của RS232.3 Sự phát triển của truyền thông nối tiếp Để tương thích giữa các thiết bị truyền thông của các hãng sản xuất khác nhau thì một loại chuẩn giao diện được gọi là RS232 được thiết lập bởi hiệp hội công nghiệp điện tử (EIA) năm 1960.

Năm 1963 nó được chỉnh sửa và được gọi là RS232A và vào các năm 1965 và 1969 thì được đổi thành RS232B và RS232C. Ở đây chúng ta đơn giản chỉ nói đến RS232. Ngày nay RS232 là chuẩn giao diện I/O vào/ra nối tiếp được sử dụng rộng rãi nhất. Do chuẩn truyền thông nối tiếp RS232 ra đời từ lâu nên cũng tồn tại nhiều hạn chế nên hiệp hội công nghiệp điện tử (EIA) cho ra mắt thêm các chuẩn như: RS449, RS22A…Để khắc phục nhược điểm của chuẩn RS232.

Năm 1983, Hiệp hội công nghiệp điện tử (EIA) đã phê duyệt một tiêu chuẩn truyền cân bằng mới gọi là RS-485. Đây coi như là bản nâng cấp của RS232 với nhiều tính năng vượt trội, có nhiều chức năng và truyền được xa hơn. - Một số cổng truyền thông khác Ngoài sử dụng chuẩn RS232 còn sử dụng một số cổng như RS485, RS422, USB… 8 GVHD: ThS. Lê Minh Đức SVTH: Nguyễn Quyết Tiến Hình 1.6 Hình ảnh thực tế giao diện RS485 1.4 Ứng dụng của truyền thông nối tiếp Truyền dữ liệu với máy tính và vi điều khiển, từ vi điều khiển đến máy tính.

Hiện thị trực tiếp người sử dụng, các thông số từ vi điều khiển trên màn hình máy tính mà không cần thiết bị ngoại vi khác như LCD hay LED 7 thanh. Tận dụng giao diện đồ họa của máy tính để chúng ta thiết kế các ứng dụng phần mềm thân thiện, xuất bản vẽ, báo cáo, đồ thị… Truyền thông nối tiếp có thể sử dụng tín hiệu qua lại giữa các thiết bị có hỗ trợ giao thức RS232. Được ứng trong khoa học kỹ thuật, bao gồm đo lường, giám sát, điều khiển tự động, lưu chuyển dữ liệu trong các nhà máy xí nghiệp… Hình 1.7 Ứng dụng của truyền thông nối tiếp với các thiết bị trong nhà 1.2 Các phương thức truyền dữ liệu trong truyền thông nối tiếp Nói đến các phương thức truyền dữ liệu trong truyền thông nối tiếp thì có rất nhiều phương thức truyền. Sau đây em xin trình bày bốn phương thức truyền nối tiếp.

- Phương pháp điều khiển luồng dữ liệu ra 9 GVHD: ThS. Lê Minh Đức SVTH: Nguyễn Quyết Tiến - Phương pháp chuyển đổi tín hiệu tương tự sang số - Phương pháp chuyển đổi tín hiệu song công - Phương pháp điều khiển cổng dữ liệu ra 1.1 Phương pháp điều khiển luồng dữ liệu ra Điều khiển lưu lượng được áp dụng khi dữ liệu được truyền từ thiết bị đầu cuối (DTE) sang một trung tâm chuyển mạch nào đấy, hoặc truyền thông giữa hai thiết bị DTE với nhau. Tần số truyền tin phải được khống chế vì yêu cầu của mạng lưới hoặc thiết bị truyền tin. Điều khiển luồng dữ liệu có thể áp dụng biệt lập trên mỗi chiều tín hiệu, cho phép tần số truyền tin trên mỗi chiều khác nhau.

Phương thức điều khiển luồng dữ liệu có hai cách, hoặc là dùng chế độ “ngưng và truyền” hoặc dùng hình thức cửa sổ di động. Điều khiển luồng dữ liệu được thực hiện thông qua các đường điều khiển trong chuẩn truyền thông nối tiếp RS-232 nhằm báo hiệu cho luồng dữ liệu bắt đầu hoặc ngừng lại. Các đường điều khiển thông dụng của RS-232 bao gồm: RTS (Request To Send – Máy địa phương sẵn sàng nhận dữ liệu, yêu cầu gửi dữ liệu sang).2 Phương pháp điều khiển chuyển đổi tín hiệu tương tự sang số ADC Tín hiệu trong thế giới thực thường ở dạng tương tự (Analog), nên mạch điều khiển thu thập dữ liệu từ đối tượng điều khiển về (thông qua các cảm biến) cũng ở dạng tương tự. Trong khi đó, bộ điều khiển ngày nay thường là các µP, µC xử lý dữ liệu ở dạng số (Digital).

Vì vậy, cần phải chuyển đổi tín hiệu ở dạng tương tự thành tín hiệu ở dạng số thông qua bộ biến đổi AD. Giải pháp thường dùng để đưa tín hiệu tương tự vào để xử lý bằng các bộ xử lý số là dùng bộ chuyển đổi tín hiệu tương tự sang số (Analog-To-Digital converter - ADC). Đầu vào cho bộ này là hai tín hiệu: Một 10 GVHD: ThS. Lê Minh Đức SVTH: Nguyễn Quyết Tiến tín hiệu tham chiếu (reference) và tín hiệu cần chuyển đổi.

Nó có một đầu ra biểu diễn một từ mã dạng số 8 bit. Có rất nhiều phương thức biến đổi A/D khác nhau: - Bộ biến đổi AD theo hàm dốc - Bộ biến đổi AD theo hàm dốc - Tích phân sườn dốc - Flash ADC 1.3 Phương pháp điều khiển dữ liệu song công Kênh truyền nối tiếp song công (full duplex) có hai hướng truyền dữ liệu riêng biệt, một đường truyền và một đường nhận, cho phép truyền dữ liệu theo hai hướng cùng lúc. Có hai phương pháp truyền dẫn song công cơ bản đó là: TDD (Time Division Duplex), FDD (Frequency Division Duplex) a. Phương pháp FDD - Tần số đường lên và đường xuống khác nhau - Trong mỗi đường, tín hiệu được phát liên tục - Đường xuống và đường lên có khoảng bảo vệ về tần số gọi là khoảng cách song công b.

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