il
"РЛ" - НАЧИНАЮЩИМ
ü
Флаги SPIF и WOOL сбрасываются аппаратно, если сна-
чала обратиться для чтения к регистру SPSR, а затем счи-
тать данные из SPDR.
После сброса флаги SPIF и WOOL в регистре SPSR сбро-
шены.
Работа с интерфейсом SPI может вестись при помощи
тех же подходов, что и с UART, т.е. либо с ожиданием за-
' вершения обмена, либо по прерываниям, поэтому, я думаю,
уделять внимание программным примерам нет смысла.
При работе с UART и SPI не следует забывать, что ли-
нии портов, задействованных аппаратно для этих интерфей-
сов, остаются программно доступными. То есть ничто не
мешает во время аппаратной передачи/приема программ-
но изменить уровни на соответствующих линиях, что, не-
сомненно, не будет способствовать качественному обмену.
В заключение хочу дополнить сказанное тем, что интер-
фейс SPI используется для записи программ в память мик-
роконтроллера, т.е. для программирования. Режим програм-
мирования включается автоматически, если при высоком
уровне на входе RST по SPI будет передана специальная
команда, состоящая из трех байт. Протокол обмена (т.е. пе-
речень команд) между программатором и микроконтрол-
лером знать вовсе необязательно, т.к. он реализуется про-
граммой ChipBoom (или иной), которую вы используете для
программирования микроконтроллеров.
Глава 24. Интерфейс расширения памяти
Сейчас мы кратко познакомимся с материалом, кото-
рому в литературе прошлых лет, посвященной микрокон-
троллерам семейства MCSr51, уделялось едва ли не ос-
новное внимание. Это связано с тем, что 20 лет назад уро-
, вень развития технологии не позволял сделать недорогое
многократно перепрограммируемое ПЗУ для хранения про-
грамм в микроконтроллере, да и объем ОЗУ на кристалле
был невелик, поэтому широко использовались внешние
микросхемы ПЗУ и ОЗУ, в которых хранились програм-
мы и данные для микроконтроллера. В современных мик-
роконтроллерах используется Flash-технология, что, в об-
щем-то, снимает остроту этой проблемы. Однако и По сей
день выпускаются модели микроконтроллеров семейства
MCS-51, у которых отсутствует встроенная память про-
грамм, т.е. для их нормальной работы необходимо исполь-
зовать старый прием - расширение памяти за счет вне-
шних микросхем.
Небольшое отступление. Вместо термина “расшире-
ние памяти" правильнее было бы использовать термин
*расширение адресного пространств
а”,
т.к. в основном этот
интерфейс используется именно для увеличения количе-
ства адресуемых устройств, подключенных к микроконт-
роллеру. Т.е. при помощи этого интерфейса можно под-
ключать к микроконтроллеру не только дополнительное
О З У или ПЗУ, но и другие устройства, например, приводы
IDE-устройств (CD-ROM или “винчестерьГ). Термин “рас-
ширение
памяти”
используется только из-за того, что
с
точ-
ки зрения программы микроконтроллера все эти внешние
устройства отображаются на область адресов внешнего
ОЗУ, и работа с ними происходит теми же средствами, что
и
с
ячейками памяти.
Для подключения дополнительных внешних устройств
в микроконтроллере AT89S8252 используется широкоиз-
вестный метод совмещенной шины адреса-данных. Так
как адресное пространство микроконтроллера может про-
стираться до адресов OFFFFh, то в шине адреса исполь-
зуется 16 линий, для чего задействованы порты Р0 и Р2.
Порт Р0 используется для вывода младшего байта адре-
са, Р2 - старшего байта адреса." Кроме того, порт Р0 ис-
пользуется для приема/выдачи байта, т.е. совмещает две
функции. Для разделения этих функций требуется допол-
нительный
8
-разрядный регистр-защелка, в котором за-
поминается младший байт адреса.
Н ебольш ое дополнение. Порт Р 0 во многих микро-
контроллерах семейства M CS51 не имеет встроенных
pull-up резисторов, т.е. является портом с чистыми “от-
крытми стоками". В нашем М К встроенные подтягиваю-
щие резисторы имеются, но их сопротивление относи-
тельно велико. Это означает, что при работе с устрой-
ствами (О З У ,П З У и т.п.) на высоких скоростях необхо-
димо применять внешние подтягивающие резисторы со-
противлением порядка единиц килоом (вспомните о мак-
симальном токе через вывод порта), иначе фронты им-
пульсов будут слишком затянуты, что может исказить
данные.
Сигналы, определяющие тип обращения к внешне-
му устройству (чтение байта или запись), формируются
на линиях Р3.7 (сигнал RD - чтение) и Р3.6 (сигнал WR -
запись), оба этих сигнала имеют активный низкий уро-
вень, как это принято в микропроцессорных системах.
Кроме этих сигналов, формируемых на выводах пор-
тов микроконтроллера, имеется ряд дополнительных
сигналов, для которых используются отдельные выво-
ды корпуса (вы наверняка обратили на них внимание
еще по самой первой схеме). Это сигналы ALE (защел-
кивание младшего байта адреса), PSEN (обращение к
внешнему ПЗУ программ) и ЕА (разрешение внешнего
ПЗУ программ).
Получающаяся при этом схема показана на рис. 18.
Особо следует отметить, что если на вход ЕА подан
низкий логический уровень, то внутреннее Flash-ПЗУ
Рис. 18. Схема расширения адресного пространства
Радиолюбитель - 0 1 /2 0 0 8 11
25
предыдущая страница 25 Радиолюбитель 2008-01 читать онлайн следующая страница 27 Радиолюбитель 2008-01 читать онлайн Домой Выключить/включить текст