PDA

View Full Version : Giao tiếp CAN


falleaf
11-12-2007, 10:37 PM
1. Giới thiệu:


2. Những vấn đề cơ bản của CAN:

2.1. Nguyên lý truyền nhận của mạng CAN

http://www.specifications.nl/can/canimages/broadcast.gif

2.2. Truyền nhận dữ liệu thời gian thực

http://www.specifications.nl/can/canimages/arbitration.gif

2.3. Massage frame format

http://www.specifications.nl/can/canimages/identifier.png


3. Sử dụng PIC/dsPIC/PIC32 giao tiếp CAN:


4. Những linh kiện Microchip phục vụ giao tiếp CAN:


Chúc vui

Tài liệu tham khảo:
[1] Trang chủ BOSCH: http://www.semiconductors.bosch.de/en/20/can/index.asp
[2] Từ điển CAN: tài liệu hỗ trợ người mới học để hiểu các từ vựng dùng trong giao tiếp CAN
[3] Tài liệu hướng dẫn của Tạ Đức Anh: http://www.picvietnam.com/forum/showthread.php?t=814
[4] Giới thiệu về giao tiếp CAN rất căn bản: http://www.specifications.nl/can/overview/can_UK_overview.php
[5] Slide giới thiệu về giao tiếp CAN của digikey: http://dkc1.digikey.com/us/en/tod/Microchip/dsPIC30F_SerialCommCAN/Serial_Communications_using_the_dsPIC30F_CAN.swf
[6] Silde giới thiệu mạng CAN của National Instruments: http://www.ni.com/swf/presentation/us/can/
[7] Slide giới thiệu mạng CAN của Hoàng Thị Vân Anh - Trần Tiến Trung (Tin học công nghiêp PFIEV K48 Hà Nội)

XuanXuan
12-12-2007, 09:16 PM
Hì! Cái này cũng được! Đã test trên PIC18F458, chạy ngon!

HaiAu2005
30-08-2009, 11:03 PM
Không có ai tiếp tục chủ đề về CANbus này nữa à? Sản phẩm CANBus dùng trong công nghiệp còn khá đắt...

Liệu B&P của Falleaf có làm được giao tiếp CANbus modules không?

Hiện nay đang có xu thế dùng trộn lẫn các loại data buses (CANbus/CANOpen/Device Net, Modbus, Fieldbus, Profibus v.v...) vào cùng một hệ thống đều được cả > Nghĩa là có thể tìm được giải pháp tổng hợp khi có đủ các loại data buses khác nhau. Tôi nghĩ xu thế này sẽ tiếp tục phát triển trong những thập niên tới. Xét ra thì cũng không có gì là không làm được vì mỗi hãng đều muốn phát triển sản phẩm theo hướng của mình và đều muốn "độc quyền", trong khi đó dù có độc quyền nhưng vẫn theo một chuẩn nào đó chẳng hạn thì vẫn có thể kết nối sản phẩm của hãng này với hãng khác. Việc kết nối này lại do một hãng thứ ba chuyên sản xuất các loại hubs & routers... thiên hạ là vậy, dựa vào nhau mà sống!

Hải Âu

greenfield
08-09-2009, 08:09 AM
Dạo này trên diễn đàn chúng ta không ai bàn về mạng CAN tiếp sao em đang nghiên cứu vè cái này mà không có ai để trao đổi cả.

falleaf
08-09-2009, 11:23 AM
Không có ai tiếp tục chủ đề về CANbus này nữa à? Sản phẩm CANBus dùng trong công nghiệp còn khá đắt...

Liệu B&P của Falleaf có làm được giao tiếp CANbus modules không?

Hiện nay đang có xu thế dùng trộn lẫn các loại data buses (CANbus/CANOpen/Device Net, Modbus, Fieldbus, Profibus v.v...) vào cùng một hệ thống đều được cả > Nghĩa là có thể tìm được giải pháp tổng hợp khi có đủ các loại data buses khác nhau. Tôi nghĩ xu thế này sẽ tiếp tục phát triển trong những thập niên tới. Xét ra thì cũng không có gì là không làm được vì mỗi hãng đều muốn phát triển sản phẩm theo hướng của mình và đều muốn "độc quyền", trong khi đó dù có độc quyền nhưng vẫn theo một chuẩn nào đó chẳng hạn thì vẫn có thể kết nối sản phẩm của hãng này với hãng khác. Việc kết nối này lại do một hãng thứ ba chuyên sản xuất các loại hubs & routers... thiên hạ là vậy, dựa vào nhau mà sống!

Hải Âu

CAN đã được làm từ rất lâu và hiện nay các khách hàng của R&P đang phát triển nhiều sản phẩm trên mạng CAN rồi.

Về vấn đề tổng hợp các chuẩn, các hãng đã thực hiện từ rất lâu, nhưng nhu cầu này chưa xuất hiện nhiều ở VN. Sử dụng CAN thường dùng trong oto, thang máy, nhà thông minh,... Hiện R&P chưa có khách hàng sử dụng nó trong oto, có lẽ mảng thị trường này R&P còn yếu, đang thâm nhập dần, nhưng các mảng khác đã có khách hàng phát triển và ứng dụng.

Hy vọng là nếu anh muốn ứng dụng nó trong tàu thủy, thì anh cần có một bài toán cụ thể. Nếu nói "làm được không" thì hiển nhiên là làm được và làm được lâu rồi. Vấn đề là anh ứng dụng nó vào cái gì, và trong điều kiện như thế nào, anh cần nó ở mức độ như thế nào.

Em thấy hiện nay anh đang trao đổi về khá nhiều chuẩn: Ethernet, USB, CAN, RS485,... có lẽ lúc này anh đang muốn tìm ra một "chuẩn" nào đó để phát triển.

Microchip mạnh ở các mảng Ethernet, USB, CAN, còn RS485 thì MCHP không làm driver chip, vì các chip này TI mạnh hơn và có truyền thống lâu đời hơn, MCHP không muốn cạnh tranh vào những thị trường quá phổ biến và khó chen chân với những cây đại thụ. Chưa biết sau này có không, nhưng hiện giờ là chưa có.

Tất cả những gì ta trao đổi ở đây đều là mức độ Physical Layer, anh yên tâm, ở VN làm được hết, vấn đề là anh muốn tự làm thì anh cần nghiên cứu các tutorial của picvietnam, nếu anh cần đặt hàng cái này, chỉ cần hô một tiếng có hàng trăm người làm được cái này cho anh. "Không nên nghi ngờ về năng lực thiết kế ở VN".

Lưu ý, luồng này em viết từ năm 2007, tới tận 2009 anh mới hỏi "có làm được không", thì có vẻ là hơi "quá muộn".

Chúc vui

falleaf
08-09-2009, 11:25 AM
Dạo này trên diễn đàn chúng ta không ai bàn về mạng CAN tiếp sao em đang nghiên cứu vè cái này mà không có ai để trao đổi cả.

Hiện nay cái này đã thương mại nhiều rồi, nên chắc ít người bàn về nó nữa, cũng giống như một thời trao đổi mạnh về I2C, SPI, giờ lại hết trao đổi. Nhưng có lẽ, sau một thời gian, các luồng bị lắng xuống, thì người ta sẽ lại trao đổi lại, đặc biệt khi nó quá phổ biến và phổ biến tới tận sinh viên.

Chúc vui.

hopeman
08-09-2009, 06:55 PM
nếu bạn nào mới làm quen với CAN trên dsPic thì có thể vào đây xem :

http://www.picvietnam.com/forum/showthread.php?t=3524

HaiAu2005
08-09-2009, 10:05 PM
Falleaf suy luận lung tung! Tôi hỏi là R&P có làm được CANbus modules hay không chứ tôi đâu có nghi ngờ gì khả năng thiết kế v.v... Ví dụ tôi (không biết tý gì về CAN cả) cần một bộ giao tiếp CAN lập trình bằng Visual Studio, và một CAN I/O module để điều khiển một hệ thống có sensor cấp tín hiệu 4-20mA và actuator nhận tín hiệu dòng 4-20mA chẳng hạn -> Mục đích để cho sinh viên thực hành => Bao gồm cả phần cứng và phần mềm cùng hướng dẫn sử dụng (lập trình) => Ước tính giá bao nhiêu?

Hải Âu

thienthanhomenh
09-09-2009, 11:38 PM
Bạn nói ro hon được không
Can bus bạn muốn có là can bú chuãn công nghiệp (phù hợp khi lắp vào hoat dộng cùng các thiết bị khác của các hản trên thế giới hay chỉ dơn thuần là giao tiếp canbus co thể lập trình bằng máy tính nếu bạn nói không rõ tôi nghi không ai có thễ trả lòi bạn duoc .

HaiAu2005
10-09-2009, 11:59 AM
Tôi nghĩ là đã là CANBus hoạt động theo cùng một chuẩn nào đó thì sẽ dùng với các thiệ bị hỗ trợ CANbus của nhiều hãng khác được. Nếu không phải CANbus chuẩn vậy thì chắc giá cả sẽ khác.

HA

dangluong
12-09-2009, 12:36 AM
Hiện nay mình cũng đang làm về Can sử dụng FPGA kết nối với Pic mà chưa có hướng nào cả nên bạn nào đã lam về can rồi có thể chia sẻ kinh nghiệm cho mình với
thanks

ngoducbinh1987
12-09-2009, 11:41 PM
cho em hoi giao tiep "CAN huong doi tuong" nghia la sao.CAN khong giong nhu cac chuan khac la cac doi tuong deu co IP rieng con CAN giao tiep theo phuong thuc nao.Sach cua thay Son co noi nhung ma e chua hieu lam

falleaf
13-09-2009, 02:00 AM
Falleaf suy luận lung tung! Tôi hỏi là R&P có làm được CANbus modules hay không chứ tôi đâu có nghi ngờ gì khả năng thiết kế v.v... Ví dụ tôi (không biết tý gì về CAN cả) cần một bộ giao tiếp CAN lập trình bằng Visual Studio, và một CAN I/O module để điều khiển một hệ thống có sensor cấp tín hiệu 4-20mA và actuator nhận tín hiệu dòng 4-20mA chẳng hạn -> Mục đích để cho sinh viên thực hành => Bao gồm cả phần cứng và phần mềm cùng hướng dẫn sử dụng (lập trình) => Ước tính giá bao nhiêu?

Hải Âu

Như em có nói:

1) Setup một dự án ở VN, anh cần khoảng 500$. Nếu ít hơn khoản này, anh có thể nhờ dân amateur hoặc sinh viên làm.

2) Không thể tính chi phí như anh đi mua các sản phẩm có sẵn hàng loạt. Một khi anh đặt hàng, anh sẽ có source code các kiểu, yêu cầu đặc biệt,...

3) Anh cần có yêu cầu cụ thể, nếu cần, những việc "mua/bán" này, anh nên trao đổi qua email của em (như dưới chữ ký). Cá nhân em vì vừa làm admin lại vừa làm thương mại, nên không muốn nhập nhằng giữa hai việc này, trên diễn đàn em hạn chế trao đổi các vấn đề thương mại.

Chúc vui

falleaf
13-09-2009, 02:02 AM
cho em hoi giao tiep "CAN huong doi tuong" nghia la sao.CAN khong giong nhu cac chuan khac la cac doi tuong deu co IP rieng con CAN giao tiep theo phuong thuc nao.Sach cua thay Son co noi nhung ma e chua hieu lam

Em viết lại bài có dấu tiếng Việt, "có lẽ" sẽ có người trả lời em vấn đề này.

Chúc vui

falleaf
13-09-2009, 02:08 AM
Hiện nay mình cũng đang làm về Can sử dụng FPGA kết nối với Pic mà chưa có hướng nào cả nên bạn nào đã lam về can rồi có thể chia sẻ kinh nghiệm cho mình với
thanks

Đọc bài đầu tiên của luồng này để download các tài liệu cần thiết.

Chúc vui

greenfield
17-09-2009, 09:56 AM
Bác F ơi nếu mình muốn làm mô hình về mạng CAN thì có thể làm như thế nào? Bác có thể giúp em định hướng không?

huulinh_bkauto
17-09-2009, 09:54 PM
Bác F ơi nếu mình muốn làm mô hình về mạng CAN thì có thể làm như thế nào? Bác có thể giúp em định hướng không?
Em cũng đang làm cái đó tháy phần cứng thi có nhiều nhưng cái khó là ở chương trình. mô phỏng thi có thể dùng protue,nhưng thấy trong thư viện của protue còn thiết một số con MCP xxx.Đến đây phải nhờ đến các bác tiền bối chỉ dẫn về lập trình cho mạng CAN này.Mong các tiền bối giúp đỡ

HaiAu2005
19-09-2009, 01:40 AM
Nếu ứng dụng PIC (làm thật chắc tốt hơn làm mô phỏng bằng Proteus?) thì tham khảo thử trang web sau: http://www.mikroe.com/, trong đó có Special Offers -> CAN Communication Kit:

http://www.mikroe.com/en/offer/pic/can/

Giá bộ này thì hơi đắt chút. Tôi nghĩ có thể tìm cách làm bộ giao tiếp CAN tương tự nhưng rẻ hơn ở VN bằng cách kiếm một bộ phát triển PIC và mua thêm hai CANSPI boards: http://www.mikroe.com/en/tools/can2/ (21 USD một bộ) chắc là ổn - hoặc tự chế bộ giao tiếp CAN dùng MCPxxx. Download chương trình ví dụ của họ tại http://www.mikroe.com/zip/canspi_examples_v100.zip về ngâm cứu chắc là làm được.

Thiên Minh ở SG http://www.tme.com.vn/ có bảng phát triển PIC rất giống EasyPIC của mikroe.com nên tôi nghĩ là nếu không tự chế bảng phát triển PIC được thì mua bảng phát triển PIC của Thiên Minh và mua CAN board của Microe (nếu tự chế thì tham khảo sơ đồ: http://www.mikroe.com/pdf/can2_board_schematic.pdf) chắc là ổn.

Cứ đến gõ cửa R&P của Falleaf xin hỗ trợ thế nào cũng ổn đó:-))

HA

ngoducbinh1987
08-10-2009, 11:13 PM
các bác à,cho em hoi 1 xiu . con MCP2515 có phải chức năng gần giống max232 không. Nghĩa là nó chỉ có việc chuyển dổi điện áp ra mức chuẩn giao tiep. còn MCP2551 thì chức năng gần giống MPC2515 nhưng nó tích hợp cả module Can để dùng cho pic không có module săn bên trong(16f877 chẳng hạn).E hỉu vậy có đúng kô thế
em đang làm CAN dùng 18f458,e cũng mới chỉ làm theo ex trong ccs thoi.chưa cho chạy trên mạch đc vì chưa mua dc pic và MCP

phamminhtuan
09-10-2009, 09:26 AM
các bác à,cho em hoi 1 xiu . con MCP2515 có phải chức năng gần giống max232 không. Nghĩa là nó chỉ có việc chuyển dổi điện áp ra mức chuẩn giao tiep. còn MCP2551 thì chức năng gần giống MPC2515 nhưng nó tích hợp cả module Can để dùng cho pic không có module săn bên trong(16f877 chẳng hạn).E hỉu vậy có đúng kô thế
em đang làm CAN dùng 18f458,e cũng mới chỉ làm theo ex trong ccs thoi.chưa cho chạy trên mạch đc vì chưa mua dc pic và MCP

Bạn xem qua file này có thể hiểu hơn: http://www.microchip.com/stellent/groups/picmicro_sg/documents/devicedoc/en021962.pdf

Trong này: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2676 có một số AppNote về CAN có thể giúp ích cho bạn nào muốn làm về CAN

thevinhbk3i
17-10-2009, 07:45 PM
chào các bác ! tớ đang làm đồ án môn học thcn về giao thức can ! tớ phải làm thế nào ! bác nào có tài liệu chỉ giùm tớ với ! đạy tớ cak học thế nào nữa nhá ! thanks

falleaf
26-10-2009, 01:39 PM
RP đang tiếp tục phát triển CANOpen, có thể port qua dsPIC30F4011 để phát triển các ứng dụng dễ dàng hơn trên nền dsPIC.

Các ứng dụng của CAN có thể kể như:
- Truyền dữ liệu trong xe Oto
- Điều khiển hoạt động thang máy
- Nhà thông minh
...

CANOpen Stack của Microchip, cung cấp đầy đủ source code để phát triển cho PIC18. Hiện RP đang hướng tới việc mở rộng cho dsPIC (cũng dễ thôi, nhưng sẽ cần có thời gian).

MCHP cũng đồng thời có các sản phẩm liên quan tới CAN như các con chip I/O sử dụng CAN.

www.microchip.com/can

Chúc vui

HaiAu2005
27-10-2009, 06:00 AM
Một bài báo hay về ứng dụng của CAN/CANOpen "A failure tolerant CANopen system for marine automation systems", có thể đọc toàn bài ở link sau:

http://www.canopensolutions.com/english/articles/ar_2_e.shtml

HA

ngoducbinh1987
28-10-2009, 11:02 PM
em vừa làm xong đề tài về CAN.post lên cho mọi người xem.Đề tài của em là : pic1 đo nhiệt độ bằng LM355, pic2 nhận và hiển thị lên LCD

ngoducbinh1987
28-10-2009, 11:04 PM
quên mất ko gửi file dinh kem

ngoducbinh1987
28-10-2009, 11:08 PM
http://rapidshare.com/files/299141670/code_de_tai_vdk.doc.html
http://rapidshare.com/files/299142043/IMG_0019.JPG.html
http://rapidshare.com/files/299142212/IMG_0027.JPG.html
xloi,e không bit up lên diễn đàn.anh em xem tạm

roi
08-11-2009, 12:43 AM
Em chưa biết thực tế mạng CAN trong công nghiệp "khủng khiếp" cỡ nào và nếu sử dụng những ứng dụng đơn giản thì có cần thiết phải đi mua những kit có sẵn hay không? Vì em đã ứng dụng CAN trong luận văn của mình, sơ đồ cực kì đơn giản với mỗi con MCCP2551 cho 1 PIC18 / dsPIC kết nối với các chân CANH - CANL, code thì chỉ cần sửa 1 ít trong code mẫu của chương trình C hỗ trợ.
Em xin đính chính một bác trong diễn đàn bảo trong mạng CAN IP cho mỗi con là không đúng, phải là IP cho mỗi message.
Không thấy ai bàn luận về CAN trên các diễn đàn ( kể cả picvietnam ), không biết ít người dùng hay những ai làm được thì đêù giữ riêng cho mình nhỉ?

greenfield
08-11-2009, 03:37 PM
Bác ngoducbinh1987 làm nhanh quá em làm với con dsPIC mà đang lao đao đây bác ơi. viết mãi mà nó chả chịu chạy hết trơn.

harakiri
10-11-2009, 01:49 AM
Ai làm về CAN trên dsPIC rồi,có thể làm một cái tutorial về nó không. Trên diễn đàn có một tutorial về CAN rồi, nhưng không phải là cho dsPIC

roi
11-11-2009, 01:24 AM
Mình làm CAN cho dsPIC rồi, nhưng ứng dụng nhỏ thôi nên làm không đầy đủ.
Nếu không quá chú trọng đến việc xử lý trong các ngắt và lỗi, bạn có thể làm giống như trong file Help của MikroC for dsPIC, mikroC đã hỗ trợ rất tốt rồi.

ngoducbinh1987
11-11-2009, 06:27 PM
bạn roi có thể cho minh xin bản cài đặt của MikroC for dsPIC được không.Mình có mấy bản mà viết ctrinh xong nạp vào pic thì chạy không ổn định. Chẳng hạn hiện LCD thì lúc nhảy cái này, reset lại thì lại nhảy ra cái khác. Ban đầu mình định viết CAN trên dsPic nhưng dùng MikroC for dsPIC không được nên chuyển sang 18F

minhtr123
15-11-2009, 09:39 PM
http://rapidshare.com/files/299141670/code_de_tai_vdk.doc.html
http://rapidshare.com/files/299142043/IMG_0019.JPG.html
http://rapidshare.com/files/299142212/IMG_0027.JPG.html
xloi,e không bit up lên diễn đàn.anh em xem tạm

Tình hình Là Em Cũng đang nhận dề tài Về CAN, Và phải Làm 1 mạch ( Nhỏ lớn không thành vấn đề) ứng dụng để Ví dụ về CAN. Nhưng Em đang Bí, Bí từ A đến Z. Mong cac Pác giúp Em với
- Pac : NGODUCBINH và Pac ROI ơi!
- các Pác đừng cười nha, Vì là học kì Cuối, nên phải qua Đồ Án CAN này. Nhưng em mới chỉ tìm hiểu LT, chưa biết bắt đầu LÀm Mạch từ đâu. Em chỉ mới mua Con MCP2551 thôi. Và chưa biết làm gì với Nó( Nói thật Em Ko ranh Về CAN lắm)
- Em Thấy Pac ROI và NGODUCBINH da làm rồi ( Nhưng tài liệu PAC đưa đã bị died rôi, ko down được). Pác có thể Share cho em ko ạ. Nhất là cái sơ đồ mạch.
- Đây là Nick Yahoo cua em: minhtri.light@yahoo.com.vn ( các pác giúp Em với, add nick cua em nha)

roi
15-11-2009, 10:57 PM
Mình không upload file lên đc, các bạn vui lòng chờ mình ít thời gian nhé.

minhtr123
16-11-2009, 06:48 PM
Mình không upload file lên đc, các bạn vui lòng chờ mình ít thời gian nhé.

Bạn cho mình Nick Yahoo được không! Hay add nick mình giúp đi: minhtri.light@yahoo.com.vn để sau này còn Cảm ơn nữa.hiiiiiiiiii

minhtr123
29-11-2009, 10:58 AM
Sao tơi đay hết thấy mọi người bàn luận nữa rồi.
Có ai biết Ở Sài Gòn nơi nào bán con MCP2515 không??
Mình Mua ở Thiên Minh chỉ có MCP2551 thôi.
Muốn Dùng 1 MCU khác ngoài PIC cis tích hợp CAN thì phải có MCP2515. Nhung gio ko có thì lam sao đây??
Chắc Kì này tiêu rồi.!!
Xin tài liệu thì mấy Pác Trốn đâu mất rồi!

tahi
30-11-2009, 11:07 AM
mcp 2551 theo em nghĩ chỉ là con vi sai. Khi gửi tín hiệu đi thì nó tùy vào đường RXD là mức cao hay mức thấp để điều khiển sai khác lối ra CANL và CANH (2 trạng thái dominant và recessive)
con này dùng 5v mà thằng dsPIC hay dùng 3v3. vậy kết nối trực tiếp MCP2551 và dsPIC33f liệu có vấn đề gì không ?
Làm thế nào để test CAN bus. Em nối chân TX và RX vào nhau (không dùng mcp2551 có được không?) Có thiết bị nào thu nhận can bus chuẩn (để test thằng mình đang phát triển) mà rẻ không ?

26091987
03-12-2009, 04:58 PM
em đang làm về mạng can rất mong được các sư huynh giúp đỡ.

26091987
03-12-2009, 05:03 PM
em gặp vấn đề ở chỗ truyền dữ liệu. địa chỉ mail của em là
phuongthengoc0987@yahoo.com

ngoducbinh1987
03-12-2009, 09:05 PM
xin lỗi bạn minhtr123.Minh đang thi nên không hay lên mạng .Minh gửi mail cho bạn rồi đấy. Minh mới làm được sơ sơ thui

dangluong
28-12-2009, 11:09 PM
Bạn ngoducbinh1987 với bác roi có thể gửi tài liệu cho em được không.Em cũng đang bắt đầu làm về Can.Thanks các bác nhiều.Địa chỉ mail cua em là dangluong_bk3i@yahoo.com

spirit2804
17-01-2010, 09:42 AM
em có câu hỏi này hơi chuối tí là tại sao trong mạng can tại mỗi node mình lại mắc 1 con trở 120ohm làm gì vậy các bác, con trở đó có tác dụng gì vậy?

tahi
21-01-2010, 04:26 PM
em có câu hỏi này hơi chuối tí là tại sao trong mạng can tại mỗi node mình lại mắc 1 con trở 120ohm làm gì vậy các bác, con trở đó có tác dụng gì vậy?

Để tạo thành mạch kín. Vì nguyên tắc phân sử xung đột của thằng CAN này là bằng cách nghe đường truyền (mức trội và lặn )và so sánh với ID mà nó phát đi,

Đơn giản là: nút A muốn truyền,ví dụ nó phát ra mức lặn (Vh-Vl = 0 v, logic 1), nhưng mà trên đường truyền có nút B đang phát ra mức trội (Vh-Vl =5v, logic 0). Thằng A thấy thế thì dừng truyền luôn....việc này thực hiện đuợc nhờ con trở đó...

dt_cn
26-01-2010, 04:29 PM
Bác Ngô đưc Bình ơi ,em đang làm đồ án về truyền thông mạng Can bác có thể gửi cho em một chút tài liệu về Can không.mấy cái link bác up lên die rồi .huhu
Em cảm ơn bác trước nha mail của em đây daothanh.k1@gmail.com

phapsvn
07-04-2010, 07:38 PM
các bác cho em hỏi về định thời bit: Bit Timing? nguyên lý,..
các bác giúp em với !

phapsvn
07-04-2010, 07:40 PM
Định thời bit:bit timing trong mạng giao tiếp CAN đó, khó hiểu quá các bác ah, giúp em với

cám ơn các bác trước nhé!

hopeman
08-04-2010, 03:14 PM
mcp 2551 theo em nghĩ chỉ là con vi sai. Khi gửi tín hiệu đi thì nó tùy vào đường RXD là mức cao hay mức thấp để điều khiển sai khác lối ra CANL và CANH (2 trạng thái dominant và recessive)
con này dùng 5v mà thằng dsPIC hay dùng 3v3. vậy kết nối trực tiếp MCP2551 và dsPIC33f liệu có vấn đề gì không ?
Làm thế nào để test CAN bus. Em nối chân TX và RX vào nhau (không dùng mcp2551 có được không?) Có thiết bị nào thu nhận can bus chuẩn (để test thằng mình đang phát triển) mà rẻ không ?

không vấn đề gì đâu bạn ạ, nếu bạn sợ nhiễu thì có thể kéo 2 chân TX va RX lên 5V bằng 2 trở 10k là ok, ds33f nhận mức logi 5v ok

quocviet233
05-05-2010, 06:48 PM
Em có viết giao thức CAN để truyền thông 2 chip pic30f4012, em viết dùng Mikroc for Dspic. chip thứ nhất em đọc tín hiệu từ cảm biến LM35, chíip thứ 2 nhận tín hiệu này qua mạng truyền thông CAN và hiển thị lên màn LCD (16x2), sau khi dich và nạp xong em không thấy có tín hiệu gì được truyền thông cả. Rất mong các anh chị giúp đỡ.
sau đây là code của 2 chíp
Chíp 1 ( nhận tín hiệu từ cảm biến LM35)
void main()
{
unsigned char temperature, data[8];
unsigned short init, send, dt, len, read;
char SJW, BRP, Phase_Seg1, Phase_Seg2, Prop_Seg, txt[4];
unsigned int temp;
unsigned long mV;
long id, mask;

TRISDbits.TRISD0=1; // PORTD0 are inputs
TRISF = 0x04; // RB2 is output, RB3 is input
//ADCON1 = 0x80;
// CAN BUS Timing Parameters
//
SJW= 1;
BRP = 1;
Phase_Seg1 = 6;
Phase_Seg2 = 7;
BRP = 1;
Prop_Seg = 6;

init = CAN_CONFIG_SAMPLE_THRICE & // Form value to be used
CAN_CONFIG_PHSEG2_PRG_ON & // with CAN1Initialize
CAN_CONFIG_XTD_MSG &
CAN_CONFIG_DBL_BUFFER_ON &
CAN_CONFIG_MATCH_MSG_TYPE &
CAN_CONFIG_LINE_FILTER_OFF;
send = CAN_TX_PRIORITY_0 & // Form value to be used
CAN_TX_XTD_FRAME & // with CAN1Write
CAN_TX_NO_RTR_FRAME;
read = 0;
//
// Initialise CAN module
//
CAN1Initialize(SJW, BRP, Phase_Seg1, Phase_Seg2, Prop_Seg, init);
//
//Set CAN CONFIG mode
//
CAN1SetOperationMode(CAN_MODE_CONFIG, 0xFF);
mask = -1;
//
//Set all MASK1 bitstol's
//
CAN1SetMask(CAN_MASK_B1, mask, CAN_CONFIG_XTD_MSG);
//
//Set all MASK2 bitstol's
//
CAN1SetMask(CAN_MASK_B2, mask, CAN_CONFIG_XTD_MSG);
//
//Set id of filter B1_F1 to 3
//
CAN1SetFilter(CAN_FILTER_B2_F3,500,CAN_CONFIG_XTD_ MSG);
//
// Set CAN module to NORMAL mode
//
CAN1SetOperationMode(CAN_MODE_NORMAL, 0xFF);

//
// Program loop. Read the temperature from analog temperature
// sensor

for(;;)

// Endless loop

{
//
//Walt until a request is received
//
dt = 0;
while(!dt) dt = CAN1Read(&id, data, &len, &read);
if(id == 500 && data[0] == 'T')
{
//
// Now read the temperature
//
temp = Adc_Read(0); // Read temp
mV = (unsigned long)temp * 5000 /1024; // in mV
temperature = mV/10; // in degrees C
//
// send the temperature to Node:Display
//
data[0] = temperature;
id = 3; // Identifier
CAN1Write(id, data, 1, send); // send temperature
}
}
}

quocviet233
05-05-2010, 06:51 PM
CHíp thứ 2 nhận tín hiệu hiển thị LCD:
void main()
{
unsigned char temperature, data[8];
unsigned short init, send, dt, len, CANread;
char SJW, BRP, Phase_Seg1, Phase_Seg2, Prop_Seg, txt[4];
long id, mask;
TRISB = 0;
TRISC = 0;
TRISF = 0x04;
SJW = 1;
BRP = 1;
Phase_Seg1 = 6;
Phase_Seg2 = 7;
Prop_Seg = 6;
init = CAN_CONFIG_SAMPLE_THRICE & // Form value to be used
CAN_CONFIG_PHSEG2_PRG_ON & // with CAN1Initialize
CAN_CONFIG_XTD_MSG &
CAN_CONFIG_DBL_BUFFER_ON &
CAN_CONFIG_MATCH_MSG_TYPE &
CAN_CONFIG_LINE_FILTER_OFF;
send = CAN_TX_PRIORITY_0 & // Form value to be used
CAN_TX_XTD_FRAME & // with CAN1Write
CAN_TX_NO_RTR_FRAME;
CAN1read = 0;
CAN1SetMask(CAN_MASK_B1, mask, CAN_CONFIG_XTD_MSG);
CAN1SetMask(CAN_MASK_B2, mask, CAN_CONFIG_XTD_MSG);
CAN1SetFilter(CAN_FILTER_B2_F3,3,CAN_CONFIG_XTD_MS G);
CAN1SetOperationMode(CAN_MODE_NORMAL, 0xFF);
Lcd_Custom_Config(&PORTB, 5,4,3,2,1,0, &PORTC, 13);
Lcd_Custom_Cmd(LCD_CLEAR);
Lcd_Custom_Out(1,1 ,"CAN BUS");
Delay_ms(1000);
for(;;) // Endless loop
{
Lcd_Custom_Cmd(LCD_CLEAR); //Clear LCD
Lcd_Custom_Out(1,1, "Temp = "); // Display "Temp = "
//
// Send a message to Node:COLLECTOR and ask for data
//
data[0] = 'T'; // Data to be sent
id = 500; // Identifier
CAN1Write(id, data, 1, send); // send T
//
// Get temperature from node:COLLECT
//
dt = 0;
while(!dt) dt = CAN1Read(&id, data, &len, &CANread);
if(id == 3)
{
temperature = data[0];
ByteToStr(temperature,txt); // Convert to string
Lcd_Custom_Out(1,8,txt); // Output to LCD
Delay_ms(1000); //Wait 1 second
}
}
}

vjh_euro
27-05-2010, 08:42 AM
Em là sinh viên năm 3 ngành điều khiển tự động. em đang làm đề tài kết thúc môn MẠNG CÔNG NGHIỆP. em muốn hỏi các anh chị ai có tài liệu hay kinh nghiệm thực tế nào về ứng dụng mạng CANBUS trong công nghiệp hay trên Oto thì có thể giúp em được không ạ.Em đang cần gấp. Rất mong được giúp đỡ. Anh chị nào nhiệt tình giúp em xin vui lòng gửi mail cho em : 0751050066@sv.hcmutrans.edu.vn.
Em xin chân thành cảm ơn.

lephuongnhung
24-07-2010, 12:08 PM
CAN đã được làm từ rất lâu và hiện nay các khách hàng của R&P đang phát triển nhiều sản phẩm trên mạng CAN rồi.

Về vấn đề tổng hợp các chuẩn, các hãng đã thực hiện từ rất lâu, nhưng nhu cầu này chưa xuất hiện nhiều ở VN. Sử dụng CAN thường dùng trong oto, thang máy, nhà thông minh,... Hiện R&P chưa có khách hàng sử dụng nó trong oto, có lẽ mảng thị trường này R&P còn yếu, đang thâm nhập dần, nhưng các mảng khác đã có khách hàng phát triển và ứng dụng.

Hy vọng là nếu anh muốn ứng dụng nó trong tàu thủy, thì anh cần có một bài toán cụ thể. Nếu nói "làm được không" thì hiển nhiên là làm được và làm được lâu rồi. Vấn đề là anh ứng dụng nó vào cái gì, và trong điều kiện như thế nào, anh cần nó ở mức độ như thế nào.

Em thấy hiện nay anh đang trao đổi về khá nhiều chuẩn: Ethernet, USB, CAN, RS485,... có lẽ lúc này anh đang muốn tìm ra một "chuẩn" nào đó để phát triển.

Microchip mạnh ở các mảng Ethernet, USB, CAN, còn RS485 thì MCHP không làm driver chip, vì các chip này TI mạnh hơn và có truyền thống lâu đời hơn, MCHP không muốn cạnh tranh vào những thị trường quá phổ biến và khó chen chân với những cây đại thụ. Chưa biết sau này có không, nhưng hiện giờ là chưa có.

Tất cả những gì ta trao đổi ở đây đều là mức độ Physical Layer, anh yên tâm, ở VN làm được hết, vấn đề là anh muốn tự làm thì anh cần nghiên cứu các tutorial của picvietnam, nếu anh cần đặt hàng cái này, chỉ cần hô một tiếng có hàng trăm người làm được cái này cho anh. "Không nên nghi ngờ về năng lực thiết kế ở VN".

Lưu ý, luồng này em viết từ năm 2007, tới tận 2009 anh mới hỏi "có làm được không", thì có vẻ là hơi "quá muộn".

Chúc vui

Chào anh!

Em đang cần - rất cần các tài liệu về ứng dụng CAN OPEN trên tàu thuỷ mà ko có ở đâu cả?
Nếu có anh cung cấp lên diễn đàn hoặc làm ơn gửi mail cho em theo địa chỉ lephuongnhung@caodangvtc.edu.vn nhé.
Cảm ơn anh rất nhiều.

tehin2005
23-08-2010, 03:50 PM
Hi Các Đại Ca!
Mình đã làm canbus của PIC 18, hai node giao tiếp thì chạy ok! Nếu mình dùng nhiều node thì nó lại stop can. Mình mới tìm cách dùng MASK và FILTER để lọc id thì nó chạy có lúc ok, có lúc ko ok? Đại ca nào hiểu biết nhiều về vấn đề này xin cho minh một lời tư vấn!
tehin2005!
Kính chào!

xtravel
28-08-2010, 02:06 PM
chào anh chị,em là người mới tìm hiểu về CAN. Cho em hỏi là những dòng PIC nào có thế dùng để kết nối mạng CAN?

mbuiquang
22-10-2010, 06:07 PM
Chào các thành viên trong diễn đàn!
Hiện tại em đang tham gia nhóm tìm hiểu về giao tiếp CAN.
Bọn em sử dụng chip PIC8F4680 , có tích hợp sẵn modul giao tiếp CAN, trên kit EasyPIC.
Với 2 kit EasyPIC, bọn em lập trình giao tiếp truyền từ kit 1 sang kit 2, và hiển thị DEBUG lên máy tính qua RS232.
Vì chưa tìm được 2 con MPC2551 để tạo BUS CAN chuẩn nên em nối chéo chân của 2 bộ CAN với nhau : CAN_TX(1) -> CAN_RX(2) , CAN_RX(1) -> CAN_TX(2)
Nhưng hiện tại 2 modul này vẫn chưa giao tiếp được với nhau. Từ màn hình DEBUG thấy được: đã có dữ liệu trên cả 3 buffer truyền nhưng không thể truyền tiếp được, còn bên nhận thì không có data trong buffer ( dù đã cấu hình MASK để nhận tất cả các gói tin).
Hiện bọn em đang bế tắc, không có cách nào test được.
Proteus 7.6 không thể mô phỏng CAN, đo tín hiệu trên Oscilloscope của 2 chân CAN_RX và CAN_TX không thấy có tín hiệu truyền tin.
Các cao thủ đã ai làm được giao tiếp này, hay có giải pháp nào để kiểm tra thì bày cho em với.
-------------------------------------------------------------
Code là ví dụ mẫu EX_CAN_CCS_A.C của CCS
và kết quả thu được là hình ảnh đính kèm

mbuiquang
28-10-2010, 06:59 PM
Bọn em đã tìm ra lỗi rồi, do con MPC2551 die.
Hiện tại 2 chip đã giao tiếp với nhau tốt.

lop06d2
06-04-2011, 01:00 AM
chương trình của quocviet233
void main()
{
unsigned char temperature, data[8];
unsigned short init, send, dt, len, CANread;
char SJW, BRP, Phase_Seg1, Phase_Seg2, Prop_Seg, txt[4];
long id, mask;
TRISB = 0;
TRISC = 0;
TRISF = 0x04;
SJW = 1;
BRP = 1;
Phase_Seg1 = 6;
Phase_Seg2 = 7;
Prop_Seg = 6;
init = CAN_CONFIG_SAMPLE_THRICE & // Form value to be used
CAN_CONFIG_PHSEG2_PRG_ON & // with CAN1Initialize
CAN_CONFIG_XTD_MSG &
CAN_CONFIG_DBL_BUFFER_ON &
CAN_CONFIG_MATCH_MSG_TYPE &
CAN_CONFIG_LINE_FILTER_OFF;
send = CAN_TX_PRIORITY_0 & // Form value to be used
CAN_TX_XTD_FRAME & // with CAN1Write
CAN_TX_NO_RTR_FRAME;
CAN1read = 0;
CAN1SetMask(CAN_MASK_B1, mask, CAN_CONFIG_XTD_MSG);
CAN1SetMask(CAN_MASK_B2, mask, CAN_CONFIG_XTD_MSG);
CAN1SetFilter(CAN_FILTER_B2_F3,3,CAN_CONFIG_XTD_MS G);
CAN1SetOperationMode(CAN_MODE_NORMAL, 0xFF);
Lcd_Custom_Config(&PORTB, 5,4,3,2,1,0, &PORTC, 13);
Lcd_Custom_Cmd(LCD_CLEAR);
Lcd_Custom_Out(1,1 ,"CAN BUS");
Delay_ms(1000);
for(; // Endless loop
{
Lcd_Custom_Cmd(LCD_CLEAR); //Clear LCD
Lcd_Custom_Out(1,1, "Temp = "); // Display "Temp = "
//
// Send a message to Node:COLLECTOR and ask for data
//
data[0] = 'T'; // Data to be sent
id = 500; // Identifier
CAN1Write(id, data, 1, send); // send T
//
// Get temperature from node:COLLECT
//
dt = 0;
while(!dt) dt = CAN1Read(&id, data, &len, &CANread);
if(id == 3)
{
temperature = data[0];
ByteToStr(temperature,txt); // Convert to string
Lcd_Custom_Out(1,8,txt); // Output to LCD
Delay_ms(1000); //Wait 1 second
}
}
}
mình đưa vào microxin viết cho con PIC 18F4580 nó có báo lỗi ko dịch được phai help anh em nào thành thạo chỉ cho mình lỗi sai ở đâu ko?
cám ơn trước

lop06d2
06-04-2011, 02:02 AM
PROTECH có mô phỏng được giao tiếp can dùng MCP 2551 và PIC 18F4580 ko anh em? nếu có chỉ cho mình vơi?

khoai tây
06-04-2011, 03:07 AM
Biết là các anh chị đang bàn về CAN, nhưng mà cho em hỏi một chút được không ạ?
Có ai biết cái PBUS protocol là cái gì không ạ, em thấy nó dùng trong cả truyền rs485 nhưng mà chỉ dùng 1-wire là sao ạ? Có thể dùng max485 hay SN75176 để truyền tín hiệu được không?
Ai có sơ đồ về cách mắc loại này thì share cho mọi người biết với!
Thanks mọi người nhiều :)

lop06d2
02-05-2011, 12:56 AM
cuối cùng thì cũng giao tiếp được hai nốt của CANBUS rùi:

lop06d2
02-05-2011, 12:56 AM
hiển thị nhiệt độ ra LCD

lop06d2
10-05-2011, 08:19 AM
mình đã giao tiếp thành công 3 nôt rùi : cập nhật nhiệt độ ở 2 nơi hiện thị lên LCD ; bằng CCS thấy cũng khá ổn định

vuidiem
10-05-2011, 04:59 PM
Chào anh lop06d2. EM dang làm đề tài mạng CAN. bây giờ đang truyền nhận tín hiệu giữa hai node, mỗi node gồm pic8f4580+ mcp2551. Nhưng chưa có Soure code. Anh có không ạ. em đang cần gấp

lop06d2
11-05-2011, 09:23 PM
lê trang CCS.info nhiều code lắm bạn tai về mà dùng từ đó phát triển lên . trong diễn đàn đó dùng googochom có cái dịch thoai mái xem

nakatatran
17-05-2011, 04:20 PM
Mình đang tìm hiểu về giao thức CAN đọc nhiệt độ từ LM35 hiển thị ra LCD
Sư huỳnh nào đã làm thành công rồi chỉ mình với.
Cám ơn

lop06d2
20-05-2011, 10:24 PM
lên trang CCS.info trang diễn đàn ấy , đọc datasheet của LM35 vẽ ocat ... để tìm hiểu giao thức can trang đầu tiên của chủ đề có mà

lop06d2
06-06-2011, 12:15 PM
hình ảnh đề tài phần led ma trận chưa viết lại code nếu có điều kiện anh em làm thêm
http://www.youtube.com/watch?v=e6pfAhRRPzE

anhduongbk52
07-02-2012, 06:37 PM
Trong file 18f4580.c có định nghĩa hàm:
void can_init(void) {
can_set_mode(CAN_OP_CONFIG); //must be in config mode before params can be set
can_set_baud();
curfunmode=CAN_FUN_OP_LEGACY;

// RXB0CON
// filthit0=0
// jtoff=0
// rxb0dben=1 buffer zero will overflow into buffer one
// rxrtrro=0
// rxm1:0=0 will recive all valid IDs
RXB0CON=0;
RXB0CON.rxm=CAN_RX_VALID;
RXB0CON.rxb0dben=CAN_USE_RX_DOUBLE_BUFFER;
RXB1CON=RXB0CON;

CIOCON.endrhi=CAN_ENABLE_DRIVE_HIGH;
CIOCON.cancap=CAN_ENABLE_CAN_CAPTURE;
CIOCON.tx2src=CAN_CANTX2_SOURCE; //added 3/30/09 for PIC18F6585/8585/6680/8680
CIOCON.tx2en=CAN_ENABLE_CANTX2; //added 3/30/09 for PIC18F6585/8585/6680/8680

can_set_id(RX0MASK, CAN_MASK_ACCEPT_ALL, CAN_USE_EXTENDED_ID); //set mask 0
can_set_id(RXFILTER0, 0, CAN_USE_EXTENDED_ID); //set filter 0 of mask 0
can_set_id(RXFILTER1, 0, CAN_USE_EXTENDED_ID); //set filter 1 of mask 0

can_set_id(RX1MASK, CAN_MASK_ACCEPT_ALL, CAN_USE_EXTENDED_ID); //set mask 1
can_set_id(RXFILTER2, 0, CAN_USE_EXTENDED_ID); //set filter 0 of mask 1
can_set_id(RXFILTER3, 0, CAN_USE_EXTENDED_ID); //set filter 1 of mask 1
can_set_id(RXFILTER4, 0, CAN_USE_EXTENDED_ID); //set filter 2 of mask 1
can_set_id(RXFILTER5, 0, CAN_USE_EXTENDED_ID); //set filter 3 of mask 1

// set dynamic filters
can_set_id(RXFILTER6, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER7, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER8, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER9, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER10, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER11, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER12, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER13, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER14, 0, CAN_USE_EXTENDED_ID);
can_set_id(RXFILTER15, 0, CAN_USE_EXTENDED_ID);

set_tris_b((*0xF93 & 0xFB ) | 0x08); //b3 is out, b2 is in

can_set_mode(CAN_OP_NORMAL);
}




Hàm này gọi ra hàm con là void can_set_mode(CAN_OP_MODE);

Trong lần gọi đầu can_set_mode(CAN_OP_CONFIG); //must be in config mode before params can be set
Thì CONFIG thành công
Còn khi trả về chế độ normal: can_set_mode(CAN_OP_NORMAL);
thì chương trình nhảy liên tục tại

void can_set_mode(CAN_OP_MODE mode) {
CANCON.reqop=mode;
while( (CANSTAT.opmode) != mode );
}
không thoát ra được.
Khi mô phỏng với MPLAB SIM thì ra thế này:
http://s1236.photobucket.com/albums/ff443/anhduongbk52/?action=view&current=untitled-1.jpg

Nạp vào mạch thì Các ứng dụng khác vẫn chạy, chỉ không giao tiếp được Can thôi.
Mong các anh chị giúp đỡ.Em xin cảm ơn

rieckaka
12-03-2012, 10:26 AM
bác Ngoducbinh1987 có thể cho em file về CAN (pic1 đo nhiệt độ bằng LM355, pic2 nhận và hiển thị lên LCD). em đang làm đồ án môn học về cái này nhưng ko hiễu rõ cho lắm
mail của em : rieckaka@gmail.com

duochi
25-03-2012, 11:46 AM
dang lam do an ve can ma k hieu gi ca

sonzoro_ute
05-06-2012, 12:17 PM
Chào anh lop06d2. EM dang làm đề tài mạng CAN. bây giờ đang truyền nhận tín hiệu giữa hai node, mỗi node gồm pic8f4580+ mcp2551. Nhưng chưa có Soure code. Anh có không ạ. em đang cần gấp

Anh ơi anh làm được đề tài này chưa! Nếu làm được rùi gửi em bài của anh em tham khảo với! Mọi người ai có làm cái này rùi cũng gửi giúp em tham khảo với nha !Em cám ơn :) Mail của em là hoangsontk73@gmail.com

lop06d2
10-06-2012, 06:09 PM
lam the nao tai cai thuyet minh tot nghiep cho anh em tham khao day, trong chuong trinh mau cua CCS có mấy cái mẫu đó. mình làm giao tiếp ok.
http://www.mediafire.com/file/a4321obj4bob7fa/do_an_Thach_da_sua_2.rar

lop06d2
11-06-2012, 11:01 AM
rieckaka: cái nầy dễ thôi, viết xong rùi mô phong trên protech

masterking
16-06-2012, 01:05 AM
Thank's Admin nhá, bài này hay quá...

hoangdang330
08-10-2012, 07:29 PM
Xin hỏi có ai có tài liệu về giao tiếp LIN không? mình muốn tìm hiểu về LIN nhưng chưa biết bắt đầu từ đâu, rất mong được giúp đỡ.

dieptu
06-02-2013, 01:37 PM
Hi Các Đại Ca!
Mình đã làm canbus của PIC 18, hai node giao tiếp thì chạy ok! Nếu mình dùng nhiều node thì nó lại stop can. Mình mới tìm cách dùng MASK và FILTER để lọc id thì nó chạy có lúc ok, có lúc ko ok? Đại ca nào hiểu biết nhiều về vấn đề này xin cho minh một lời tư vấn!
tehin2005!
Kính chào!

bạn có thể hướng dẫn cho mình cách làm về can với pic 18 dc k? h mình đang rất cần người giúp đỡ, vì chưa làm về pic bao giờ mà đùng cái thầy giao cho cái đề tài về Can. h mình không biết làm già với nó.

Cantona92
29-11-2013, 04:13 AM
Chào các bác, em được giao đề tài "Giao tiếp đa vi điều khiển sử dụng chuẩn CAN", nhưng do lười nhác và ít hiểu biết về kiến thức nên mong các bác cho em ý kiến về đề tài là như nào, em cũng đã đọc qua các tài kiệu bên trên về CAN nhưng còn thấy rất mơ hồ, các bác có thể gợi ý cho em đề tài cụ thể về giao tiếp đa vi điều khiển được không ạ? Mong các bác reply!

phamductaivt
08-04-2014, 12:21 PM
Chào mọi người, tình hình là em vừa ra trường đề tài luận văn của e ngày đó là khá tốt, em sử dụng máy tính truyền RS232 xuống cho 1 Master và Master giao tiếp với 5 Slave qua I2C, nhưng do tuần vừa rồi thầy e call e và bảo e có thể đổi cái RS232 thành CAN được ko, do h e cũng đang khá bận bịu để kiếm việc, e cũng muốn giúp thầy vì thầy giúp em rất nhiều. Mong mấy a trên này tư vấn để e có thể hoàn thiện thật nhanh.

Hiện tại e cần làm 1 cái giao tiếp CAN từ PC xuống vi điều khiển (Master), giao diện truyền nhận trên máy tính có thể viết bằng Visual Studio. Bác nào có thể tư vấn :
+ Phần cứng e cần những j ( hiện tại là 6 con pic của em là 16f887)
+ Phần lập trình có tài liệu nào chỉ cách lập trình trên Visual ko, e thấy đa số toàn là lập trình cho các con Pic giao tiếp CAN với nhau.
+ Tài liệu tham khảo, địa chỉ mua các module lun nha
E chân thành cám ơn và sẽ hậu ta.

hein_ts
09-04-2014, 11:52 AM
Hiện tại mình thấy CAN ít phổ biến ở Việt Nam, mặc dù nó được sử dụng rất nhiều. Cách đây hơn hai năm mình đã nghiên cứu và sản xuất loạt sản phẩm sử dụng CAN. Để giao tiếp với máy tính mình phải tự làm module giao tiếp vì mua sẵn của nước ngoài khá đắt. Và quan trọng hơn là không theo ý muốn mình được.
Về tài liệu tham khảo thì chỉ cần đọc thông số mạng CAN. Google có hết.
Về code thì tham khảo mấy ví dụ của CCS.
Nếu bạn muốn tôi có thể cung cấp cho bạn. Nhưng trong sự cho phép bởi nó đã được đưa vào sản phẩm thương mại.
Thân!

dovancan
04-07-2014, 07:57 PM
CHo hỏi IC 8pin dùng để truyền thông CAN giữa các VĐK 89x là tên gì và ở đâu bán vậy các anh em?