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 21-07-2008, 11:37 PM   #1
nguyen.geo
Đệ 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.
nguyen.geo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-07-2008, 01:04 AM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
À, bạn viết chương trình bằng MPLAB C30. Một lệnh gán xung_out = 0 chưa chắc được dịch thành một lệnh hợp ngữ (mặc dù tôi thử với C30 v3.01 thì mỗi lệnh gán đó tương ứng với 1 lệnh hợp ngữ). Để kiểm tra, bạn biên dịch code xong, dùng lệnh 'Disassembly listing' trong mênu View để xem mã dịch ngược từ mã máy đã được dịch ra.

Cũng nên kiểm tra xem từ cấu hình liên quan có mang đúng giá trị cần thiết hay không, trước khi nạp chương trình vào chip. Và không loại trừ nguyên nhân thạch anh chất lượng kém.

Tôi thường dùng ngoại vi để tạo xung ở ngõ ra khi cần đo tần số clock của PIC/dsPIC. Bạn tham khảo link sau:
http://www.picvietnam.com/forum/showthread.php?t=2317

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-07-2008, 09:13 AM   #3
nguyen.geo
Đệ tử 2 túi
 
Tham gia ngày: Jan 2007
Bài gửi: 27
:
Cảm ơn anh Nam đã trả lời.
Em đã kiểm tra bằng Disassembly listing và chạy dùng cữa sổ Watch để xem thì đều thấy nó chỉ có 3 chu kỳ lệnh ở mỗi mức 0, hay 1 trong đoạn code của em. còn về thạch anh thì em đo khi pic đang chạy thì vẫn ổn định là 7.37Mhz. không thấy có vấn đề gì nhưng ngõ ra của nó tần số chỉ bằng 1/3 so với lý thuyết tính toán. thêm nữa nguồn nuôi của em vẫn đảm bảo là 4.98V-5.02V.
nguyen.geo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-07-2008, 12:27 AM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi nguyen.geo View Post
Cảm ơn anh Nam đã trả lời.
Em đã kiểm tra bằng Disassembly listing và chạy dùng cữa sổ Watch để xem thì đều thấy nó chỉ có 3 chu kỳ lệnh ở mỗi mức 0, hay 1 trong đoạn code của em. còn về thạch anh thì em đo khi pic đang chạy thì vẫn ổn định là 7.37Mhz. không thấy có vấn đề gì nhưng ngõ ra của nó tần số chỉ bằng 1/3 so với lý thuyết tính toán. thêm nữa nguồn nuôi của em vẫn đảm bảo là 4.98V-5.02V.
Tần số của thạch anh ổn thì vấn đề nằm ở chỗ cấu hình (nhưng phải chênh lệch 4 lần thì mới hợp lý, chứ chênh lệch 3 lần thì quả là khó hiểu), và một trường hợp rất hiếm gặp là mạch PLL chạy sai.

Đã từng có trường hợp mạch dao động của dsPIC hoàn toàn không chạy khi dùng thạch anh ngoài, chỉ chạy khi dùng FRC. Trường hợp đó đã được cho biết là do lỗi của loạt chip sample.

Ngoài những khả năng trên thì tôi không nghĩ ra trường hợp nào khác.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263

thay đổi nội dung bởi: namqn, 25-07-2008 lúc 04:56 PM.
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-07-2008, 04:35 PM   #5
nguyen.geo
Đệ tử 2 túi
 
Tham gia ngày: Jan 2007
Bài gửi: 27
:
Cảm ơn anh Nam nhiều. Em sẽ hỏi lại thông tin từ nhà cung cấp chip cho phía em. Chắc có thể là do chip thôi vì mọi vấn đề em thấy đề tốt mà. khi có thông tin phản hồi em sẽ phản hồi lại cho anh.
nguyen.geo 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à 02:01 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