Взаємодія МК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 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 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. Управління сполученою областю ВПП і ВПД
|