Проектирование средств контроля и диагностики с элементами высокой интеграции. Методические указания - 13 стр.

UptoLike

11
Рассмотрим теперь дальнейший обмен данными между
микроконтроллером и выбранным периферийным устройством. Их дальнейшее
взаимодействие зависит от конкретного типа периферийного устройства. Здесь
мы рассмотрим обмен данными с микросхемой последовательной памяти
24LC256 фирмы Microchip и с микросхемой датчика температуры (двоичный
код типа устройства – 1001) фирмы Dallas (теперь принадлежащей фирме
Maxim).
Работа с последовательной памятью
Запись в
память отдельного байта
Вслед за запросным байтом микроконтроллер должен передать два байта
адреса ячейки последовательной памяти, к которой выполняется обращение.
Каждый такой байт сопровождается восемью синхроимпульсами, и девятый
импульс дает возможность принять от периферии сигнал ACK. Если все в
порядке (все ACK приняты контроллером), то следующим шагом
микроконтроллера будет передача байта, предназначенного для записи. После
принятия байта данных периферия должна выдать ACK, после чего контроллер
завершает связь с микросхемой памяти, сформировав на линиях SCL и SDA
специальную комбинацию сигналов, которая называется стоповой комбинацией
или просто сигналом STOP. Процесс записи одиночного байта по указанному
адресу проиллюстрирован рисунком рис. 5.
Рис. 5. Запись одиночного байта
После получения сигнала STOP, микросхема памяти на некоторое время
становится недоступной для связи. Дело в том, что в действительности прием
байта микросхема памяти производит во внутренний промежуточный буфер, и
только после получения сигнала STOP происходит физическая запись
информации в основную память микросхемы. Запись информации требует
порядка 5 миллисекунд (10
мс для старых версий микросхем). Это весьма
значительный интервал времени, если учесть, что передача синхроимпульсов
может вестись с частотой до 400кГц (до 100кГц для старых микросхем), т. е.
передача данных в микросхему происходит весьма быстро. У пользователя есть