PDA

View Full Version : Cau hinh PLL cho dsPIC33FJ


khang_bk_47
02-03-2009, 04:26 PM
Em đang cần cấu hình cho dsPIC33FJ32MC202 chạy thạch anh ngoài 10MHz với bộ PLL nhân 8. Em đọc file p33fj32mc202.h thì không thấy có nói về cấu hình cho bộ PLL. Các bác chỉ cho em cách cấu hình với ạ?

namqn
02-03-2009, 05:40 PM
Em đang cần cấu hình cho dsPIC33FJ32MC202 chạy thạch anh ngoài 10MHz với bộ PLL nhân 8. Em đọc file p33fj32mc202.h thì không thấy có nói về cấu hình cho bộ PLL. Các bác chỉ cho em cách cấu hình với ạ?
Khi cấu hình thì bạn chỉ chọn HSPLL thôi, còn hệ số nhân cụ thể được thiết lập trong code như mục 7-1 của datasheet đã chỉ ra.

Thân,

khang_bk_47
02-03-2009, 08:22 PM
Thank bac rat nhieu!

bien_van_khat
27-06-2009, 10:56 AM
Nếu em muốn cấu hình PLL trong file ASM
Ví dụ như đoạn này

PLLFBD=30; // M=32
CLKDIVbits.PLLPOST=0; // N1=2
CLKDIVbits.PLLPRE=0; // N2=2

Thì em nên để nó ở đâu trong file ASM,
nên để ở phần config
phần __reset
hay ở trong phần main_loop ?

Cú pháp trên là của C, bạn ko thể đặt ở bất kỳ đâu trong file ASM được.

Cấu hình PLL nên đặt ở ngay điểm bắt đầu chương trình.

bbaacc01
27-06-2009, 11:37 AM
Mình hiểu đó là cú pháp C chứ,
Mình viết đoạn trên thành asm như vầy (chưa biết có đúng không nữa)

mov #0x1e, W0
mov W0, PLLFBD ; FLLFPD = 30

CLR, W0 ;
mov W0,CLKDIV ; // Cau hinh PLLDIV POST =0, PLLPRE = 0


Và đặt nó ở ngay điểm đầu chuơng trình, theo ý mình điểm đó ở ngay sau __reset: ?
Hay đầu chuơng trình là đầu file luôn ( ngay sau mấy cái config)

bien_van_khat
27-06-2009, 12:29 PM
Mình hiểu đó là cú pháp C chứ,
Mình viết đoạn trên thành asm như vầy (chưa biết có đúng không nữa)

mov #0x1e, W0
mov W0, PLLFBD ; FLLFPD = 30

CLR, W0 ;
mov W0,CLKDIV ; // Cau hinh PLLDIV POST =0, PLLPRE = 0


Và đặt nó ở ngay điểm đầu chuơng trình, theo ý mình điểm đó ở ngay sau __reset: ?
Hay đầu chuơng trình là đầu file luôn ( ngay sau mấy cái config)

Vì nhãn __reset là điểm bắt đầu 1 chuơng trình asm nên ý bạn là đúng rồi.