Принципиальная схема подключения внешней памяти к микроконтроллеру размещена ниже. Схема и печатная плата разработана в среде проектирования Eagle.
Как видно, схема полностью соответствует блок-схеме, которую мы рассмотрели в первой части статьи. Добавлены конденсаторы по питанию микросхемы регистра-сдвига и микросхемы памяти. Также, добавлены светодиоды, которые подключены к линиям управления /WR (запись) и /RD (чтение), которые позволят немного визуализировать процесс записи/чтения памяти. Светодиоды можно включать/выключать с помощью перемычек (джамперов).
Список использованных компонентов
Наименование
|
Маркоровка / номинал
|
Корпус
|
Кол-во
|
ОЗУ (SRAM)
|
44-выводный TSOP-II
|
1
|
|
Регистр-защелка
|
20-выводный TSSOP-20
|
1
|
|
Конденсатор
|
100 нФ
|
smd 0603
|
3
|
Конденсатор
|
1 мкФ
|
smd 0603
|
1
|
Резистор
|
430 Ом
|
smd 0603
|
2
|
Светодиод – желтый
|
производства Kingbright
|
smd 1206
|
1
|
Светодиод – красный
|
производства Kingbright
|
smd 1206
|
1
|
Перемычка (джампер)
|
2 выводный
|
Расстояние между
выводами 2.54 мм |
2
|
DIP коннектор
|
22 выводный
|
Расстояние между
выводами 2.54 мм |
1
|
DIP коннектор
|
6 выводный
|
Расстояние между
выводами 2.54 мм |
1
|
Подключение внешней памяти и регистра-защелки к микроконтроллеру осуществляется согласно таблицы:
Arduino
|
Микроконтроллер
AVR |
ОЗУ (SRAM)
|
![]() |
22
|
AD0/PA0
|
D0
|
|
23
|
AD1/PA1
|
D1
|
|
24
|
AD2/PA2
|
D2
|
|
25
|
AD3/PA3
|
D3
|
|
26
|
AD4/PA4
|
D4
|
|
27
|
AD5/PA5
|
D5
|
|
28
|
AD6/PA6
|
D6
|
|
29
|
AD7/PA7
|
D7
|
|
30
|
A15/PC7
|
A15
|
|
31
|
A15/PC6
|
A14
|
|
32
|
A15/PC5
|
A13
|
|
33
|
A15/PC4
|
A12
|
|
34
|
A15/PC3
|
A11
|
|
35
|
A15/PC2
|
A10
|
|
36
|
A15/PC1
|
A9
|
|
37
|
A15/PC0
|
A8
|
|
38
|
PD7/T0
|
BANK0
|
|
39
|
ALE
|
latch enable
|
|
40
|
/RD/PG1
|
/RD
|
|
41
|
/WR/PG0
|
/WR
|
|
42
|
PL7
|
BANK1
|
|
43
|
PL6
|
BANK2
|
Выводы коннекторов на плате Arduino, закрашенные красным цветом, используются интерфейсом XMEM, выводы, закрашенные зеленым цветом, используются пользователем для управления активным банком памяти.
Вид рисунка печатной платы в сиcтеме проектирования Eagle
Линии питания сделаны немного шире, по сравнению с сигнальными линиями. Как видно, плата разработана двухсторонней с большим количеством переходных отверстий, поэтому пользователи могут самостоятельно переделать печатную плату с целью минимизации переходных отверстий и более оптимального размещения компонентов. Также возможно разработать печатную плату для установки в вертикальном положении на плате Arduino.
Вид готовой печатной платы (изготовлена в заводских условиях)
Печатная плата с установленными компонентами
Плата с внешней памятью подключенная к плате Arduino
В третьей части статьи мы полностью рассмотрим программную часть проекта, включая специализированные библиотеки Arduino, регистры управления интерфейсом XMEM, а также базовые решения при использовании внешней памяти с микроконтроллером AVR.