Прибор для измерения частоты на базе микроконтроллера MSP430, страница 4

Другой недостаток в том, что при такой конфигурации прибора нам понадобится слишком много ресурсов MSP430: 2 таймера, 2 счетчика для хранения числа импульсов N, 2 линии цифрового порта I/O и 2 счетчика для определения, что два последовательных нарастающих или спадающих фронта пришли.  

2 метод. Подсчет числа импульсов сигнала в течение известного интервала времени

Данный метод состоит в том, что нужно измерить количество импульсов или тактов измеряемого сигнала N за время Tk сигнала с известной частотой. Тогда искомая частота сигнала f будет равна: Fx = N / Tk  =  N * Fk.

Оценим погрешность измерений данным методом (обозначения аналогичны используемым в 1 методе):

Fk должна быть << Fx.

N = Fx / Fk,  Fx / Fk   +/-  1 

Так как мы по-прежнему не можем контролировать соотношение фаз между измеряемым сигналом и сигналом с известной частотой, то расхождение в счете N может быть +/- 1.

Fm  =  Fk *  

Fm  =  Fk * (Fx / Fk   -   1),    Fk  *  (Fx / Fk),   Fk *  (Fx / Fk    +    1)

Упрощаем и получаем: Fm  =  (Fx  -  Fk),   Fx,   (Fx  +  Fk)

Погрешность будет следующая: error = abs(Fm – Fx) / Fx = abs(Fx +/- Fk – Fx) / Fx

Итак, error  =  Fk  /  Fx

Для Fx = 10 Hz и погрешности не более 0.1%, получаем, что Fk должна быть больше или равна 0.01 Hz, т.е. Tk = 100 sec.

Для Fx = 1000 Hz и погрешности не более 0.1%, получаем, что Fk должна быть больше или равна 1 Hz, т.е. Tk = 1 sec.

 Анализируя оба описанные выше методы измерения частоты, можно легко увидеть, что 1-й метод дает больший запас точности для  низких частот, а 2-й метод наоборот позволяет измерить с меньшей погрешностью высокие частоты.

Однако 2-й метод имеет очевидные преимущества перед первым. Во-первых, нужен только 1 таймер и, следовательно, 1 счетчик для измерения требуемого интервала времени. Во-вторых, необходимая частота тактирования этого таймера в 10^6 раз меньше чем в 1-м методе, что обеспечивает малое энергопотребление прибора. 

Итак, выбираем  2 метод, подсчет числа импульсов сигнала в течение известного интервала времени, для реализации прибора для измерения частоты на базе микроконтроллера MSP430 фирмы Texas Instruments.  

V. Алгоритм функционирования прибора

На основе описанного выше метода составим алгоритм функционирования прибора. Алгоритм будет состоять из 3-х основных частей: общий алгоритм работы прибора, алгоритм обработчика прерываний для BT и алгоритм обработчика прерываний для Port0.

     Представим эти алгоритмы в виде блок-схем:


                                              Нет

                                 Да    

Блок-схема 1. Общий алгоритм  работы  прибора

 


                                                      Нет

Да      

Блок-схема 2. Обработчик прерываний для BasicTimer(BT)

 


                                                                                                               Нет

Да

                 Нет      

                                                                        Да

Блок-схема 3. Обработчик прерываний для Port0

VI. Описание программного обеспечения прибора

     На основе разработанных алгоритмов была составлена программа для прибора. Листинг этой программы приведен в приложении 3.

     Для реализации прибора для измерения частоты необходимы следующие ресурсы МК MSP430:

·  Выводы порта в/в P0.3 и P0.4 для обеспечения 2-х параллельных измерительных каналов

·  2 счетчика количества импульсов измеряемых сигналов (регистры R6 и R7 – счетчик импульсов сигнала на линии P0.3, а регистры R8 и R9 – счетчик импульсов сигнала на линии P0.4)

·  Basic Timer (BT) для отсчета 100-секундного интервала времени

·  Счетчик для хранения числа прошедших секунд (регистр R5)