Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 19 (19)

Рубрика журнала: Технические науки

Секция: Радиотехника, Электроника

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3

Библиографическое описание:
Горочный В.В. ЦИФРОВОЙ БЛОК ИНТЕРФЕЙСА I2C // Студенческий: электрон. научн. журн. 2017. № 19 (19). URL: https://sibac.info/journal/student/19/89218 (дата обращения: 25.11.2024).

ЦИФРОВОЙ БЛОК ИНТЕРФЕЙСА I2C

Горочный Вячеслав Владимирович

магистрант, кафедра систем автоматического управления и контроля МИЭТ,

РФ, г. Зеленоград

В современных электронных системах присутствует общая черта – потребность в передаче и хранении информации. Для этих целей инженеры всего мира разрабатывали различные протоколы для передачи и устройства для хранения данных.

Была поставлена задача разработать цифровой блок интерфейса:

  1. Блок предназначен для работы с памятью типа EEPROM с последовательным интерфейсом I2C (TWI);
  2. Блок должен поддерживать работу с микросхемами памяти с количеством разрядов в информационном слове 8 бит, емкостью до 32768 слов;
  3. Блок должен поддерживать режим записи данных со входа (2 ячейки по 8 бит по 1 адресу);
  4. Блок должен поддерживать режим чтения данных (2 ячейки по 8 бит по 1 адресу);
  5. Блок должен поддерживать режим протокола с адресной посылкой в 8 бит и 16 бит.

Изначально модуль можно представить черным ящиком, имеющим некоторое количество входных и выходных контактов. Конкретизируем количество входов и выходов блока, составив таблицу 1.

Таблица 1.

Описание входов/выходов блока

Наименование

Направление

Назначение

ADDR(N-2:0)

ВХОД

Адрес, по которому производится чтение/запись

DATA_WR(15:0)

ВХОД

Данные для записи

STROBE

ВХОД

Строб начала чтения/записи данных

RW

ВХОД

Сигнал переключения режима:

1 – запись, 0 – чтение

CLK

ВХОД

Внешний синхросигнал 50 МГц

RESET

ВХОД

Сигнал сброса, активный уровень – 0

EXT_PROT_EN

ВХОД

Сигнал переключения используемого протокола:

0 – 24С01, 1 – 1644CP2T

IS_BUSY

ВЫХОД

Сигнал выполнения операции

SDA_IN

ВХОД

Вход SDA

SDA_EN

ВЫХОД

Сигнал переключения площадки SDA. Режим выхода – активный 0

SDA_OUT

ВЫХОД

Выход SDA

SCL_IN

ВХОД

Вход SCL

SCL_OUT

ВЫХОД

Сигнал переключения площадки SCL. Режим выхода – активный 0

SCL_OUT

ВЫХОД

Выход SLC

DATAQ(15:0)

ВЫХОД

Шина выходных данных

 

 

Контакты SDA и SCL (всего 6 штук) идут на контактные площадки, представляющие собой двунаправленный буфер с третьим состоянием.

Опираясь на таблицу 1, выполняем внешнее описание модуля, в результате чего получаем готовый к заполнению черный ящик, представленный на рисунке 1.

 

Рисунок 1. Черный ящик блока EEPROM_I2C_CTRL

 

Перед реализацией блока следует определиться с внутренней структурой. Она должна выполнять все поставленные задачи, а также иметь потенциал к модернизации отдельных функций, не задевая функциональности других. Для реализации подобной структуры было выбрано модульное строение.

На рисунке 2 представлена использованная внутренняя структура блока EEPROM_I2C_CTRL.

 

Рисунок 2. Внутренняя структура блока EEPROM_I2C_CTRL

 

Блок RESET служит внутренним буфером для блокирования данных во время выполнения операции записи и чтения, является защитой от непреднамеренных действий пользователя.

Блок управления ­ выполняет функцию управления остальными модулями структуры, а также формирует сигнал о выполнении операций. Содержит в себе делитель системной частоты.

Модуль TX производит генерацию сигнала на шине I2C для выполнения операции записи. На рисунке 3 представлены реализуемые протоколы записи данных в двух режимах работы.

 

Рисунок 3. Протоколы записи данных, реализуемые в двух режимах работы

 

Расшифровка сокращений представлена в таблице 2.

Таблица 2.

Примененные сокращения

Сокращение

Расшифровка

ST

Старт-условие

SP

Стоп-условие

AS

Подтверждение от ведомого

AM

Подтверждение от ведущего

DW

Цикл записи 8 бит данных

DR

Цикл чтения 8 бит данных

WR

Формирование условия для записи

RD

Формирование условия для чтения

AW

Передача 8 бит адреса

PROG

Удержание на время программирования EEPROM

 

Модуль RX производит генерацию сигнала на шине I2C для выполнения операции чтения. На рисунке 4 представлены реализуемые протоколы чтения данных в двух режимах работы.

 

Рисунок 4. Протоколы чтения данных, реализуемые в двух режимах работы

 

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

Таблица 3.

Таблица истинности логической функции фильтра

X[2]

X[1]

X[0]

Q

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

 

 

Выходной мультиплексор выполняет переключение контактов на выход схемы в зависимости от используемого модуля.

Модуль удержания входного сигнала ­­– экстраполятор полученных данных с EEPROM.

Блок был написан на языке Verilog и испытан на работоспособность на платформе FPGA Altera с памятью EEPROM 24C01, использующей адресную посылку размерностью 8 бит, и памятью EEPROM 1644CP2T, использующей адресную посылку размерностью 16 бит.

 

Список литературы:

  1. Интерфейсная шина IIC (I2C) // Электроника для всех [Электронный ресурс] – Режим доступа: http://easyelectronics.ru/?s=1.%09Интерфейсная+шина+IIC+%28I2C%29+ (дата обращения: 30.11.17).
  2. Микросхемы интегральные 1644РС2Т Технические условия, ОАО «Интеграл», 2014 г. [Электронный ресурс] – Режим доступа: http://integral.by/sites/default/files/pdf/10_specifikaciya_1644rs2t.pdf (дата обращения: 30.11.17).
  3. 2-Wire Serial EEPROM AT24C01 Datasheet – Atmel Corporation [Электронный ресурс] – Режим доступа: http://www.atmel.com/images/doc0180.pdf (дата обращения: 30.11.17).

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.