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 01-04-2010, 01:01 PM   #1
lybao_huy
Đệ tử 5 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 97
:
Vấn đề Fail-Safe Clock Monitor (FSCM) trong DsPic

trong Datasheet có nói:
The Fail-Safe Clock Monitor (FSCM) allows the device
to continue to operate even in the event of an oscillator
failure. The FSCM function is enabled by programming.
If the FSCM function is enabled, the LPRC internal
oscillator runs at all times (except during Sleep mode)
and is not subject to control by the Watchdog Timer.
In the event of an oscillator failure, the FSCM
generates a clock failure trap event and switches the
system clock over to the FRC oscillator.

Tôi thiết lập FCKSM<1:0> Configuration bit is 00 // có khả năng giám sát và Chuyển Clock.
và lúc bật nguồn tôi dùng bộ dao động FRC oscillator.
sau đó tôi dùng các lệnh trong thanh ghi OSCCON để chuyển sang Primary (XT) oscillator với không PLL, và đã chuyển thành công, trong lúc đang chạy tôi tháo bỏ thạch anh ra, thì đáng lẽ ra nó vẫn tiếp tục chạy vì Fail-Safe Clock Monitor sẽ tự động chuyển sang FRC oscillator, nhưng nó lại dừng chương trình, vậy nguyên nhân do đâu xin anh em trả lời giúp
lybao_huy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-04-2010, 02:55 PM   #2
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi lybao_huy View Post
trong Datasheet có nói:
The Fail-Safe Clock Monitor (FSCM) allows the device
to continue to operate even in the event of an oscillator
failure. The FSCM function is enabled by programming.
If the FSCM function is enabled, the LPRC internal
oscillator runs at all times (except during Sleep mode)
and is not subject to control by the Watchdog Timer.
In the event of an oscillator failure, the FSCM
generates a clock failure trap event and switches the
system clock over to the FRC oscillator.

Tôi thiết lập FCKSM<1:0> Configuration bit is 00 // có khả năng giám sát và Chuyển Clock.
và lúc bật nguồn tôi dùng bộ dao động FRC oscillator.
sau đó tôi dùng các lệnh trong thanh ghi OSCCON để chuyển sang Primary (XT) oscillator với không PLL, và đã chuyển thành công, trong lúc đang chạy tôi tháo bỏ thạch anh ra, thì đáng lẽ ra nó vẫn tiếp tục chạy vì Fail-Safe Clock Monitor sẽ tự động chuyển sang FRC oscillator, nhưng nó lại dừng chương trình, vậy nguyên nhân do đâu xin anh em trả lời giúp
Khi main clock fail thì CPU tự chuyển qua internal RC và đồng thời nhảy vào trap oscillator fail. Bạn phải viết hàm phục vụ trap này, trong hàm này cần xóa cờ OSCFAIL như bên dưới:

Code:
void __attribute__((interrupt, no_auto_psv)) _OscillatorFail(void)
{
        INTCON1bits.OSCFAIL = 0;
}
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-04-2010, 03:32 PM   #3
lybao_huy
Đệ tử 5 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 97
:
tôi thấy trong datasheet nó đâu có nhắc gì về cờ OSCFAIL đâu mình không xóa nó thì chương trình cũng chạy mà.

The FSCM monitors the system clock. If it does not detect a system clock within a specific period of time (typically 2 ms, maximum 4 ms), it generates a clock failure trap and switches the system clock to the FRC oscillator. The user application then has the option to either attempt to clock to the FRC oscillator. The user application then has the option to either attempt to restart the oscillator or execute a controlled shutdown.

À mà cho hỏi ý của câu này là gì vậy:
The user application then has the option to either attempt to restart the oscillator or execute a controlled shutdown.

nó kêu hoặc là cố gắng khỏi động lại bộ dao động hoặc điều khiển quá trình shutdown, tức là mình không thể cho chương trình tiếp tục chạy à.
lybao_huy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-04-2010, 06:09 PM   #4
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi lybao_huy View Post
tôi thấy trong datasheet nó đâu có nhắc gì về cờ OSCFAIL đâu mình không xóa nó thì chương trình cũng chạy mà.
Bạn nên coi lại phần ngắt và trap
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat 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:06 AM.


Đượ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