Сообщение от vladh
|
Уважаемые форумчане, подскажите, в PIC18F4520 есть два конфигурационных бита назначения которых мне непонятны. Первый это т.н. "Fail-Safe Clock Monitor" и "Oscillator Switchover mode". Кукую функцию выполняют эти биты?
|
Сообщение от vladh
|
подозреваю, что оба генератора молотят одновременно, на каждый на своей частоте, а с помощью программы можно иногда перескакивать с одного на другой. Правда как это делать?
|
У меня тоже такой MCU валяется. Давно хотел ним заняться
.
Вы пожалуй правы - две частоты так и будут молотить, если не сделать следующее... В мануале сказано (как можно ближе к тексту), что :
23.1 The inclusion of an internal RC oscillator also provides
the additional benefits of a Fail-Safe Clock Monitor
(FSCM) and Two-Speed Start-up. FSCM provides for
background monitoring of the peripheral clock and
automatic switchover in the event of its failure. Two-
Speed Start-up enables code to be executed almost
immediately on start-up, while the primary clock source
completes its start-up delays.
Наличие внутреннего RC генератора также обеспечивает дополнительные преимущества функций Слежения Отказоустойчивого Тактирования (FSCM) и Двухскоростного Запуска (TSS).
FSCM производит фоновое слежение переферийных тактов и автоматическое переключениее в случае неисправности. TSS позволяет программе выполняться почти немедленно после запуска, пока первичный тактовый генератор закончит процесс своей инициализации.
23.3 The Fail-Safe Clock Monitor (FSCM) allows the microcontroller
to continue operation in the event of an external
oscillator failure by automatically switching the device
clock to the internal oscillator block. The FSCM function
is enabled by setting the FCMEN Configuration bit.
FSCM позволяет микроконтроллеру продолжать управление в случае внешней неисправности тактовой частоты с помощью автоматического переключения счётного устройства на внутренний блок. FSCM функция активируется установкой бита конфигурации FCMEN.
23.4 The Two-Speed Start-up feature helps to minimize the
latency period from oscillator start-up to code execution
by allowing the microcontroller to use the INTOSC
oscillator as a clock source until the primary clock
source is available. It is enabled by setting the IESO
Configuration bit.
Функция двухскоростного запуска помогает минимизировать период времени ожидания - от начала запуска задающего генератора до начала исполнения кода, разрешая микроконтроллеру исспользовать INTOSC генератор как задающий, пока первичный тактовый генератор не будет готов. Функция активируется установкой IESO бита конфигурации.
А здесь сказано (2.7.1) :
REGISTER 2-2: OSCCON: OSCILLATOR CONTROL REGISTER
bit 3 OSTS: Oscillator Start-up Timer Time-out Status bit(1)
1 = Oscillator Start-up Timer (OST) time-out has expired; primary oscillator is running
0 = Oscillator Start-up Timer (OST) time-out is running; primary oscillator is not ready
(1) Reset state depends on state of the IESO Configuration bit.
Т.е. получается чтобы два генератора не молотило, то бит IESO (когда от основного генератора начнёт работать) нужно программно сбросить. А для этого проверить (23.3.1) 3й бит ригистра OSCCON (OSTS): User code can also check if the primary clock source is currently providing the device clocking by checking the status of the OSTS bit (OSCCON‹3›). If the bit is set, the primary oscillator is providing the clock.
********************************
Надо в работе, конечно проверить...