Микропроцессоры и микроконтроллеры

 
 
 
«Обучение программированию не может научить быть экспертом, также как и изучение кистей и красок не может превратить кого-либо в художника.»
Eric S. Raymond
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципи програмування MSC-51 :: Взаємодія МК51 із зовнішньою пам'яттю

Взаємодія МК51 із зовнішньою пам'яттю

Організація доступу до ВПП і ВПД

rn

У мікроконтроллерних системах на основі МК51 можливе використання двох типів зовнішньої пам'яті: постійної пам'яті програм - ВПП і оперативної пам'яті даних - ВПД.

rn

На ріс.13.1 (мал. 23 в комплекті або ріс.5.1 в посібнику) зображені узагальнені тимчасові діаграми операцій із зовнішньою пам'яттю програм, які ілюструють процес генерації сигналів ALE і PSEN і прив'язку роботи портів Р0, Р2 до цих сигналів. < /p> rn

Функція сигналу ALE - забезпечити узгодження передачі через порт Р0 молодшого байта адреси і прийом-передачу байтів даних, тобто визначати, коли на висновках порту P0 знаходиться адресу, а коли - дані. При цьому молодший байт адреси повинен фіксуватися в зовнішньому регістрі по задньому фронту сигналу ALE як під час звернення до ВПП, так і при доступі до ВПД (мал. 13.2). Сигнал ALE генерується двічі за МЦ, навіть якщо немає звернення до ВПП. У системах без ВПД сигнал ALE має постійну частоту, яка дорівнює 1 /6 частоти резонатора, і може використовуватися як зовнішній сінхросігнал.

rn

Сигнал PSEN виконує функцію строба читання (строба прийому до МК) байтів команди при зверненні до ВПП. Якщо робота здійснюється з РПП, то PSEN не генерує. У циклі звертання до ВПД генерація PSEN блокується (мал.24 в комплекті або ріс.13.3). Активний рівень цього сигналу - низький, то є "0"!

rn

Звернення до ВПП здійснюється при читанні команди, якщо (РС)> 0FFFH незалежно від значення сигналу # EA, і при будь-якому вмісті PC ((РС) = 0 ... FFFFH), якщо # EA = 0. Звернення до ВПП здійснюється також при виконанні команд MOVC A, @ A + DPTR і MOVC A, @ A + PC (адреса завжди 16-бітовий).

rn

Тимчасові діаграми ріс.13.1 (ріс.23 в комплекті) зображують процес вибірки команд з ВПП. Джерелом адреси під час вибірки команди завжди є (PC), причому PCH - ( "high") видається через порт P2, а PCL - ( "low") - через порт P0. Байт команди приймається через порт P0 по строб-сигналу PSEN.

rn

rn

Схема демультиплексування інформації порту P0 на регістре

rn

Рис. 13.2. Схема демультиплексування інформації порту P0 на регістр

rn

Доступ до ВПД забезпечується сигналами # RD і # WR, які видаються по лініях Р3.7 і Р3.6, якщо порт 3 виконує периферійні функції.

rn

Тимчасові діаграми ріс.13.3 (мал.24 в комплекті) ілюструють процес звернення до ВПД за допомогою команди MOVX для циклів читання і запису.

rn

Звернення до ВПД здійснюється при реалізації:

rn

- команд читання з ВПД - MOVX A, @ DPTR або MOVX A, @ Ri;

rn

- команд запису в ВПД - MOVX @ DPTR, A або MOVX @ Ri, A.

rn

Джерелом адреси може виступати регістр DPTR ((DPH) - виводиться через Р2, (DPL) - виводиться через Р0), або регістр R0 Чи R1 (старший байт адреси береться з регістра-фіксатора порту Р2, молодший байт адреси - (R0 ) або (R1) - виводиться через порт Р0).

rn

Діаграмми звернення до ВПД при виконанні команд MOVX

rn

Рис. 13.3. Діаграми звернення до ВПД при виконанні команд MOVX:

rn

1 - молодший байт адреси (PCL); 2 - прийом на МК байтів команди MOVX;
3 - видача (DPL) або (R0) або (R1); 4 - читання в МК байтів даних

rn

У будь-якому разі використання 16-бітового адреси старший байт адреси фіксується в регістрі порту Р2 і залишається незмінним протягом усього циклу обігу. Видача старшого байта адреси команди через порт Р2 при читанні команд з ВПП не змінює інформацію в регістрі-фіксатор, яка необхідна для доступу до ВПД через команди MOVX @ Ri, A і MOVX A, @ Ri.

rn

По сигналу ALE у фазі S5 перший МЦ адреса комірки ВПД, що видається через порт Р0, може фіксуватися в зовнішньому регістрі (ріс.13.2), оскільки протягом наступних чотирьох фаз (S6-S3) порт Р0 зайнятий пересилкою байтів даних.

rn

Операція з ВПД завжди реалізується у другому МЦ виконання команди MOVX. При цьому генерується сигнал # RD або # WR, блокується видача ALE і PSEN. Дані, які приймаються, записуються в порт Р0 всередині інтервалу дії # RD. Дані, які видаються, знаходяться на висновках порту Р0 весь інтервал дії сигналу # WR.

rn

Реалізація сполученою зовнішньої пам'яті програм і даних

rn

На етапі налагодження буває зручно оперативно змінювати коди програм. Для реалізації цієї можливості застосовують режим сполучення адресних просторів ВПП і ВПД у загальне простір 64К з фізичною реалізацією ВПП на мікросхемах ОЗУ. Для правильного керування доступом до ВП застосовують просту логіку (ріс.13.4). При цьому потрібно враховувати, що:

rn

1) адресні області програм і даних не повинні перетинатися;

rn

2) остаточна версія програми може відрізнятися від отлажіваемой.

rn

Подібна схема може використовуватися в тих системах на основі МК51, де потрібні оперативна перезавантаження і модифікація прикладних програм в процесі управління об'єктом.

rn

Управленіе сполученою областю ВПП і ВПД

rn

Рис. 13.4. Управління сполученою областю ВПП і ВПД