PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp cổng COM và LPT

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-02-2009, 01:18 PM   #1
binhdt04
Đệ tử 2 túi
 
Tham gia ngày: Mar 2007
Bài gửi: 43
:
ôi trời bạn nói tôi không hiểu ji2 hết
Muc tiêu của tôi là CRC +sửa sai
bạn lại toàn đề cập vấn đề ji đó(toàn hệ thống )
hệ thống của tôi hoạc động khá ổn định kể cả trong môi truơng nhiểu khá lớn .Nhưng hiện tại tôi vẩn chưa dùng CRC + sủa sai mà vẩn hoạt động khá OK chạy khoản 2 ngày lể liên tuc mới phát hiện ra lổi nhưng (các lổi data do nhiễu môi trường tạm thời tôi truyền lại)cái tôi muốn nhờ các bạn chỉ giúp chổ sửa sai data do nhiểu môi trường=>> nhưng một lổi thôi củng đủ gây thiệt hại khá lớn nếu tôi bất chấp lổi đó mà process data.



giả sử tôi cần truyền 8 byte {255,255,255,255,255,255,255,255}
nhưng do nhiểu loti nhận đuợc là {255,255,255,255,255,255,254,255}]
làm sao tôi có thể sữa sai cái byte thứ 6 đó mà không cần truyền lại sau khi đã phát hiện ra lổi(vì tôi đã có crc trước đó )

tôi không cần biết nó có làm chậm MCU hay không hay chiếm băng thông đường truyền nhiều hơn khi frame truyền tăng kích thước ........hay ji2 ji di nửa các thứ đó tôi có thể giải quyết được cái tôi quan tâm số một là data va data nhận được từ reciever phải
>=99,99% giồng với từ sender

các bạn có code hay dãy thuật gì tư vấn giúp tôi.!

thay đổi nội dung bởi: binhdt04, 16-02-2009 lúc 01:26 PM.
binhdt04 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-02-2009, 04:38 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi binhdt04 View Post
...

tôi không cần biết nó có làm chậm MCU hay không hay chiếm băng thông đường truyền nhiều hơn khi frame truyền tăng kích thước ........hay ji2 ji di nửa các thứ đó tôi có thể giải quyết được cái tôi quan tâm số một là data va data nhận được từ reciever phải
>=99,99% giồng với từ sender

các bạn có code hay dãy thuật gì tư vấn giúp tôi.!
CRC là mã phát hiện sai sót (error-detection code), tùy vào chiều dài thông điệp của bạn mà việc khôi phục dữ liệu khi có sai sót là dễ dàng hay khó khăn. Thông điệp chỉ có 1 byte dữ liệu và 1 byte CRC chắc chắn có thể giúp bạn khôi phục dữ liệu, còn nếu phần dữ liệu có nhiều hơn 1 byte thì sẽ rất khó khăn trong việc khôi phục dữ liệu.

Giải thuật đơn giản nhất cho việc sửa sai là tự động lặp lại thông điệp:
- Đầu thu tính toán CRC của thông điệp và so sánh với CRC đã nhận được
- Nếu kết quả không khớp thì đầu thu sẽ không xác nhận dữ liệu hợp lệ
- Đầu phát sẽ tự động truyền lại thông điệp đó nếu không nhận được xác nhận dữ liệu hợp lệ

Vì bạn cho biết hệ thống có xác suất lỗi khá thấp, tôi cho rằng giải thuật trên khá phù hợp với trường hợp của bạn.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-02-2009, 04:47 PM   #3
thientaisodo
Đệ tử 4 túi
 
Tham gia ngày: Dec 2008
Nơi Cư Ngụ: Hà Tĩnh - Hà Nội
Bài gửi: 61
:
Send a message via Yahoo to thientaisodo
Mình cũng đang nghiên cứu truyền số liệu trong môi trường rất nhiễu và đường truyền dài. Nếu như phát hiện lỗi mà truyền lại cả gói thì những ứng dụng cần realtime sẽ không thực sự hiệu quả. Mình có tìm hiểu một số cách, có cách rất hay đó là truyền mỗi gói 9 byte, gồm 8 byte dữ liệu (mỗi byte dữ liệu có bit thứ 9 kiểm tra chẵn lẽ), và thêm một byte thứ 9 để kiểm tra các bit hàng dọc trong 8 byte đó (cứ tưởng tượng sắp xếp các bit trong gói đó như một ma trận 9x9). Như vậy có thể sửa lỗi cho gói dữ liệu rất tốt và không phải gửi lại toàn bộ nếu như mất một số thông tin trong gói đó.

Theo mình nghĩ cách đó code cũng không khó và hiệu quả đúng không ?!

thay đổi nội dung bởi: thientaisodo, 18-02-2009 lúc 10:06 AM.
thientaisodo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 12:42 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam