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

 
 
 
«Компьютерная программа делает то, что вы приказали ей сделать, а не то, что вы хотели, чтобы она сделала»
Русский | Українська

На правах реклами:



Rambler's Top100 Рейтинг@Mail.ru
Мікропроцесори та мікроконтролери :: Канали вводу-виводу на основі МК51 :: Інтерфейс внутрішньосистемні програмування SPI

Інтерфейс внутрішньосистемні програмування SPI

У мікроконтролерах AT89Sxxxx реалізована можливість зміни вмісту пам'яті програм при знаходженні МК в цільовій системі - ISP - in- system programming . Ця можливість забезпечується наявністю послідовного інтерфейсу SPI. Цей інтерфейс, крім цілей програмування, в деяких моделях може також забезпечувати обмін даними між кількома мікроконтролера. Швидкість обміну - до 1,5 Мбіт /с.

rn

Відповідно до стандарту інтерфейсу SPI, в ньому присутні такі сигнали (у дужках вказана відповідна фізична лінія порту МК):

rn

MOSI (P1.5) - master output slave input - інформаційний вихід контролера, ініціюючого обмін (ведучого) - вхід підпорядкований контролера;

rn

MISO (P1.6) - master input slave output - інформаційний вхід контролера, ініціюючого обмін (ведучого) - вихід підпорядкований контролера;

rn

SCK (P1.7) - serial clock - лінія синхронізації; тактові імпульси формує провідний контролер;

rn

SS (P1.4) - slave select - лінія вибору підпорядкований пристрої; ведені пристрій має формувати на цьому виході "0".

rn

Налаштування інтерфейсу SPI для обміну даними з іншими мікроконтролера здійснюється шляхом встановлення бітів спеціальних РСФ:

rn

SPCR - SPI control register , SPSR - SPI status register та SPDR - SPI data register . Бітів структура цих регістрів в даній статті не розглядається.

rn

Для цілей фізичного програмування Flash-пам'яті інтерфейс SPI використовується спільно з сигналом Reset, а лінія SS не задіяні. При подачі високого рівня на вхід Reset контролер переходить в режим скидання, одночасно є режимом запису пам'яті програм.

rn

Фізичне програмування Flash-пам'яті може бути виконане безпосередньо з ПЕОМ. Для видачі сигналів програмування можна використовувати LPT-порт, а необхідний протокол (послідовність команд, адрес та даних для запису) реалізується спеціальним програмним забезпеченням. Таким чином, через лінії паралельного LPT-порту реалізується побітовая передача даних.

rn

Програмування виконується через кабель, побудований за схемою:

rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn
rn

Лінія
інтерфейсу SPI

rn
rn

Лінія МК (номер висновку)

rn
rn

Лінія LPT-порту
(контакт роз'єму DB-25)

rn
rn

MOSI

rn
rn

P1.5 (6)

rn
rn

7

rn
rn

MISO

rn
rn

P1.6 (7)

rn
rn

10

rn
rn

SCK

rn
rn

P1.7 (8)

rn
rn

8

rn
rn

RST

rn
rn

Reset (9)

rn
rn

6

rn
rn

GND

rn
rn

Vss - GND (20)

rn
rn

18-25 (все з'єднати)

rn
rn

Кабель рекомендується виконувати таким чином, щоб кожен сигнальний провід утворювали виту пару з провідником GND (можна використовувати плоский многожільний кабель з індивідуальною екраніровкой проводів). Довжина кабелю не повинна перевищувати 1 м.

rn

В якості спеціалізованого програмного забезпечення можна використовувати, наприклад, програму-завантажувач AEC_ISP.exe, вільно розповсюджується фірмою AEC Corp. Вхідний інформацією для завантажувача AEC_ISP є скомпільований файл прикладної програми, представлений в форматі Intel HEX (такий формат файлу формується практично всіма компілятора, в тому числі і середовищем MCStudio ). Завантажувач дозволяє виконати фізична програмування контролерів типів AT89S51, AT89S52, AT89S8252, AT89S53. Одночасно з пам'яттю програм може бути виконана запис даних у EEPROM. Також завантажувач автоматично здійснює верифікацію (перевірку вмісту) Flash - і EEPROM-пам'яті. Програма-завантажувач AEC_ISP реалізована як DOS-додаток.












При використанні будь-яких матеріалів з сайту зворотнє посилання на сайт Мікропроцесори та мікроконтролери обов'язкова.