PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

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

dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 30-05-2009, 01:12 AM   #1
conglong
Đệ tử 4 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 68
:
Kinh nghiệm khi dùng dsPIC / Pic

Mình mở ra topic này để anh em trong diễn đàn có kinh nghiệm sử dụng dsPIC / Pic thì có thể chia sẻ cho những người đi sau để người đi sau không phải "khốn khổ" như những người đi trước !
Mình thì chưa có nhiều kinh nghiệm lắm vì mới sử dụng dsPIC/Pic gần đây, nhưng mình có vài kinh nghiệm sau khi dùng dsPIC :
1 ) khi bạn muốn sử dụng các chân I/O nhưng các chân này lại được tích hợp cùng với các chân của khối AD đó là các PIN: AN0, AN1..... thì bạn phải thực hiện lệnh này trước khi dùng các chân với chức năng I/O bình thường :

ADPCFG = 0xFFFF; //Cac chan ngõ vào la digital

2) bạn nên dùng thạch anh ngoài 6Mhz là hay nhất, vì theo mình biết ở chợ không có 7Mhz mà chỉ có 8Mhz, nhưng nếu bạn dùng 8Mhz thì bạn chỉ dùng được ở chế độ nhân 8 thôi (XT_PLL8) ,nếu dùng PLL16 thì vượt quá dao động cho phép của Pic (8 * 16 = 148 > 120 !).còn khi dùng 6Mhz thì bạn hoàn toàn dùng chế độ nhân 16 (XT_PLL16), vậy khi này ở 8Mhz dao động thạch anh ngoài bạn có Fcy(max) = 8 * 8 / 4 = 16Mhz, còn lúc dùng 6Mhz bạn có Fcy(max) = 6*16 / 4 = 24 Mhz, Điều này nghe không quan trọng khi dùng pic cho dự án nhỏ , còn khi dùng pic cho dự án lớn thì tốc độ xử lý sẽ rất quan trọng.

3) 2 tụ chống nhiễu nối với bộ dao động thạch anh ngoài nên là 22p,hoặc 33p , đừng lớn quá, mọi hôm mình dùng 2 tụ này là 104 thì nó làm mình mất một ngày !

Trân trọng !.
__________________
Không có gì là Không thể, chỉ một điều Không thể khi bạn nghĩ nó Không thể !.
Bạn có thể nếu bạn tin bạn có thể !.
conglong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2009, 12:38 PM   #2
tungnh
Đệ tử 5 túi
 
Tham gia ngày: Sep 2007
Bài gửi: 94
:
Rất cám ơn bạn về những kinh nghiệm của bạn , tuy nhiên tôi có 1 vài góp ý cho bạn thế này
Trích:
1 ) khi bạn muốn sử dụng các chân I/O nhưng các chân này lại được tích hợp cùng với các chân của khối AD đó là các PIN: AN0, AN1..... thì bạn phải thực hiện lệnh này trước khi dùng các chân với chức năng I/O bình thường :

ADPCFG = 0xFFFF; //Cac chan ngõ vào la digital
Cái này không cần thiết, nếu bạn kô định nghĩa nó là chăn Analog thì nó là chăn I/O rồi
Trích:
2) bạn nên dùng thạch anh ngoài 6Mhz là hay nhất, vì theo mình biết ở chợ không có 7Mhz mà chỉ có 8Mhz, nhưng nếu bạn dùng 8Mhz thì bạn chỉ dùng được ở chế độ nhân 8 thôi (XT_PLL8) ,nếu dùng PLL16 thì vượt quá dao động cho phép của Pic (8 * 16 = 148 > 120 !).còn khi dùng 6Mhz thì bạn hoàn toàn dùng chế độ nhân 16 (XT_PLL16), vậy khi này ở 8Mhz dao động thạch anh ngoài bạn có Fcy(max) = 8 * 8 / 4 = 16Mhz, còn lúc dùng 6Mhz bạn có Fcy(max) = 6*16 / 4 = 24 Mhz, Điều này nghe không quan trọng khi dùng pic cho dự án nhỏ , còn khi dùng pic cho dự án lớn thì tốc độ xử lý sẽ rất quan trọng.
DsPic bạn muốn nói tới là dòng dsPic30F hả? chứ dòng dsPic33f thì lại khác đó.
tungnh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2009, 10:09 PM   #3
conglong
Đệ tử 4 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 68
:
Trích:
Nguyên văn bởi tungnh View Post
Rất cám ơn bạn về những kinh nghiệm của bạn , tuy nhiên tôi có 1 vài góp ý cho bạn thế này
ADPCFG = 0xFFFF;

Cái này không cần thiết, nếu bạn kô định nghĩa nó là chăn Analog thì nó là chăn I/O rồi
Khi reset thanh ghi này có giá trị là 0x0000, tức là các Pin AN0...ANx là chân analog, mà mình muốn sử dụng các chân này với chức năng I/O tức là digital thì mình đành phải set giá trị của thanh ghi này là 0xFFFF.cái này mình làm thực tế với con dsPIC 30F4011 rồi : khi mình dùng 3 chân : số 2 (EMUD3/AN0/VREF+/CN2/RB0), số 3 (EMUC3/AN1/VREF-/CN3/RB1) và số 4 (AN2/SS1/CN4/RB2) để điều khiển role thì khi không dùng lệnh trên thì nó không thể I/O (ở đây là out) được, còn khi thêm lệnh đó vào thì nó I/O bình thường.
Chắc bạn là người làm thực tế nhiều về dòng vi điều khiển PIC/dsPIC , mong bạn chia sẻ kinh nghiemm cho anh em với. để người đi sau đỡ "khổ".
Trân trọng !.
__________________
Không có gì là Không thể, chỉ một điều Không thể khi bạn nghĩ nó Không thể !.
Bạn có thể nếu bạn tin bạn có thể !.

thay đổi nội dung bởi: conglong, 01-06-2009 lúc 10:15 PM.
conglong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2009, 10:13 PM   #4
conglong
Đệ tử 4 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 68
:
Trích:
Nguyên văn bởi tungnh View Post
Rất cám ơn bạn về những kinh nghiệm của bạn , tuy nhiên tôi có 1 vài góp ý cho bạn thế này

2) bạn nên dùng thạch anh ngoài 6Mhz là hay nhất, vì theo mình biết ở chợ không có 7Mhz mà chỉ có 8Mhz, nhưng nếu bạn dùng 8Mhz thì bạn chỉ dùng được ở chế độ nhân 8 thôi (XT_PLL8) ,nếu dùng PLL16 thì vượt quá dao động cho phép của Pic (8 * 16 = 148 > 120 !).còn khi dùng 6Mhz thì bạn hoàn toàn dùng chế độ nhân 16 (XT_PLL16), vậy khi này ở 8Mhz dao động thạch anh ngoài bạn có Fcy(max) = 8 * 8 / 4 = 16Mhz, còn lúc dùng 6Mhz bạn có Fcy(max) = 6*16 / 4 = 24 Mhz, Điều này nghe không quan trọng khi dùng pic cho dự án nhỏ , còn khi dùng pic cho dự án lớn thì tốc độ xử lý sẽ rất quan trọng.

DsPic bạn muốn nói tới là dòng dsPic30F hả? chứ dòng dsPic33f thì lại khác đó.
Uh đúng rồi mình chưa xài dsPic33F lần nào hết, vậy thì với dsPic33F thì thế nào hả bạn ?
Trân trọng !.
__________________
Không có gì là Không thể, chỉ một điều Không thể khi bạn nghĩ nó Không thể !.
Bạn có thể nếu bạn tin bạn có thể !.
conglong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-06-2009, 11:10 AM   #5
hopeman
Đệ tử 6 túi
 
hopeman's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
kinh nghiệm của mình là nếu làm với con nào thì nên đọc qua datasheet của nó 1 lượt, rồi trong quá trình làm, làm đến module nào đọc kỹ lại module đó
__________________
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 02-06-2009, 11:14 AM   #6
tungnh
Đệ tử 5 túi
 
Tham gia ngày: Sep 2007
Bài gửi: 94
:
Trích:
Nguyên văn bởi conglong View Post
Uh đúng rồi mình chưa xài dsPic33F lần nào hết, vậy thì với dsPic33F thì thế nào hả bạn ?
Trân trọng !.
Với dòng dsPic33F thì cấu hình chỉ cần cấu hình PLL chung như thế này : _FOSCSEL(FNOSC_PRIPLL);
Sau đó tần số thực thi lệnh được tính theo công thức thế này :
Fosc= Fin*M/(N1*N2), Fcy=Fosc/2;
ví dụ :
PLLFBD=30; // M=32
CLKDIVbits.PLLPOST=0; // N1=2
CLKDIVbits.PLLPRE=0; // N2=2
// Fosc= 10M*32/(2*2)=80Mhz for 10M input clock
Như vậy việc cấu hình hệ số PLL cho dong dsPic33F rất linh hoạt
tungnh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-06-2009, 10:37 PM   #7
cuongthinh
Đệ tử 2 túi
 
Tham gia ngày: Jan 2007
Bài gửi: 34
:
Anh tungnh làm PFC số rồi thì giúp đỡ em với. Anh qua bài viết về PFC em mới Post cho em vài ý kiến. Em đang cảm thấy rất kếm về DSP, em chưa hiểu tại sao chương trình của em chưa chạy. Nhân đây các anh cho em hỏi khi thực hiện phép tính toán giữa hai số khác kiểu (ví dụ nhân số fractional với số float) thì xảy ra hiện tượng j? kết quả phép tính có sai kô? có cần chuyển chúng về cùng định dạng kô?
cuongthinh 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à 06:16 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