You are on page 1of 6

Can:

http://nguyenquanicd.blogspot.com/2017/06/cancontroller-area-netwwork-cau-truc-va.html

http://www.thietbidiencantho.vn/tin-tuc/mang-can-controller-area-network.html

http://www.ytuongnhanh.vn/chi-tiet/giao-tiep-can-172.html

Dung để các bộ phận trong xe hơi giao tiếp với nhau.

Các bộ phần có thể vừa là master vừa là slave.

C ác bit 0 va 1 là dựa trên s ự chenh lech vi die nap giua 2 day tin hieu CAN HI va CAN LO.

Khi truyen la can co:

+ ID: DC thang nhan(dc nay la do minh tu dat chu khong phai ID co dinh phan cung nhu I2C). Chieu dai
ID co the la la 11 bit hay 29 bit

+ DLC: Chieu dai data toi da la 8 buyte

+ Data truyen, max la 8buyte

+ Stop

có khả năng truyền 40 mét tại tốc điiộ 1Mb / s.


Tren he thong can tat ca thiet bi ket noi la mot box xu ly trung tam. Co the tu thiet lap dc id. Co the gui
toi cac tram khac va nhan thong tin tu cac tram khac.

=======================================================================

Mot thang trong he thong muon truyen luc nao cung duoc, mien sao co du // send data: id =
0x00, standrad frame, data len = 8, stmp: data buf

CAN.sendMsgBuf(0x00, 0, 8, stmp);

Va muon nhan luc nao cung duoc mien sao co data dang duoc gui tren he
thong la duoc, va khi nhan thuong no se kiem tra uhm data nhan nay co phai
cua Id ma minh muon nhan khong, phai thi nhan khong thi bo qua

if(CAN_MSGAVAIL == CAN.checkReceive()) // check if data coming


{
CAN.readMsgBuf(&len, buf); // read data, len: data length,
buf: data buf

unsigned long canId = CAN.getCanId();


Serial.println("-----------------------------");
Serial.print("Get data from ID: 0x");
Serial.println(canId, HEX);

for(int i = 0; i<len; i++) // print the data


{
Serial.print(buf[i], HEX);
Serial.print("\t");
}
Serial.println();
}
}

====================================================

TRuyen:

// send packet: id is 11 bits, packet can contain up to 8 bytes of data


Serial.print("Sending packet ... ");

CAN.beginPacket(0x12);
CAN.write('h');
CAN.write('e');
CAN.write('l');
CAN.write('l');
CAN.write('o');
CAN.endPacket();

Serial.println("done");

delay(1000);

// send extended packet: id is 29 bits, packet can contain up to 8 bytes


of data
Serial.print("Sending extended packet ... ");

CAN.beginExtendedPacket(0xabcdef);
CAN.write('w');
CAN.write('o');
CAN.write('r');
CAN.write('l');
CAN.write('d');
CAN.endPacket();

Serial.println("done");

delay(1000);
I2C:

He thong nay thi cac co 1 thang chu va nhieu thaang slave.

Dung de giao tiep tu vdk voi cac phan cung xung quanh, nhu 1 vdk dieu khien va lay thong tin tu cac
slave (cam bien nhietj do, cam bien gia toc….) thong qua dia chi duoc set cung cho moi slave.

https://www.youtube.com/watch?v=6IAkYpmA1DQ

https://www.youtube.com/watch?v=6IAkYpmA1DQ

You might also like