I2C Master

Сконфигурируйте и свяжитесь с ведомым устройством I2C

  • Библиотека:
  • SoC Blockset / Аппаратный ввод-вывод Логики

Описание

Блок I2C Master конфигурирует и передает с межинтегральной схемой коммуникации (I2C) ведомое устройство, соединенное к программируемой пользователем вентильной матрице (FPGA). Этот блок содержит ведущий контроллер I2C с интерфейсом AXI-Lite, чтобы выполнить настройку.

Блок I2C Master поддерживает эти функции:

  • AXI4-облегченная интерфейсная поддержка настройки и доступа

  • Одно-основная и мультиведомая поддержка

  • 7-битная поддержка обращения

  • Несколько поддержки скоростей передачи, которая включает эти режимы:

    • Стандартный режим (to100 kHz)

    • Быстрый режим (до 400 кГц)

    • Быстро - плюс режим (до 1 МГц)

  • Поддержка пакетного режима пакетный размер имеющий 16 байтов

  • HDL-IP совместимая модель с возможностью генерации кода

Блок использует интерфейс AXI-Lite, чтобы сконфигурировать и создать интерфейс path управления, чтобы связаться с ведомым устройством I2C. Блок позволяет вам выполнить процессы симуляции и генерации отдельно. Оборудование, сгенерированное от процесса генерации, содержит AXI-облегченный интерфейс регистра и два аппаратных интерфейса, последовательные часы (SCL) и последовательные данные (SDA). SCL и SDA соединяют блок I2C Master и ведомое устройство.

Каждый порт, представленный в блоке, является AXI-облегченным регистром, кроме sdaIn, scl и портов sda. Чтобы связаться с ведомым устройством, AXI-облегченный интерфейс регистра конфигурирует информацию о регистре в блоке I2C Master. Эта таблица содержит Ведущее устройство I2C AXI-облегченная информация о регистре.

АдресПорт и имя регистраУкажите размер в битахРежим работы
0x100ctrlInf — Управляющая информация

32

Запись
0x104slvAddr — Ведомый адрес

32

Запись
0x108regAddr — Укажите адрес

32

Запись
0x10CdataReg — Регистр First Data

32

Запись
0x110dataReg1 — Второй регистр данных

32

Запись
0x114dataReg2 — Третий регистр данных

32

Запись
0x118dataReg3 — Четвертый регистр данных

32

Запись
0x11CuserRdy — Готовый к пользователю регистр32Запись
0x120сделанный Сделанный регистр

32

Запись
0x124rdy — Готовый регистр32Чтение
0x128respData — Первый регистр данных ответа32Чтение
0x12CrespData1 — Второй регистр данных ответа32Чтение
0x130respData2 — Третий регистр данных ответа32Чтение
0x134respData3 — Четвертый регистр данных ответа32Чтение
0x138validData — Данные об ответе допустимый регистр32Чтение

Порты

Входной параметр

развернуть все

Регистр управляющей информации, который содержит конфигурационную информацию о том, как блок связывается с ведомым устройством. Задайте это значение как скаляр, как описано в этой таблице. Можно изменить настройку на основе требования.

БитЦельОписание значения
0Установите режим записи или режим чтения.

Чтобы записать в регистр ведомого устройства, установите это значение к 0. Чтобы читать из регистра ведомого устройства, установите это значение к 1.

[2:1]Установите размер адреса регистра ведомого устройства.

Если размер адреса регистра ведомого устройства:

  • Один байт (8 битов), установленных это значение к 00

  • Два байта (16 битов), установленных это значение к 01

  • Три байта (24 бита), установленные это значение к 10

  • Четыре байта (32 бита), установленные это значение к 11

[6:3]Установите размер данных регистра ведомого устройства.

Если регистр ведомого устройства поддерживает:

  • Один байт данных, установленных это значение к 0000

  • Два байта данных, установленных это значение к 0001

  • Три байта данных, установленных это значение к 0010

  • Четыре байта данных, установленных это значение к 0011

  • Пять байтов данных, установленных это значение к 0100

  • Шесть байтов данных, установленных это значение к 0101

  • Семь байтов данных, установленных это значение к 0110

  • Восемь байтов данных, установленных это значение к 0111

  • Девять байтов данных, установленных это значение к 1 000

  • Десять байтов данных, установленных это значение к 1 001

  • Одиннадцать байтов данных, установленных это значение к 1 010

  • Двенадцать байтов данных, установленных это значение к 1 011

  • Тринадцать байтов данных, установленных это значение к 1 100

  • Четырнадцать байтов данных, установленных это значение к 1 101

  • Пятнадцать байтов данных, установленных это значение к 1 110

  • Шестнадцать байтов данных, установленных это значение к 1 111

7ЗарезервированныйЗарезервированный

Типы данных: uint8

Ведомо-адресный регистр, который содержит адрес ведомого устройства, заданного как скаляр.

Типы данных: uint32

Задайте адрес регистра ведомого устройства как скаляр.

Типы данных: uint32

Регистр First Data, что использование блока, чтобы записать первые 4 байта данных к регистру ведомого устройства, заданному как скаляр. Этот регистр включает младший значащий бит (LSB).

Типы данных: uint32

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

Типы данных: uint32

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

Типы данных: uint32

Четвертый регистр данных, что использование блока, чтобы записать четвертый набор 4 байтов данных к регистру ведомого устройства, заданному как скаляр. Этот регистр включает старший значащий бит (MSB).

Типы данных: uint32

Готовый к пользователю сигнал, заданный как булев скаляр. Когда этим значением является 1 (TRUE), пользователь готов считать данные об ответе из блока. Когда этим значением является 0 (FALSE), пользователь не готов считать данные об ответе из блока.

Типы данных: Boolean

Сделанный сигнал, заданный как булев скаляр. Это значение указывает на блок, когда считать AXI-облегченные информации регистра.

Установите это значение к 1 (TRUE) после отправки одного набора информации о регистре с блоком. Блок считывает AXI-облегченные информации регистра только, когда вы устанавливаете это значение к 1. Установите это значение к 0 (FALSE) сразу после этой операции.

Один набор информации о регистре является комбинацией ctrlInf (Управляющая информация), slvAddr (Ведомый адрес), regAddr (Адрес регистра), и dataReg, dataReg1, dataReg2 и dataReg3 (Регистры данных).

Типы данных: Boolean

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

Зависимости

Чтобы включить этот порт, установите параметр Type of model на Simulation.

Типы данных: Boolean

Вывод

развернуть все

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

Типы данных: Boolean

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

Типы данных: Boolean

Готовый сигнал, возвращенный как булев скаляр. Когда этим значением является 1 (TRUE), блок готов принять данные конфигурации. Когда этим значением является 0 (FALSE), блок не готов принять данные конфигурации.

Типы данных: Boolean

Первый регистр данных ответа, который содержит первые 4 байта данных из регистра ведомого устройства, возвратился как скаляр. Этот регистр включает младший значащий бит (LSB).

Типы данных: uint32

Второй регистр данных ответа, который содержит второй набор 4 байтов данных из регистра ведомого устройства, возвратился как скаляр.

Типы данных: uint32

Третий регистр данных ответа, который содержит третий набор 4 байтов данных из регистра ведомого устройства, возвратился как скаляр.

Типы данных: uint32

Четвертый регистр данных ответа, который содержит четвертый набор 4 байтов данных из регистра ведомого устройства, возвратился как скаляр. Эти данные включают старший значащий бит (MSB).

Типы данных: uint32

Управляющий сигнал, который указывает, допустимы ли данные об ответе, возвратился как булев скаляр. Когда этим значением является 1 (TRUE), данные об ответе из регистров данных ответа допустимы. Когда этим значением является 0 (FALSE), данные об ответе из регистров данных ответа не допустимы.

Типы данных: Boolean

Параметры

развернуть все

Задайте тип модели.

  • Чтобы использовать этот блок в целях симуляции, установите этот параметр на Simulation.

  • Чтобы использовать этот блок в целях генерации, установите этот параметр на Generation. Процесс генерации создает аппаратный IP с интерфейсом AXI-Lite, SCL и интерфейсами SDA.

Задайте режим скорости как одно из этих значений:

  • Standard Mode — Частоты поддержек до 100 кГц

  • Fast Mode — Частоты поддержек до 400 кГц

  • Fast Plus Mode — Частоты поддержек до 1 МГц

Расширенные возможности

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Введенный в R2019a