Поставки электронных компонентов ведущих мировых производителей
на главнуюнаписать письмокарта сайта ENG
О Корпорации «ТОЧКА ОПОРЫ»
МОСКВА,
Балаклавский проспект, 28 Б, строение 1
(495) 956 3942  (495) 956 3943 (факс)
(800) 200 3942  (бесплатные звонки)
скайп:  fulcrum.office
контакты и схема проезда
поиск по сайту:  ИСКАТЬ
 
 

Технические статьи

Работа с аппаратным интерфейсом SPI микроконтроллеров семейств AVR и MCS51
на примере обмена данными с микросхемами энергонезависисой памяти
семейства DataFlash

В этом примере мы рассмотрим работу с аппаратным интерфейсом  SPI  микроконтроллеров  семейств  AVR (листинг)  и  MCS51 (листинг)  фирмы Atmel.
Написанные на ассемблере программы (драйверы) включают в себя инициализацию интерфейса  SPI,  подпрограммы обмена по  SPI  с микросхемой памяти  (пересылка байта, операция со страницей памяти, ожидание сигнала готовности)  и реализацию обмена между контроллером и управляющим компьютером.  В качестве  микросхемы памяти  используется  DataFlash  фирмы  Adesto technologies  (ранее  Atmel).

Программы тестировались с отладочными платами  ATSTK500  и  TB51M/AVR.  Вывод  SCK  микросхемы памяти соединен с соответствующим выводом микрокнотроллера,  вывод  SI  микросхемы памяти – с выводом  MOSI  контроллера,  вывод  SO – с выводом  MISO.  Вывод  !CS  микросхемы памяти соединен с соотвествующим выводом контроллера  (PB2 для AVR,  P1.4 для MCS51).  Индикаторный светодиод подключен к выводу  PD7  или  P1.0.  Низкий уровень на этом выводе сигнализирует о готовности контроллера к принятию команды выбора операции от терминала.  Внешниее прерывание  N0  используется для завершения операции записи и инициации передачи данных терминалу.  Более подробный обзор схемотехнических решений, включая вопросы согласования уровней сигналов, приведен в статье [1].

Терминальная программа  (исполняемый модуль PAGE.EXE)  работает под управлением  ОС MS-DOS  или  MS-Windows 9x  (при использовании в более новых ОС не забудьте выставить соответствующий режим совместимости для исполняемого файла или используйте другое ПО, например,  Hyperterminal  или  Br@y terminal),  скорость обмена по последовательному порту – 19200 бод.

При запуске программа предлагает выбрать порт для обмена данными с микроконтроллером.  Затем предлагается выбрать операцию: «Запись страницы памяти», «Сравнение страницы памяти с файлом на диске», «Чтение страницы памяти в дисковый файл».  После выбора пункта меню предлагается указать адрес страницы памяти [2].

В пункте «Запись» производится прием данных (ASCII) с клавиатуры, передача их в контроллер и запись в буфер микросхемы памяти.  После ввода каждой строки сообщается о количестве переданных байт.  Запись заканчивается после передачи 256 байт и содержимое буфера переписывается в энергонезависимую память.  Запись буфера в память также может быть инициирована последовательной подачей активного низкого сигнала (импульс) на вход внешнего прерывания  N0  и вводом пустой строки (клавиша «Enter») в терминальной программе.  Записанные данные сохраняются в файле «temp.txt».

В пунктах «Сравнение» и «Чтение» после передачи адреса страницы производится чтение данных из энергонезависимой памяти в буфер.  После подачи активного низкого сигнала (импульс) на вход внешнего прерывания  N0  данные из буфера передаются терминалу для сравнения с файлом «temp.txt» или записи в файл «out.txt».  Прекращение работы программы – «ESC», в противном случае быдет повторно предложено выбрать операцию.
 

P. S.  Продолжение следует... (работа про прерываниям на примере обмена с контроллером  COG  ЖКИ  и работа с микросхемами  Serial Flash  фирм  Numonyx,  Macronix,  Amic technologies,  EON silicon solutions,  Winbond  и  т. д.).
Следите за изменениями.
 

Литература:

 
 
Автор:  Станислав Лещинский  aka «Точка Опоры»
ООО «МФК Точка Опоры», Москва,  www.fulcrum.ru
04.02.2002

о компании
контакты и схемы проезда
партнерство
    главная        программа поставок    поиск по складу    поддержка    услуги
новости    конференции    рассылки    запросы товаров
 
карта сайта
добавить в избранное
сделать стартовой
 © 1999–2017  FulCrum Corp.
          обратная связь: ic@fulcrum.ru Rambler's Top100 ServiceTop100