. Крім того, практично кожна з команд (за винятком команд, у яких одним з операндів є 16-бітний адреса) займає одну комірку пам'яті програм.
У мікроконтролерах AVR реалізована Гарвардська архітектура, що характеризується роздільною пам'яттю програм і даних, кожна з яких має власні шини доступу. Така організація дозволяє одночасно працювати як з пам'яттю програм, так і з пам'яттю даних. Поділ інформаційних шин дозволяє використовувати для кожного типу пам'яті шини різної розрядності, причому способи адресації і доступу до кожного типу пам'яті також різняться. У поєднанні з дворівневим конвеєром команд така архітектура дозволяє досягти продуктивності в 1 MIPS на кожен МГц тактової частоти. Архітектура ядра мікроконтролерів AVR представлена ??на рисунку 5. [1]
Малюнок 5 - Архітектура ядра мікроконтролерів AVR
При створенні дослідного зразка системи управління скористаємося мікроконтролером AVR ATmega328, який за параметрами підходить для управління периферійними пристроями ізделія.- має наступні технічні характеристики:
FLASH-пам'ять програм обсягом 32 Кбайт
ОЗУ об'ємом 2 Кбайт
EEPROM-пам'ять даних об'ємом 1 Кбайт
32 контакту вводу/виводу
Напруга живлення 4.0 ... 5.5 В
Тактова частота 16 МГц
Також, у даної моделі мікроконтролера є вбудовані АЦП, два таймера/лічильника, інтерфейси USART, TWI, JTAG. [1]
Малюнок 6 - Архітектура мікроконтролера AVR ATmega328 і цоколевка висновків кристала
3.2.2 Обгрунтування вибору чіпа ENC28J60
Для сполучення виконавчого пристрою з мережею Ethernet необхідно скористатися чіпом компанії Motorolla ENC28J60, що є найбільш популярним і доступним чіпом для мікроконтролерів. У порівнянні з іншими схожими чіпами ENC28J60 є найбільш потужним при використанні і зручним для програмування. Він включає протокол прийому/передачі даних, MAC адресу, і протокол фізичного рівня в одному чіпі. При виборі мікроконтролера AVR ATmega328 для обміну даними найбільш підходящим є інтерфейс SPI. Чіп ENC28J60 дозволяє проводити обмін даними по інтерфейсу SPI зі швидкістю до 10 Мбіт/с, що є прийнятною швидкістю для розроблювального виконавчого пристрою. Структурна схема пристрою представлена ??на рисунку 7. [2]
Малюнок 7 - Структурна схема ENC28J60 (основні блоки) і цокольовка висновків чіпа
Призначення основних блоків:
· PHY - фізичний рівень. Цей рівень включає в себе приймач, передавач, драйвери, тобто все що необхідно для роботи з певною середовищем передачі даних.
· MAC (Medium Access Controller) - канальний рівень. У нього входить вся логіка, необхідна для відправлення та прийому кадрів в мережу Ethernet. MAC займається адресацією, розрахунком контрольної суми, фільтрацією прийнятих пакетів, дозволом колізій (у напівдуплексному режимі). Обмінюється з наступним, мережевим рівнем готовими пакетами, а з фізичним - відправляти і приймати байтами.
· Керуюча логіка займається всім іншим. У тому числі, обслуговує буфер, з якого MAC бере відправляються дані і зберігає прийняті. Управляє режимами енергоспоживання.
Вся пам'ять в ENC28J60 ділиться на буфер для даних, керуючі регістри і регістри PHY.
У ENC28J60 є буфер розміром 8 КБ. Частина цього буфера зазвичай виділяється для прийому пакетів, іншу частину можна використовувати як завгодно. Наприклад, для даних, що відправляються.
Керуючі регістри:
Адресний простір регістрів ділиться на 4 банк по 32 регістра. Основна частина регістрів має префікс E (Ethernet). Регістри MAC - з префіксом MA, регістри MII - з префіксом MI. Регістри можна розділити на функціональні групи. [2]
Малюнок 8- Регістри чіпа ENC28J60
Обмін даними з ENC28J60 виконується транзакціями. Транзакція починається з відправки мікроконтролером команди. Потім йдуть опціональні дані (прийом або передача). Завершується транзакція «підняттям» ніжки CS.
а)
б)
в)
Малюнок 3.2.2.3 - Цикл читання даних a) структура циклу, б) по тактовій для читання ETH регістрів, в) по тактовій для читання MAC і MII регістрів
а)
б)
в)
Рисунок 9 - Цикл запису даних a) структура циклу, б) по тактовій для запису управлюящіх регістрів, в) по тактовій для запису в буфер
Команда складаєт...