|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
|
Ðiều Chỉnh | Xếp Bài |
09-12-2012, 06:36 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Oct 2010
Bài gửi: 3
: |
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. thay đổi nội dung bởi: truongvanquan, 09-12-2012 lúc 06:43 PM. |
09-12-2012, 06:58 PM | #2 |
Nhập môn đệ tử
Tham gia ngày: Oct 2010
Bài gửi: 3
: |
À, tìm ra rùi.
- 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. thay đổi nội dung bởi: truongvanquan, 09-12-2012 lúc 07:05 PM. |
|
|