5 лаб - код в архиве / Lab_3_I2C
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ВТ
Отчет по лабораторной работе № 3
По дисциплине «Интерфейсы периферийных устройств»
Тема: «Электрически стираемое программируемое ПЗУ»
Студенты гр. 6307 |
|
Кичерова А. Д. Васин А. М. |
Преподаватель |
|
Молодцов В. О. |
Санкт-Петербург
2019
Цель работы
С помощью САПР Quartus II разработать узел, который производит обращение к устройству EEPROM.
Задание на работу
Разработать узел, осуществляющий передачу контрольного байта устройству EEPROM Microchip 24LC64 через интерфейс I2C, биты которого задаются движковыми переключателями. Ответ устройства пронаблюдать на осциллографе.
Теоретические сведения
EEPROM (Electrically Erasable Programmable Read-Only Memory) – электрически стираемое перепрограммируемое ПЗУ (ЭСППЗУ), один из видов энергонезависимой памяти (таких, как PROM и EPROM).
В работе используется EEPROM Microchip Technology 24LC64 с размером памяти 64 кбит. Устройство организовано одним блоком из 8Кх8б ячеек и подключается через последовательную двухпроводную шину I2C. Ниже приведены технические характеристики устройства:
Время доступа: 5 мс
Сохранение данных: 200 лет
Максимальная тактовая частота: 400 кГц
Напряжение питания - макс.: 3 мА
Напряжение питания - мин.: 2.5 V
Напряжение питания - макс.: 5.5 V
Минимальная рабочая температура: - 40 C
Максимальная рабочая температура: +85 С
Рабочий ток источника питания: 3 мА
Рабочее напряжение питания: 2.5 V до 5.5 V
Программирующее напряжение: 2.5 V до 5.5 V
24LC64 поддерживает двунаправленную передачу данных по протоколу I2C. Устройство, которое посылает данные на шину является передатчиком, устройство, принимающее данные – приемником. Шина должна контролироваться устройством-мастером, которое генерирует тактовый сигнал SCL, контролирует доступ к шине и генерирует биты Start и Stop, пока 24LC64 работает подчиненным (ведомым) устройством. И ведущее, и ведомое устройство могут быть как передатчиком, так и приемником, но режим работы устанавливать может только ведущее устройство.
Передача данных по шине может начаться только тогда, когда шина свободна. Во время передачи, SDA линия должна сохранять состояние в любой период, когда уровень SCL в единице. Изменения в SDA при SCL=1 интерпретируются как бит Start или Stop.
На диаграмме выше участок A – шина не занята, B – начало передачи данных, C – окончание передачи данных, D – данные достоверны.
После бита Start следует байт контроля:
Контрольный код 1010 неизменен. Биты CS предназначены для адресации устройства, в нашем случае адрес 000. Последний бит определяет тип операции – 1 для чтения, 0 для записи.
Каждый приемник, когда по его адресу произошла посылка данных, генерирует бит Acknowledge после получения одного байта данных. Ведущее устройство должно выделять под это отдельный такт. Устройству, которое генерирует Acknowledge, необходимо привести линию SDA к нулевому уровню на период тактового сигнала, отведенный под бит Acknowledge.
Ход работы
Для выполнения работы выбрана САПР Quartus II и язык Verilog HDL. Использовался модуль для понижения тактовой частоты, разработанный для предыдущих работ. С его помощью, частота понижена до 200 кГц.
Затем разработан модуль ведущего устройства, осуществляющий контроль за передачей данных, генерацию Start и Stop битов.
Следом в планировщике контактов были назначены необходимые выходы на порт B, входы – на переключатели и выполнена прошивка.
SDA
SCL
s
SDA
SCL
Теперь, когда переключатели поставлены в положение 10100000, видим, что на девятом импульсе линия SDA опущена, значит Acknowledge был сгенерирован, обращение к устройству выполнено успешно.
Наблюдение работы узла с помощью осциллографа и изменение данных контрольного байта с помощью переключателей показало, что узел работает правильно.
Вывод: в результате работы был разработан узел, осуществляющий контроль передачи данных через последовательную двухпроводную шину I2c на устройство EEPROM. За функционированием узла при разных данных контрольного байта, установленных переключателями на плате, проследили с помощью осциллографа.