Test Truyền Nhận Dữ Liệu Qua Rs232, Giao Tiếp Rs232 Là Gì

Vấn đề truyền dữ liệu giữa thiết bị và máy tính ( PC ) hay từ PC xuống thiết bị là một khâu khá quan trọng trong khi phong cách thiết kế mạng lưới hệ thống .Bạn đang xem : Test truyền nhận dữ liệu qua rs232

Đa phần các thiết bị được thiết kế ra đều phải được giao tiếp với máy tính thông thường được giao tiếp qua cổng RS232 hay gọi là Com. Nhiều thiết bị quy định chuẩn tốc độ truyền 19200kps và đi theo phần mền giao diện trên máy tính chuyên dùng cho thiết bị đó. Mục đích giao tiếp trên máy tính là giúp chúng ta kiểm soát được thông số hoạt động của thiết bị trên máy tính và điều khiển được thiết bị thông qua máy tính.Trong bài viết này tôi muốn hướng dẫn mọi người về cách thức truyền dữ liệu lên PC và truyền ngược lại. Đây là một bài test khá đơn giản trên Psoc giúp các bạn hình dung được quá trình truyền nhận dữ liệu như thế nào?Đây là một bài test khá là đơn giản truyền nhiệt độ môi trường lên máy tính và truyền kí tự bàn phím từ máy tính xuống LCD. Thông qua phần mềm giao diện có sẵn Terminal V1.9. Đây là phần mền test RS232 khá thông dụng và tiện lợi1) Điều kiện cần biết để làm được bài test+ Các bạn cần phải biết về chuẩn giao tiếp RS232 nó như thế nào? Các thức truyền nhận dữ liệu ra sao? Những thông số quan trọng của chuẩn RS232? Mạch giao tiếp giữa chuẩn RS232 và Vi xử lý. Các bạn có thể đọc qua bài viết này :Chuẩn RS232+ Cách tính tốc độ truyền giữa PC và vi xử lý? Tốc độ truyền giữa vi xử lý và PC phải là đồng bộ với nhau? Xem trên máy tính của bạn thì cổng RS232 hỗ trợ những tốc độ truyền nào rồi sau đó tính cho vi xử lý+ Phần mền giao diện trên máy tính? Tức là phần mền để quan sát thông số của thiết bị khi kết nối với RS232. Phần mền này có sẵn hoặc lập trình được cũng rất đơn giảnCác bạn khi làm bài test này cần phải nắm vững và có những vấn đề trên thì sẽ rất đơn giản khi làm bài test này. Như vậy các bài truyền thông qua RS232 cũng sẽ rất đơn giản.2) Sơ đồ mạch truyền thông qua RS232Bài để tôi test là bài truyền nhiệt độ môi trường lên máy tính và truyền kí tự bàn phím từ máy xuống vi xử lý hiện thị lên LCD. Nên sơ đồ mạch biendt vẽ sẽ ứng dụng luôn cho bài này.

*3) Cách truyền nhận và thông số thông qua chuẩn RS232Như chúng ta đã biết chuẩn RS232 chỉ kết nối tối đa 2 thiết bị tức là chỉ có MCU và PC thôi không như các bus truyền khác mà một Master có thể kết nối với nhiều slave như I2C, Profilbus… Khoảng cách truyền khá là khiêm tốn max là 25m (theo như tôi biết) nếu mà đường truyền tốt thì nó lên tới 32m. Trong công nghiệp người ta không dùng chuẩn truyền thông này mà người ta dùng chuẩn RS485 hay các bus truyền khác phổ biến là Profilebusa) Các thông số quan trọng trong chuẩn RS232Trong chuẩn truyền thông nào cũng vậy nó cũng có tham số đặc trưng cho quá trình truyền nhận dữ liệu. Các tham số này ảnh hưởng tới quá trình truyền dữ liệu, tốc độ truyền, lỗi đường truyền …Đây là sơ đồ ghép nối giữa PSoc và máy tính trải qua truyền thông online tiếp nối đuôi nhau RS232. + PSoc CY8C29466 là vi giải quyết và xử lý hay bộ giải quyết và xử lý TT dùng để giải quyết và xử lý tín hiệu và truyền lên máy tình và nhận dữ liệu từ máy tính. + LCD 16 * 2 dùng để hiện thị kí tự bàn phím từ máy tính xuống vi giải quyết và xử lý + Lm35 cảm ứng đo nhiệt độ + Max232 là IC tiếp xúc giữa vi giải quyết và xử lý và máy tính. Thông qua cổng DB9 của máy tính tức là cổng tiếp nối đuôi nhau. Hầu hết tiếp xúc với máy tính và MCU đều trải qua con IC này do tại : đây là IC chạy không thay đổi và được sử dụng thông dụng. Nó không đắt, mà còn phân phối được 2 kênh truyền cho RS232. Dòng truyền tín hiệu được phong cách thiết kế cho chuẩn RS232 và chuẩn tiếp xúc V. 28. Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng tĩnh điện 15 kV. Nó còn được phong cách thiết kế với nguồn + 5V ( tương thích với nguồn phân phối MCU ). Ở đây Max232 tạo tín hiệu đồng nhất giữa máy tính và MCUĐầu ra và nguồn vào của Max232 được nối tương ứng với đầu ra và nguồn vào của MCU như trên hình vẽ ! Như tất cả chúng ta đã biết chuẩn RS232 chỉ liên kết tối đa 2 thiết bị tức là chỉ có MCU và PC thôi không như những bus truyền khác mà một Master hoàn toàn có thể liên kết với nhiều slave như I2C, Profilbus … Khoảng cách truyền khá là nhã nhặn max là 25 m ( theo như tôi biết ) nếu mà đường truyền tốt thì nó lên tới 32 m. Trong công nghiệp người ta không dùng chuẩn truyền thông online này mà người ta dùng chuẩn RS485 hay những bus truyền khác thông dụng là ProfilebusTrong chuẩn truyền thông online nào cũng vậy nó cũng có tham số đặc trưng cho quy trình truyền nhận dữ liệu. Các tham số này ảnh hưởng tác động tới quy trình truyền dữ liệu, vận tốc truyền, lỗi đường truyền …

Xem thêm: Hướng Dẫn Cách Khóa Icloud Khi Bị Mất Iphone Bị Mất Nhanh Nhất 2019

* Tốc độ Baudây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit)Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud. Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhấtMột số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200* Bit chẵn lẻ hay Parity bitĐây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong quá trình truyền. Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ.Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit “1” được gửi trong một khung truyền là chẵn hay lẻ.* Bắt tay (Hand-shaking): Việc truyền dữ liệu có thể tiến hành theo 3 cách: không có bắt tay, bắt tay bằng phần cứng và bắt tay bằng phần mềm.b) Quá trình truyền dữ liệuTruyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự).Bộ truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp theo. Bit này luôn bắt đầu bằng mức 0..Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng – bit stop có thể là 1, 1,5 hay 2 bit dừng.Ví dụ như thế này : Muốn truyền kí tự là số 1 lên máy tính và máy tính hiểu được đó là số 1 mà bạn truyền lên thì bạn phải chuyển số 1 này thành mã ACSII sau đó mới truyền lên máy tính thông qua RS232. Ngược lại cũng như vậy nếu muốn truyền kí tự 1 từ máy tính xuống MCU thì kí tự này cũng phải được mã hóa thành mã ACSII và MCU nhận được kí tự này ở dạng mã ACSII4) Truyền nhận dữ liệu trong PSoc qua chuẩn RS232Psoc cũng như các dòng vi xử lý khác cũng có module UART trong nên do đó ta có thể sử dụng luôn module này. Còn việc truyền nhận thế này phải tuân theo chuẩn RS232. Các bước để truyền nhận được dữ liệu trong Psoc thông qua RS232 phải qua các bước cơ bản sau :a) Tính các tham số cho chuẩn RS232 trong PSoc+ Tính tốc độ truyền dữ liệu (Baud rate). Trong PSoc cần tính tốc độ truyền của module Uatral sao cho đồng bộ với tốc độ truyền của cổng Com trên máy tính. Cái này các bạn xem cổng Com của các bạn hỗ trợ những tốc độ truyền nào. Thông thường là các tốc độ truyền chuẩn 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200Nếu mà tốc độ truyền 2 bên mà không đồng bộ với nhau đồng nghĩa dữ liệu không truyền qua nhau được. Trong Psoc muốn tính được tốc độ Baud rate chính xác người ta phải dùng thêm một bộ chia tần số đầu vào (Module counter) cho Uart.* ây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quy trình truyền dữ liệu qua cổng tiếp nối đuôi nhau RS232 là vận tốc truyền nhận dữ liệu hay còn gọi là vận tốc bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời hạn 1 giây hay số bit truyền được trong thời hạn 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có vận tốc như nhau ( Tốc độ giữa vi tinh chỉnh và điều khiển và máy tính phải chung nhau 1 vận tốc truyền bit ) Ngoài vận tốc bit còn một tham số để diễn đạt vận tốc truyền là vận tốc Baud. Tốc độ Baud tương quan đến vận tốc mà thành phần mã hóa dữ liệu được sử dụng để miêu tả bit được truyền còn tôc độ bit thì phản ánh vận tốc thực tiễn mà những bit được truyền. Vì một thành phần báo hiệu sự mã hóa một bit nên khi đó hai vận tốc bit và vận tốc baud là phải đồng nhấtMột số vận tốc Baud thường dùng : 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng vận tốc là 19200 Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quy trình kiểm tra lỗi khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa 1 số ít lỗi trong quy trình truyền. Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ. Một bit chẵn lẻ được bổ trợ vào dữ liệu được truyền để ch thấy số lượng những bit ” 1 ” được gửi trong một khung truyền là chẵn hay lẻ. Việc truyền dữ liệu hoàn toàn có thể triển khai theo 3 cách : không có bắt tay, bắt tay bằng phần cứng và bắt tay bằng ứng dụng. Truyền dữ liệu qua cổng tiếp nối đuôi nhau RS232 được thực thi không đồng nhất. Do vậy nên tại một thời gian chỉ có một bit được truyền ( 1 kí tự ). Bộ truyền gửi một bit khởi đầu ( bit start ) để thông tin cho bộ phân biệt một kí tự sẽ được gửi đến trong lần truyền bit tiếp theo. Bit này luôn khởi đầu bằng mức 0 .. Tiếp theo đó là những bit dữ liệu ( bits data ) được gửi dưới dạng mã ASCII ( hoàn toàn có thể là 5,6,7 hay 8 bit dữ liệu ) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không ) và sau cuối là bit dừng – bit stop hoàn toàn có thể là 1, 1,5 hay 2 bit dừng. Ví dụ như thế này : Muốn truyền kí tự là số 1 lên máy tính và máy tính hiểu được đó là số 1 mà bạn truyền lên thì bạn phải chuyển số 1 này thành mã ACSII sau đó mới truyền lên máy tính trải qua RS232. Ngược lại cũng như vậy nếu muốn truyền kí tự 1 từ máy tính xuống MCU thì kí tự này cũng phải được mã hóa thành mã ACSII và MCU nhận được kí tự này ở dạng mã ACSIIPsoc cũng như những dòng vi giải quyết và xử lý khác cũng có module UART trong nên do đó ta hoàn toàn có thể sử dụng luôn module này. Còn việc truyền nhận thế này phải tuân theo chuẩn RS232. Các bước để truyền nhận được dữ liệu trong Psoc trải qua RS232 phải qua những bước cơ bản sau : + Tính vận tốc truyền dữ liệu ( Baud rate ). Trong PSoc cần tính vận tốc truyền của module Uatral sao cho đồng nhất với vận tốc truyền của cổng Com trên máy tính. Cái này những bạn xem cổng Com của những bạn tương hỗ những vận tốc truyền nào. Thông thường là những vận tốc truyền chuẩn 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200N ếu mà vận tốc truyền 2 bên mà không đồng điệu với nhau đồng nghĩa dữ liệu không truyền qua nhau được. Trong Psoc muốn tính được vận tốc Baud rate đúng mực người ta phải dùng thêm một bộ chia tần số nguồn vào ( Module counter ) cho Uart. Nếu dùng thêm bộ counter thì công thức tính tốc độ chuẩn như sau :

Baud rate = clock vào counter / ( giá tri thanh ghi counter+1)*8

Đối với dòng vi giải quyết và xử lý khác như Pic chả hạn thì cũng tựa như như những tính trên + Thiết lập những thông số kỹ thuật như Data bit, Parity bit, Hand-shaking. Cái này được thiết lập trên phần mền giao diện. Thông thường thiết lập như sau : Databits = 8, Parity bit = none, Stop-bit = 1, Hand-shaking = noneb ) Cách truyền nhận dữ liệu trong Psoc trải qua chuẩn RS232Cũng như những dòng vi giải quyết và xử lý nào cũng vậy cũng phân phối cho tất cả chúng ta 4 thanh ghi cơ bản để truyền nhận dữ liệu trải qua chuẩn RS232. Nhưng do trong Psoc đã tối ưu thành hàm nên ta sử dụng những hàm luôn. + Hàm truyền dữ liệu : có dạng UART_1_PutChar ( kí tự truyền ) ; Hàm này dùng để truyền 1 kí tự lên máy tính và kí tự truyền phải ở dạng ACSii. ví dụ : UART_1_PutChar ( 1 + ” 0 ” ) ; / / truyền kí tự 1 lên máy tính + Hàm báo hiệu đã truyền xong : UART_1_bReadTxStatus ( ) Khi đã truyền xong kí tự thì có một cờ báo hiệu đã truyền xong. Hàm này dùng để chờ cho đến khi nào kí tự truyền xong mới phát kí tự tiếp theo. ví dụ : while ( ! ( UART_1_bReadTxStatus ( ) và 0x10 ) ) ; / / cho cho đến khi kí tự truyền xong + Hàm nhận kí tự : UART_1_bReadRxData ( ). Đây là hàm nhận kí tự truyền xuống từ máy tính. Hàm này cũng mang 1 kí tự truyền từ máy tính truyền xuống. ví dụ : y = UART_1_bReadRxData ( ) ; / / gán kí tự truyền xuống vào biến y + Hàm chờ kí tự truyền xuống : UART_1_bReadRxStatus ( ). Đây là cờ báo hiệu khi có kí tự truyền xuống từ PC. ví dụ : if ( ( UART_1_bReadRxStatus ( ) và UART_1_RX_REG_FULL ) ! = 0 ) / / kiểm tra xem có kí tự truyền xuống khôngNgoài ra trong psoc còn rất nhiều hàm ngắn gọn và sử dụng rất đơn thuần mọi người hoàn toàn có thể tìm hiểu thêm trong thư viện của nó. Kí tự truyền được hiện thị lên LCD tương ứng với kí tự bàn phím máy tính :*5) Phần mền giao tiếp trên máy tínhMuốn nhận biết được kí tự truyền lên và truyền kí tự truyền xuống thì cần phải phần mền giao diện giữa máy tính và RS232. Hiện này có rất nhiều các làm việc này là dùng cái có sẵn và tự lập trình+ Dùng cái có sẵn : Hiện tại trên Windows cũng hỗ trợ công cụ truyền nhận dữ liệu thông qua RS232 đó là Hyper Terminal. Các bạn vào Start/All Program/Accessories/communations/Hyper Terminal/ để lấy nó ra. Hay dùng phần mền được lập trình sẵn dùng cho các bài toàn kiểm tra truyền nhận dữ liệu thông qua RS232 đó là phần mền Terminal có trên hoiquandientu.com.+ Tự lập trình : Nếu mà tự lập trình thì phần mền giao diện sẽ theo cách xử lý của bạn. Cái này được lập trình trên hai công cụ thường dùng là Visual Basic hay Delphi. Hai công cụ này giúp ta lập trình được giao diện qua cổng Com.Muốn nhận ra được kí tự truyền lên và truyền kí tự truyền xuống thì cần phải phần mền giao diện giữa máy tính và RS232. Hiện này có rất nhiều những thao tác này là dùng cái có sẵn và tự lập trình + Dùng cái có sẵn : Hiện tại trên Windows cũng tương hỗ công cụ truyền nhận dữ liệu trải qua RS232 đó là Hyper Terminal. Các bạn vào Start / All Program / Accessories / communations / Hyper Terminal / để lấy nó ra. Hay dùng phần mền được lập trình sẵn dùng cho những bài toàn kiểm tra truyền nhận dữ liệu trải qua RS232 đó là phần mền Terminal có trên hoiquandientu.com. + Tự lập trình : Nếu mà tự lập trình thì phần mền giao diện sẽ theo cách giải quyết và xử lý của bạn. Cái này được lập trình trên hai công cụ thường dùng là Visual Basic hay Delphi. Hai công cụ này giúp ta lập trình được giao diện qua cổng Com .

Bạn có đam mê ngành thiết kế vi mạch và bạn muốn có mức lương 1000 usd cùng lúc bạn

Test Truyền Nhận Dữ Liệu Qua Rs232, Giao Tiếp Rs232 Là Gì

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay