|
Tài trợ cho PIC Vietnam |
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 |
|
Ðiều Chỉnh | Xếp Bài |
21-07-2008, 11:37 PM | #1 |
Đệ tử 2 túi
Tham gia ngày: Jan 2007
Bài gửi: 27
: |
Bộ nhân PLL cho Dspic30F6014
Phần cứng của em dùng thạch anh 7.357Mhz và nhân tần lên PLL16 lần để đạt tốc độ nhanh nhất của chip. đây là đoạn code của em :
#include <p30f6014.h> _FOSC(CSW_FSCM_OFF & XT_PLL16); _FWDT(WDT_OFF); _FBORPOR(PBOR_OFF & MCLR_EN); _FGS(CODE_PROT_OFF); #define xung_out _LATD15 void main() { TRISD = 0x0000; while(1) { xung_out = 0; // xung_out = 0; xung_out = 0; xung_out = 1; } } Theo lý thuyết thì xung phát ra sẽ là xung vuông với độ rộng của mỗi sườn là 3 chu kỳ lệnh. theo cách chọn thạch anh là 7.357 và PLL = 16 => mỗi chu kỳ lệnh sẽ có thời gian là gần 1/30us. từ đó ứng với 3 chu kỳ lệnh của mỗi sườn sẽ có thời gian là: 3 * 1 / 30 = 0.1us. nhưng em dùng máy hiện sóng đo trực tiếp trên chân phát xung _LATD15 thì tần số phát ra là dạng xung vuông độ rộng sườn dương bằng sườn âm nhưng thời gian mỗi sườn không phải là 0.1us mà là 0.3us ( tức là tần số sau nhân tần là 40Mhz ) trong khi đó xung trên chân thạch anh vẫn ổn định là 7.357Mhz. em không hiểu tại sao lại thế ? mong Anh Nam và các cao thủ Pic giúp đỡ. Em cảm ơn nhiều thay đổi nội dung bởi: nguyen.geo, 22-07-2008 lúc 12:44 AM. |
Ðiều Chỉnh | |
Xếp Bài | |
|
|