Giao tiếp CAN
1 Attachment(s)
Vừa mới làm bài báo cáo về CAN. post lên đây cho mọi người đọc.
Phần CAN trong PIC hơi sơ sài, các bạn đọc thêm trong datasheet. Trong báo cáo ko đủ. Hi vọng các bạn đọc và bổ sung để làm tài liệu về CAN phong phú thêm. CAN(MCU) v.s LAN(CPU) ??? :D |
Bài báo cáo của bạn rất hay, cho hỏi bạn có thể cho F xin bản .doc, để F chuyển lại thành dạng báo cáo chuẩn của picvietnam và đưa vào kho lưu trữ của picvietnam được không?
Việc copy lại và chuyển dạng không khó, nhưng nó không chính thức, mình thấy bài báo cáo này bạn làm rất là chi tiết, nên muốn chuyển thành tài liệu của picvietnam. Nếu được xin bạn gửi email cho mình tài liệu .doc. Ngoài ra, theo nguyên tắc phổ biến của picvietnam, tất cả các tài liệu của picvietnam sẽ được phổ biến ở dạng .pdf, chứ không đưa tài liệu .doc lên mạng, để hạn chế việc cóp pết mà không đọc gì. Còn có đọc, có cóp thì có tốt. Nếu đưa vào picvietnam, thì nó sẽ chính thức là tài liệu được công nhận của picvietnam. Chúc vui. |
Em sẽ gửi cho anh bản .doc để chuyển thể qua form của picvietnam.
Các bạn đổi dòng code sau đây trong file EX_CAN.c : int1 tx_rtr=0; //nut gui message dữ liệu; int1 tx_ext=1; // Dung ID mo rong và nạp vào 2 con PIC có hỗ trợ CAN sẽ thấy nó truyền nhận cho nhau. Từ đó có thể lập trình cho các ứng dụng khác. Cái này thì tùy các bạn. Chúc các bạn thành công và tham gia phát triển (tài liệu & ứng dụng) mạng CAN vì đây là một mạng mạnh : đường truyền vi sai kháng nhiễu (giống USB), message được định địa chỉ ID chứ không phải các nút, ai muốn truyền thì truyền, nhận hay không là tùy mình (ko có master, slave giống I2C), nên rất dễ trao đổi dữ liệu... |
Đã nhận được tài liệu em gửi, anh sẽ chuyển dạng lại thành báo cáo chuẩn của picvietnam và gửi lên chính luồng này.
Chúc vui |
1 Attachment(s)
Thành thực khuyên các bạn cố gắng viết các tài liệu sử dụng form chuẩn của picvietnam.
1) Có rất nhiều điều thuận lợi khi sử dụng form này 2) Bản thân khi các bạn viết báo cáo, hoặc viết bất kỳ tài liệu gì, việc đánh dấu, hệ thống, tổng hợp, in ấn,... đều rất thuận lợi. Sáng nay lên sửa cái báo cáo của TDA, sửa mất 2 tiếng đồng hồ luôn, và kết quả của nó ở đây :D Hãy download và sử dụng, nó hoàn toàn có lợi. Chúc vui |
AI biet chi dum
Mình đang tham gia tìm hiểu giao tiếp mạng CAN thế nhưng đang gặp vấn đề về linh kiện.
Mình không tìm ở đâu ra được con MCP 2551 và MCP 2515 cả. Các bạn có biết ở đâu có con này không chỉ giúp mình với Thank! Trích:
|
bài báo rất hay và chi tiết. Cảm ơn tác giả TDA rất nhiều.
|
Cho em hỏi các con pic nào hỗ trợ giao tiếp CAN, có trong thư viện của Proteus không ? Khi kết nối PIC với bus CAN thì kết nối trực tiếp hay qua con đệm nào khác?
|
Pic18fxx8 Và Can
Mình thấy tài liệu về CAN cũng khá nhiều nhưng chưa tìm được file nào giới thiệu cụ thể về sơ đồ mạch dùng pic 18fXX8 để thực hiện truyền thông CAN, và code cho một ví dụ cụ thể dùng pic 18fxx8 cho truyền thông CAN.
Các bạn ai đã làm hay có tài liệu mong chia sẻ cho mình và mọi người cùng xem với. |
Đọc datasheet của PIC đi, có hết rồi, cả sơ đồ nguyên lý nữa.
|
Mình muốn có thêm code viết bằng C nhiều nhiều để tham khảo thêm, vì datasheet mình có chỉ viết bằng hợp ngữ thôi.Trong ví dụ của CCS cũng có ví dụ về CAN rồi. Nếu bạn có thêm ví dụ nào nữa gởi cho mình và mọi người với nhen. Cảm ơn nhiều.
|
1 Attachment(s)
Ngày trước mình dùng mạch này test thử mạng CAN, viết bằng CCS!
Bạn thử làm rồi truyền giữa 2 mạch xem. Code CCS mình ko giữ nữa vì toàn để ở My Documents, cài lại win xóa hết rồi :( |
Chú ý là trong thư viện của CCS có sai mấy thanh ghi :D
Ko biết bây giờ họ đã sửa chưa, ngày trước mình phải ngồi sửa thư viện nó mới chạy được! |
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. |
em đã làm theo mấy cái ví dụ trong CCS nhưng sao ko thấy tín hiệu mạng zì hết. Làm sao biết là đã truyền thành công, ví dụ ở master có gửi nhưng slave lại bị lổi ko hiểu. ai có cách giúp em với
|
Module CAN trên PIC có mode Loopback, mode này cho phép gửi và nhận CAN message ngay trong PIC ko cần ngoại vi bên ngoài.
Bạn có thể lập trình hoàn chỉnh và chọn mode loopback sau đó dùng 1 ngoại vi khác đã kiểm tra ví dụ khi nhấn 1 button nào đó PIC send 1 message với nội dung bạn biết trước, sau đó kiểm tra nếu buffer nhận của CAN nhận đúng message với nội dung đó thi sáng 1 led (hoặc cũng có thể dùng UART để xem lại dữ liệu nhận từ CAN). Lưu ý cần chỉnh CAN chế độ accept all, MASK & FILTER = 0, sau khi test ok thì sau này có thể chỉnh lại MASK và FILTER cho phù hợp. Nếu bạn chạy loopback ok thì có thể nạp trên 2 chip khác nhau để test, vấn đề còn lại là kết nối với CAN transformer. |
tui cũng đang nghiên cứu giao tiêp can.ai có thông tin gi thêm share với anh em nhé
|
Em cũng đang làm nghiên cứu về vấn đề về CAN , Em đang học CNTT-Mạng MÁy tính.
Tính dự định làm đồ án tốt nghiệp về Lập trình mạng CAN. Khó quá đi, bước phải bắt đầu làm gì đây. Mong các anh chị giúp em với(Hồi nhỏ mê cái vụ này lắm!!:)Hiii) |
can tai lieu ve giao thuc can ( tieng viet)
to can tai lieu giao thuc can tieng viet qua _ ai co cho to di ! email la thevinhbk3i@gmail.com . thanks
|
SOS- Giúp Tìm Hieu CAN
Chào Bạn.
Mình cũng đang làm về CAN. nhung chua hiểu về Nó lắm. Có Ai biet chỉ giúp với. Tình hình là thầy chỉ Em dung con MCP2551( vì chỉ có con này BÁn ở cỗ mình thôi). Nhưng dùng Con này thì phải dùng với 1 Con PIC nưa. Nhung mình ko hoc lap trình PIC, Vậy cho hoi Mình có thẻ dùng Ket Hop MCP2551 với AVR (ATmega32) dược ko???. HAy có coa mạch ứng dụng con MCP2552 thì cho mình với. Thanks nhều. |
Trích:
|
Trích:
|
Hoi ve CAN
Cac Pac!, Pa MOD oi!
Cho đệ tử hỏi, nếu không có con MCP2515, để lamàm nhiệm vụ kết nối MCP2551với MCU bất kì thì mình có thể chế ra, hay dùng con nào khác, hay còn cách nào khác để làm chức năng tương tự để thay thế MCP2515khoong ạ! Vì em kiếm mua con MCP2515 không có, em ở Sai Gòn. Cảm ơn mấy Pác nhiều! |
Hoi ve CAN
Cac Pac!, Pa MOD oi!
Cho đệ tử hỏi, nếu không có con MCP2515, để lamàm nhiệm vụ kết nối MCP2551với MCU bất kì thì mình có thể chế ra, hay dùng con nào khác, hay còn cách nào khác để làm chức năng tương tự để thay thế MCP2515khoong ạ! Vì em kiếm mua con MCP2515 không có, em ở Sai Gòn. Cảm ơn mấy Pác nhiều! |
AVR cũng có dòng hỗ trợ can bus, sao bạn không dùng luôn. Con MCP2551 là con CAN tranceiver chỉ đóng vai trò convert tín hiệu số từ bộ CAN controller tích hợp sẵn trong các vđk.....
vđk (có CAN controller) -> MCP2551 -> mạng CAN vđk (có SPI) -> MCP2515 -> mạng CAN |
Trích:
Còn AVR có tích hợp can như: AT90CAN128/32/64 thì không có bán ở VN. huhu. Vấn dề là thế. |
có bác nào biết vdk AVR nào có tích hợp CAN ko? chỉ dùm em với?
|
lập trình CAN
Trích:
|
http://www.microchip.com/stellent/id...GE&nodeId=1408
microchip đã cung cấp rất nhiều code mẫu cho nó và thậm chí chính xác cái bạn đang cần luôn. từ sau bạn chịu khó dùng google cái là ok liền :d |
http://www.microchip.com/stellent/id...GE&nodeId=1408
microchip đã cung cấp rất nhiều code mẫu cho nó và thậm chí chính xác cái bạn đang cần luôn. từ sau bạn chịu khó dùng google cái là ok liền :d |
Trong tài liệu của bạn Tạ Đức Anh có đoạn :
"Mạng CAN thuộc loại message base syst em, khác với address base system, mỗi loại message được gán một ID. Nhữ ng hệ thống address base thì mỗi nod e được gán cho một ID. Message base system có tính mở hơn vì khi thêm, bớt một node hay thay một nhóm node bằng một node phức tạp hơn không làm ảnh hưởng đến cả hệ thống. Có thể có vài node nhận message và cùn g thực hiện một task. Hệ thống đ iều khiển phân bố dựa trên mạng CAN có tính mở, dễ dàng thay đổi mà không cần phải thiết kế lại toàn bộ hệ thống." Mình thấy khi tạo ra 1 node CAN thì cũng cần tạo ID cho node đó, ID trong message là ID của node có phải không? Mong nhận được chỉ giáo của anh em. |
Múi giờ GMT. Hiện tại là 09:37 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam