PDA

View Full Version : Truyền nhận dữ liệu thời gian thực trong CAN


truongvanquan
09-12-2012, 06:36 PM
Chào các anh, chị.

- E mới làm quen về CAN.
- E đã xem bài viết về CAN ở: http://www.picvietnam.com/forum/showthread.php?t=1804
- E đã xem qua "2.2. Truyền nhận dữ liệu thời gian thực" và một số trang web nói về CAN nhưng e có thắc mắc ở chỗ này:
Khi có nhiều message cùng phát trên CAN-bus: thì message nào có ID được ưu tiên cao hơn thì được truyền trước.
Vậy bây giờ có 2 message cùng 1 ID, cùng RTR, ... chỉ khác ở trường Data thì:
- có xảy ra lỗi ko?
- Nếu có lỗi thì giải quyết thế nào?

Các anh, chị giúp e với nhé.
Thank.

truongvanquan
09-12-2012, 06:58 PM
À, tìm ra rùi. :D

- Có lỗi xảy ra. và đó lỗi bit.
- Khi cùng 1 thời gian, 2 node cùng truyền 1 ID và RTR,.. chỉ khác ở một trường nào đó: data/control/...-> một trong 2 node sẽ phát hiện lỗi bit -> phát khung Error Frame -> các Receive sẽ không nhận message đó -> sau đó 1 trong 2 node sẽ tiếp tục tìm cách gửi lại message cũ hoặc không. (tùy vào thiết lập trong pic)
- Nếu 2 node cùng phát 1 ID nhưng khác RTR -> 1 message là Remote Frame, 1 message là Data Frame -> message Data Frame sẽ đươc ưu tiên.