Сконфигурируйте и свяжитесь с ведомым устройством I2C
SoC Blockset / Аппаратный ввод-вывод Логики
Блок I2C Master конфигурирует и передает с межинтегральной схемой коммуникации (I2C) ведомое устройство, соединенное к программируемой пользователем вентильной матрице (FPGA). Этот блок содержит ведущий контроллер I2C с интерфейсом AXI-Lite, чтобы выполнить настройку.
Блок I2C Master поддерживает эти функции:
AXI4-облегченная интерфейсная поддержка настройки и доступа
Одно-основная и мультиведомая поддержка
Поддержите 7-битные и 10-битные ведомые устройства I2C адреса
Поддержка пакетного режима пакетный размер имеющий 256 байтов
Поддержите несколько режимов скорости передачи
HDL-IP совместимая модель с возможностью генерации кода
Блок использует интерфейс AXI-Lite, чтобы сконфигурировать и создать интерфейс path управления, чтобы связаться с ведомым устройством I2C. Оборудование, сгенерированное от процесса генерации, содержит AXI-облегченный интерфейс регистра и два аппаратных интерфейса, последовательные часы (SCL) и последовательные данные (SDA). SCL и SDA соединяют блок I2C Master и ведомое устройство.
Каждый порт, представленный в блоке, является AXI-облегченным регистром, кроме sdaIn, sclIn, scl и портов sda. Чтобы связаться с ведомым устройством, AXI-облегченный интерфейс регистра конфигурирует информацию о регистре в блоке I2C Master. Эта таблица содержит Ведущее устройство I2C AXI-облегченная информация о регистре.
Укажите адрес | Порт и имя регистра | Укажите размер в битах | Режим работы |
---|---|---|---|
0x100 | ctrlInf — Управляющая информация | 32 | Запись |
0x104 | slvAddr — Ведомый адрес | 32 | Запись |
0x108 | regAddr — Укажите адрес | 32 | Запись |
0x10C | dataReg — Регистр данных | 32 | Запись |
0x110 | readDone — Считайте сделанный регистр | 32 | Запись |
0x114 | сделанный Сделанный регистр | 32 | Запись |
0x118 | rdy — Готовый регистр | 32 | Чтение |
0x11C | respData — Первый регистр данных ответа | 32 | Чтение |
0x120 | validData — Данные об ответе допустимый регистр | 32 | Чтение |
0x124 | statusReg — Регистр состояния | 32 | Чтение |
Чтобы выполнить операции чтения и операции записи с помощью блока I2C Master, необходимо следовать за соответствующей последовательностью. Этот раздел предоставляет информацию о потоке последовательности для операций чтения и операций записи.
Считайте последовательность
Считывать данные из внешнего ведомого устройства:
Отправьте информацию о регистре ctrlInf.
Отправьте информацию о регистре slvAddr.
Отправьте информацию о регистре regAddr.
Установите сделанный регистр на 1
после отправки одного набора информации о регистре с блоком и затем набора это к 0
.
Считайте данные об ответе из внешнего ведомого устройства. После чтения данных из регистра respData, набор регистр readDone к 1
и затем набор это к 0
сразу.
Установите регистр readDone на 1
снова, чтобы считать больше чем 4 байта данных. После операции чтения, набор это к 0
сразу.
В последовательности чтения один набор информации о регистре является комбинацией ctrlInf, slvAddr и регистров regAddr.
Запишите последовательность
Записывать данные к внешнему ведомому устройству:
Отправьте информацию о регистре ctrlInf.
Отправьте информацию о регистре slvAddr.
Отправьте информацию о регистре regAddr.
Отправьте регистр dataReg, который содержит данные, чтобы записать в регистр ведомого устройства.
Установите сделанный регистр на 1
после записи одного набора информации о регистре с блоком, и затем набора это к 0
.
Установите сделанный регистр на 1
снова, чтобы записать больше чем 4 байта данных. После операции записи, набор это к 0
сразу.
В последовательности записи один набор информации о регистре является комбинацией ctrlInf, slvAddr, regAddr и регистров dataReg.