Скачиваний:
27
Добавлен:
16.07.2022
Размер:
96.89 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ВТ

Отчет по лабораторной работе № 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

На рисунке выше видно, что когда переключателями биты контрольного байта установлены в положение 10100100, линия SDA находится в высоком уровне в период девятого импульса генератора, что означает Acknowledge не был сгенерирован.

Теперь, когда переключатели поставлены в положение 10100000, видим, что на девятом импульсе линия SDA опущена, значит Acknowledge был сгенерирован, обращение к устройству выполнено успешно.

Наблюдение работы узла с помощью осциллографа и изменение данных контрольного байта с помощью переключателей показало, что узел работает правильно.

Вывод: в результате работы был разработан узел, осуществляющий контроль передачи данных через последовательную двухпроводную шину I2c на устройство EEPROM. За функционированием узла при разных данных контрольного байта, установленных переключателями на плате, проследили с помощью осциллографа.

Соседние файлы в папке 5 лаб - код в архиве