Ðề tài: Giao tiếp CAN
View Single Post
Old 09-04-2008, 09:43 PM   #14
scentoflove
Đệ tử 6 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 129
:
Hiện giờ mình đang làm 1 đề tài như vầy PC - 232 - Master - CAN - >10 Nodes.
Master cũng là 1 node nhưng có nhiệm vụ nối với PC qua 232 để nhận lệnh và truyền lại trên mạng CAN.
Node sử dụng dsPIC30f4012.
Mạng CAN sử dụng extended Identifier (2 9bits) với 8bit MSB là địa chỉ node và 8 bit sau là lệnh (0x01xx - 0x02xx - ... - 0x0Axx với xx là lệnh)
Ví du:
PC cần gửi 1 lệnh 0x20 xuống node 5 => Extended identifier mà Master sẽ truyền là 0x0520
Vấn đề của mình hiện giờ là có 10 nodes và khỏan 5 lệnh từ PC truyền xuống làm sao để chỉ node cần nhận lệnh nhận và xữ lý, các node còn lại sẽ bỏ qua ko xữ lý. Module CAN trên 4012 có 2 bộ đệm nhận RB0 (2 Filter), RB4 (4 Filter). Mình biết đc cách mask và filter làm việc để đọc 1 gói tin trên CAN nhưng làm thế nào để biết dc Filter nào sẽ nhận gói tin. Hay là set mask 0 và 1 giống nhau, filter 0 - 5 giống nhau và phù hợp với identifier mà node cần nhận.
scentoflove vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn