Основні особливості архітектури мікроконтролерів PlCmicro. Організація пам'яті програм. Непряма адресація, регістри INDF й FSR, страница 18

Абсолютна точність АЦП визначається сумарною помилкою, виходячи з помилки дискретизації, інтегральної помилки, помилки шкали, помилки зсуву й монотонності Сумарна помилка визначається як максимальний розкид між поточним й ідеальним результатом для будь якого значення. Абсолютна помилка АЦП менше ± 1 значущого біта при VDo=Vref, але вона зростає при відхиленні VREF від Vdd.

У деякому діапазоні напруг на аналоговому вході цифровий результат буде той самий. Це виникає через дискретизацію, що неминуча при перетворенні аналогової величини в цифрову форму Помилка дискретизації становить ± 1/2 значущого біта, і єдиний спосіб зменшити її - збільшити розрядність АЦП.

Помилку зсуву становить різницю між результатом першого перетворення й ідеальним значенням. Ця помилка зрушує всю передатну функцію, і може бути врахована за допомогою калібрування Помилка вноситься в результаті накладення струмів витоку й вихідного опору джерела сигналу.

Помилка посилення виміряється як максимальне відхилення результату, скоректованого з урахуванням помилки зсуву. Ця помилка проявляється у вигляді зміни нахилу передатної функції Помилка посилення може бути відкалібрована й врахована.

Помилка лінійності визначається як різниця в збільшенні вхідної напруги для одержання однакового збільшення вихідного коду й не піддається калібруванню. Інтегральна помилка обчислюється як відхилення результату, скоректованого з урахуванням помилки посилення.

Диференціальна помилка обчислюється як відхилення максимальної довжини коду результат від ідеальному довжини коду без обліку інших помилок.

У системах з низькою тактовою частотою краще використання убудованого RC генератора. У системам з високою робочою частотою варто використати тактовий сигнал від основного генератора. Переважно використати АЦП із ТAD більше 8 мкс, але не менше рекомендованої нижньої межі. Використання тактового сигналу від основного генератора дозволяє знизити вплив шумів від перемикання внутрішній вентилів, т до перемикання логіки АЦП відбувається синхронно з іншими пристроями, що неможливо при використанні убудованого RC генератора. Якщо канали цифрового вхіду/вихіду  постійно активна втрата точності через шуми при перемиканні може бути значною.

У випадку використання АЦП в SLEEP режимі, джерелом тактового сигналу повинен бути вбудований RC генератор. У цьому режимі відсутні цифрові шуми, т до інші вузли мікроконтролера зупинені, тому точність перетворення виходить високою.

TMR1.

TMR1 - 16-разрядний таймер-лічильник, що складається із двох 8-розрядних регістрів (TMR1H й TMR1L) доступних для читання й запису. Рахунок виконується в спареному регістрі TMR1 (TMR1H TMR1L), инкрементируя його значення від 0000h до FFFFh. далі зчитує з 0000h. При переповненні лічильника встановлюється в '1' прапор переривання TMR1IF. Саме переривання можна дозволити/заборонити установкою/скиданням біта TMR1IE.

TMR1 може працювати в одному із трьох режимах:

•      Режим таймера,

•      Режим синхронного лічильника,

•      Режим асинхронного лічильника.

Включення модуля TMR1 здійснюється установкою біта TMR1ON в '1' (TICON<0>)

Біту TMR1CS (Т1СОМ<1>) вибирається джерело тактових імпульсів. У режимі таймера TMR1 инкрементируется на кожному машинному циклі. Якщо TMR1 працює із зовнішнім джерелом тактового сигналу, то збільшення відбувається, то кожному передньому фронту сигналу.

TUR1 має внутрішній вхід скидання від модуля РСР.

Коли включений генератор тактових імпульсів (T1ОSCEN=1), виводи T1OSI й T1ОSО настроєні як входи. Значення бітів TRISCЕN<0> ігнорується, а читання даних із цих виводів дає результат '0'.

Керуючі біти ТМР1 перебувають у регістрі T1CON.


Робота TMR1 у режимі таймера

Збільшення таймера походить від внутрішнього сигналу FosС/4, коли біт TMR1CS (T1CО<1>) скинутий в '0'. У цьому режимі біт синхронізації T1SYNC (T1CО<2>) ігнорується, тому що внутрішній текстовий сигнал завжди синхронізований.

Робота TMR1 у режимі синхронного лічильника