logo
Цифровий дозиметр

3.1 Розробка алгоритму роботи

Цифровий дозиметр з трьома режимами вимірювання і світлозвуковою реалізації випромінювання працює наступним чином:

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

Перемикання режимів виконується кнопками «<» «>» (SB2/SB3). Вмикання/вимикання режимів кнопками «V» «X» (SB1/SB4). Спочатку вибраний режим одиничного виміру, натискуємо SB1 виконується виміри за час 1хв, після чого результат заноситься в буфер для подальшого запису значення і перегляду попереднього виміру. Для вмикання режиму безперервного виміру

необхідно перейти в меню «режим 1-тест/2-цикл» натиснути «X»-режим 2, «V»-режим 1. Для збереження результату вибираємо меню «Зона1 або зона2» натискуємо «V» Запис з буфера, натискуємо «X» прочитуємо з комірки памяті. Для вмикання підсвічування вибираємо меню «Підсвічування вкл/викл»- «X»-викл, «V»-вкл. Регулювання рівня тривожної сигналізації виконується в меню «Тревога/Рівень», кнопками «X»--1, «V»-+1 змінюємо рівень і записуємо в память.

Рівень змінюється в одиницях ПРФ, При збігу вибраного рівня з рівнем вимірюваним включається тривожний звуковий сигнал і на екрані висвічується «Внимание высокий уровень радиации!».

У сплячому режимі виконується вимірювання із зниженим енергоспоживанням, блокинг генератор працює в імпульсному режимі, відключається підсвічування, на екрані через кожні 10сек виводиться

«сканування», в цьому режимі не записуються ніякі значення, лише реагує на перевищення рівня радіації, звуковим сигналом. Світлодіод HL1 і резонатор HA1 сигналізує про попадання радіоактивної частки на датчик. Граф-схема алгоритму функціонування пристрою приведена на додатку Б.

3.2 Організація памяті та розподіл адресного простору

Регістровий файл зі швидким доступом містить 32 x 8-розрядних робочих регістрів загального призначення з однотактовим циклом доступу. Завдяки цьому досягнута однотактність роботи АЛП. При звичайній роботі в АЛП спочатку з регістрового файлу завантажується два операнда, потім виконується операція, а після результат відправляється назад у регістровий файл і все це відбувається за один машинний цикл. Шість регістрів з 32 можуть використовуватися як три 16-розрядних регістра непрямої адреси для ефективної адресації в межах памяті даних. Один з цих покажчиків адреси може також використовуватися як покажчик адреси для доступу до таблиці перетворення у флеш-памяті програм. Дані 16-разр. регістри називаються X-регістр, Y-регістр і Z-регістр.

АЛП підтримує арифметичні і логічні операції між регістрами, а також між константою і регістром. Крім того, АЛП підтримує дії з одним регістром. Після виконання арифметичної операції регістр статусу (прапорів) обновлюється для відображення результату виконання операції. Прапори цього регістра в більшості випадків дозволяють відмовитися від використання інструкцій порівняння, роблячи код програми більш компактним і швидким. Крім того, архітектурою МК підтримуються операції множення зі знаком і без знака і дробовим форматом. Кожна арифметико-логічна операція встановлює прапори в регістрі прапора (див. рис. 3.1).

Рисунок 3.1 - Регістр прапора контролера

I - прапор дозволу переривання;

T - прапор-охоронець біта - встановлюється і аналізується лише спецінструкціями;

H - прапор додаткового перенесення з 3-го розряду в 4-й;

S - прапор знаку результату;

V - прапор переповнювання;

N - прапор негативного результату операції;

Z - прапор нуля;

C - прапор перенесення.

Підтримується апаратний стек у внутрішньою статичною памяттю.

Структура регістрового файлу показана на рис. 3.2.

Рис. 3.2 - Структура регістрового файлу AVR

Як видно, 6 старших регістрів утворюють регістрові пари - індексні регістри. Ядро процесора за допомогою цих регістрів допускають автоінкрементну, автодекрементну адресацію і адресацію з малим зсувом.

Для розгалуження програми підтримуються інструкції умовних і безумовних переходів і викликів процедур, що дозволяють безпосередньо адресуватися в межах адресного простору. Більшість інструкцій являють собою одне 16-розрядне слово. Кожна адреса памяті програм містить 16- або 32-розрядну інструкцію. Память програм розділена на два сектори: сектор програми початкового завантаження і сектор прикладної програми. Обидва сектори мають роздільні біти захисту від запису і читання/запису.

Оскільки всі AVR-інструкції є 16 або 32-розрядними, флеш-память організована як 1 кбайт х 16. Програмний лічильник РС у МК є 16-розрядним, тому дозволяє адресувати до 64 кбайт памяті програм.

Flash-память програм.

ATmega8 містить 8 кб памяті для завантаження програм. Команда контроллера займає 16 або 32 біта, тому флеш-память програм організована у вигляді масиву 4К 16-ти бітових слів. Флеш-память розділена на дві секції - область додатків і область завантаження (що знаходиться в старших адресах). Флеш-память витримує до 10.000 циклів перезапису.

EEPROM память даних

ATmega8 містить постійний запамятовуючий пристрій для збереження даних, виконаний за технологією EEPROM, який містить 512 байт і забезпечує 100000 циклів стирання/запис.

Статичний ОЗП даних

Оперативний запамятовуючий пристрій статичного типу для збереження даних (SRAM), який містить 1 Кбайт вбудованої памяті.

Доступ до статичного ОЗП даних може бути легко здійснений через 5 різних режимів адресації архітектури AVR і виконується за два машинних цикли.

При генерації переривання і виклику підпрограм адреса повернення з програмного лічильника записується в стек. Стек ефективно розподілений у статичному ОЗП памяті даних і, отже, розмір стека обмежений загальним розміром статичного ОЗП і використовуваним його обсягом. У будь-якій програмі відразу після скидання повинна бути виконана ініціалізація покажчика стека (SP) (тобто перед виконанням процедур обробки переривань або викликом підпрограм). Покажчик стека - SP - доступний для читання і запису у просторі введення-виведення. На рис. 3.3 показано організацію памяті в мікроконтролері AT mega8.

Простір памяті введення - виведення містить 32 адреси з безпосередньою адресацією або може адресуватися як память даних.

Рис. 3.3 - Структура памяті