PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 15-11-2009, 09:39 PM   #1
minhtr123
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 9
:
Giup Em Voi!

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)
minhtr123 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-11-2009, 10:57 PM   #2
roi
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Bài gửi: 27
:
Mình không upload file lên đc, các bạn vui lòng chờ mình ít thời gian nhé.
roi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-11-2009, 06:48 PM   #3
minhtr123
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 9
:
Trích:
Nguyên văn bởi roi View Post
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 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-11-2009, 10:58 AM   #4
minhtr123
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 9
:
Cho Hoi Ve MCP2515. CAN

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!
minhtr123 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-11-2009, 03:37 PM   #5
greenfield
Đệ tử 6 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 152
:
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.
greenfield vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-11-2009, 01:49 AM   #6
harakiri
Đệ tử 1 túi
 
Tham gia ngày: Sep 2007
Bài gửi: 12
:
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
harakiri vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-11-2009, 01:24 AM   #7
roi
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Bài gửi: 27
:
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.
roi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-11-2009, 06:27 PM   #8
ngoducbinh1987
Đệ tử 2 túi
 
Tham gia ngày: Mar 2007
Bài gửi: 29
:
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
ngoducbinh1987 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-11-2009, 11:07 AM   #9
tahi
Đệ tử 4 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 64
:
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 ?
tahi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-04-2010, 03:14 PM   #10
hopeman
Đệ tử 6 túi
 
hopeman's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Wink

Trích:
Nguyên văn bởi tahi View Post
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
__________________
mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com
hopeman vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-05-2010, 06:48 PM   #11
quocviet233
Nhập môn đệ tử
 
Tham gia ngày: Sep 2008
Bài gửi: 7
:
CAN với PIC30f4012

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 Nodeisplay
//
data[0] = temperature;
id = 3; // Identifier
CAN1Write(id, data, 1, send); // send temperature
}
}
}
quocviet233 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-05-2010, 06:51 PM   #12
quocviet233
Nhập môn đệ tử
 
Tham gia ngày: Sep 2008
Bài gửi: 7
:
Pic 30f4012 và CAN ( tiếp)

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
}
}
}
quocviet233 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-12-2009, 04:58 PM   #13
26091987
Nhập môn đệ tử
 
Tham gia ngày: Nov 2009
Bài gửi: 3
:
em đang làm về mạng can rất mong được các sư huynh giúp đỡ.
26091987 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-12-2009, 05:03 PM   #14
26091987
Nhập môn đệ tử
 
Tham gia ngày: Nov 2009
Bài gửi: 3
:
em gặp vấn đề ở chỗ truyền dữ liệu. địa chỉ mail của em là
phuongthengoc0987@yahoo.com
26091987 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-12-2009, 09:05 PM   #15
ngoducbinh1987
Đệ tử 2 túi
 
Tham gia ngày: Mar 2007
Bài gửi: 29
:
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
ngoducbinh1987 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:32 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam