PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Câu hỏi dsPIC thường gặp (http://www.picvietnam.com/forum/forumdisplay.php?f=69)
-   -   Cấu hình dsPIC30F4012 ở 30MHz (http://www.picvietnam.com/forum/showthread.php?t=2317)

scentoflove 30-04-2008 01:59 AM

Cấu hình dsPIC30F4012 ở 30MHz
 
Em đang viết 1 ứng dụng trên dspic4012 sử dụng MotorPWM và CAN. Em muốn PIC chạy ở 30MIPS
Em cấu hình OSC
_FOSC(CSW_FSCM_OFF & FRC_PLL16);
sau đó trong main em chỉnh tần số FRC 7.37 + 1.5%
OSCCON = OSCCON & 0x33FF;
OSCCON = OSCCON | 0x0400; //OSCTUN = 0001

Thì khi chạy pic rất nóng, nếu để PLL4 thì ko nóng. Ko biết như vậy có bình thường ko.
Anh Nam có thể hướng dẫn cách xác định tần số dao động của FRC. Hiện em cần xác định để biết pic có chạy đúng MIPS em cấu hình hay ko.

namqn 30-04-2008 07:14 AM

1 Attachment(s)
Trích:

Nguyên văn bởi scentoflove (Post 15899)
Em đang viết 1 ứng dụng trên dspic4012 sử dụng MotorPWM và CAN. Em muốn PIC chạy ở 30MIPS
Em cấu hình OSC
_FOSC(CSW_FSCM_OFF & FRC_PLL16);
sau đó trong main em chỉnh tần số FRC 7.37 + 1.5%
OSCCON = OSCCON & 0x33FF;
OSCCON = OSCCON | 0x0400; //OSCTUN = 0001

Thì khi chạy pic rất nóng, nếu để PLL4 thì ko nóng. Ko biết như vậy có bình thường ko.
Anh Nam có thể hướng dẫn cách xác định tần số dao động của FRC. Hiện em cần xác định để biết pic có chạy đúng MIPS em cấu hình hay ko.

Như thế nào là rất nóng? Tôi dùng dsPIC30F4011 ở 20 MIPS thì chạm vào chip đã thấy khá ấm rồi, mặc dù nhiệt độ môi trường chỉ khoảng < 20 độ C (nước Anh mà). Tôi đã từng đo nhiệt độ của một tấm tản nhiệt lớn và thử khả năng chịu nhiệt của tay mình, nếu nhiệt độ là 50 độ C thì tôi không thể giữ tay mình trên tấm tản nhiệt quá 5 giây. Với mức "rất nóng" của bạn, bạn có thể giữ tay trên dsPIC bao lâu?

Theo datasheet của dsPIC30F4012, với áp nguồn trong khoảng 4.5 V đến 5.5 V, chip có thể chạy ở 30 MIPS trong toàn dải nhiệt độ (-40 đến +85 độ C cho các chip công nghiệp), tin rằng không ai trong chúng ta có thể dùng tay để kiểm tra nhiệt độ của chip ở điều kiện làm việc này.

Tôi đo tần số của chip bằng cách thiết lập module so sánh bật/tắt chân OC1, sử dụng Timer 2 làm biến so sánh. Timer 2 dùng xung nhịp của CPU, prescale = 1:1, và có PR2 = 3. OC1R được đặt bằng một giá trị nào đó giữa 0 và 3 (tôi đã dùng OC1R = 1). Như vậy cứ sau 4 chu kỳ thực thi lệnh thì ngõ ra OC1 sẽ bị lật trạng thái một lần, tức là tần số của tín hiệu tại chân OC1 sẽ nhỏ hơn tần số thực thi lệnh 8 lần. Tần số của FRC sẽ bằng 4 lần tần số thực thi lệnh, tức là 32 lần tần số của tín hiệu tại chân OC1 (chân 15 của dsPIC30F4012).

Để đơn giản cho bạn trong việc xác định tần số của FRC trong dsPIC30F4012, tôi đã dịch sẵn một tập tin .hex (được gửi kèm ở đây), bạn chỉ cần dùng máy đếm tần số hay dao động ký có chức năng đo tần số (hay đo thời gian chu kỳ) để xác định tần số tín hiệu tại chân OC1, từ đó có thể xác định tần số của FRC trong chip.

Thân,

scentoflove 01-05-2008 11:54 PM

Thanks anh Nam, tại em mới xài 2 loại dspic thì 1 con dspic33f (80Mhz xài FRC & PLL) ấm ấm và con dspic30f4012 (120Mhz xài FRC & PLL) này nóng nên em thắc mắc như vậy có ổn ko.

bien_van_khat 02-05-2008 02:43 PM

Tham khảo Datasheet dsPIC4011/4012, ở 5V, EC mode

30MIPS dòng tiêu thụ của chip là 132mA (ko kể IO, WDT, ....)
=> công suất tiêu tán = 660mW

8MIPS là 41mA => công suất tiêu tán là 205mW

Nhìn 2 con số cũng có thể thấy được phần nào.


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

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam