PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp USB, CAN, I2C, SPI, USART... (http://www.picvietnam.com/forum/forumdisplay.php?f=45)
-   -   Truyền nhận dữ liệu thời gian thực trong CAN (http://www.picvietnam.com/forum/showthread.php?t=31428)

truongvanquan 09-12-2012 06:36 PM

Truyền nhận dữ liệu thời gian thực trong CAN
 
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.


Múi giờ GMT. Hiện tại là 02:01 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam