кристала. Вирішення цього завдання супроводжується вирішенням двох вкладених підзадач:
- формуванням необхідної послідовності сигналів, керуючих роботою АЦП, для отримання 12 -розрядним коду результату з забезпеченням його тимчасового збереження;
- формуванням необхідної послідовності сигналів, керуючих передачею збережених даних в пам'ять МП.
Загальна структура блоку Cnt_ADC приведено малюнку 8. Ключовим елементом схеми є автомат управління Avt_ADC. Операційна частина фрагмента містить два регістри Reg_Buf1 і Reg_Buf2 для проміжного зберігання 8 - і 4 -розрядних частин даних від АЦП, мультиплексор мuх, лічильник Count, відповідальний за довжину прийнятого блоку даних.
Тригери Т1 і Т2 введені в схему пристрою для синхронізації сигналів асинхронно працюючих блоків - АЦП і автомата. Функціональне призначення керуючих сигналів очевидно. Сигнали, квитирующего обмін блоку даних, - start, Busy. Сигнали, квитирующего управління одиночним циклом перетворення АЦП, - nconvst, nЕОС. Сигнали, що забезпечують передачу даних від АЦП, - ncs, nRD і сигнал Load, що забезпечує запис даних Data в регістри проміжного зберігання Reg_Buf1 і Reg_Buf2. Сигнал Load використовується одночасно для нарощування значення лічильником count числа прийнятих слів. Початковий скидання лічильника здійснюється сигналом Res_count. Стан сигналу End_count вказує заповнення буфера пам'яті.
Розбиття передачі 12 -розрядних кодів на дві посилки зажадало розбиття регістра на дві частини (8 і 4 розряду) і введення сигналу ОЕ, керуючого зніманням інформації з цих частин. Мультиплексор мuх забезпечує підключення виходу обраного проміжного регістра (Reg_Buf) до МП для передачі даних в пам'ять. Для одиночної передачі даних по каналу прямого доступу до пам'яті (DMA) служить система квитирующего сигналів Req _ DMAІAck _ DMA.
Автомат синхронний - тактовий сигнал clk, сигнал асинхронного скидання - Rst.
Малюнок 8 - Структура блоку Cnt_ADC
3.2 Проектування керуючого автомата Avt_ADC
Можливий алгоритм роботи автомата Avt_Aoc блоку cnt_ADС, відповідальний протоколу, необхідному для правильної роботи БІС AD7892 фірми Analog Devices, може мати вигляд, відповідний схемою переходів автомата, наведеною на малюнку 9. Схема переходів за допомогою графічного редактора пакету HDL Designer Series фірми Mentor Graphics була занесена у відповідний діаграмні файл.
Автомату Avt_ADC, керуючого зчитуванням даних з АЦП в тимчасовий регістр Reg_Buf і записом цих даних в пам'ять МП, і підтримуючого для цих обмінів необхідну взаємодію квитирующего сигналів.
Основу алгоритму утворює циклічна послідовність зміни станів, що визначає виконання 128 циклів оброблюваного блоку.
Початково (по сигналу Rst і по завершенні циклу запису блоку даних) автомат знаходиться в стані IDLE_ST. У цьому стані автомат формує сигнал Busy, що сигналізує про готовність до прийому блоку даних від АЦП, і сигнал Res_count, обнуляє лічильник числа циклів запису count, і продовжує перебувати в стані IDLE_ST до появи сигналу start, який призводить до переходу автомата в подальший стан START_ST. У цьому стані формується сигнал запуску процедури перетворення: сигнал nconvst встановлюється в 0.
У стані WAIT1_ST автомат залишається до тих пір, поки не надійде сигнал готовності даних від ADC - сигнал nЕОС не стане рівним нулю.
У стані LOAD_ST формуються сигнал квітірованія nRD для АЦП, сигнал запуску запису даних Load від ADC в проміжний регістр і сигнал запиту DMА_Req до контролера ПДП. Одночасно із запитом підготовляється передача в МП старшого байта даних із регістру, для чого формується сигнал ОЕ.
У стані WАIТ2_sт формується сигнал ОЕ. У цьому стані автомат залишається до тих пір, поки не з'явиться сигнал ACK_DMA, що підтверджує готовність МП до прийому даних по каналу ПДП. За цим сигналом вихідні дані Reg_Buf1, що знаходяться на виході мультиплексора, переписуються в ОЗУ.
У стані DMA_ST формуються новий сигнал запиту Req _ DMA до контролера ПДП і готується передача в МП молодших 4 -х розрядів даних із регістру Reg_Buf2, для чого знімається сигнал ОЕ.
Автомат безумовно переходить зі стану DMA_ST в стан WAIT3_ST. У цьому стані він залишається до тих пір, поки не з'явиться сигнал ACK_DMA, що підтверджує готовність МП до прийому даних по каналу ПДП.
У стані ENDTR_ST аналізується сигнал End_Count. Якщо сигнал End_count дорівнює 1, що відповідає завершального 128 циклу прийому оцифрованих даних від АЦП, то автомат переводиться в початковий стан IDLE_ST, в іншому випадку автомат переходить в стан START_ST, запускающее...