Перейти к содержанию

    

HELP! SPI, I2C и EPROM

Помогите пишу модуль на верилоге, который должен общается с термодатчиком (I2C) и акселерометром (SPI), отслеживать максимумы - минимумы температуры и ускорения.

Основные задачи модуля:

1. Считать наработку в часах сохранять её в ПЗУ и считавать из ПЗУ (I2C).

2. Сохранять в ПЗУ настройки монитора и счтывать их из ПЗУ.

 

Второстепенные задачи:

1. Опрашивать датчик температуры (I2C) и выдавать в ПЛИС максимльное, минимальное и текущее значение температуры.

2. Считывать и сохранять в ПЗУ макс и мин значения температуры.

3. Опрашивать датчик ускорения (SPI) и выдавать в ПЛИС максимльное, минимальное и текущее значение усорения по трем осям.

 

Я не до конца понимаю как согласовывать модули. Сейчас осуществила получение температуры от термодатчика. Как теперь передать значения ПЗУ (24LC1613), используя интерфейс I2C.

Как получить ускорение с микросхемы (LIS331DLHTR). Документацию читала, пыталась вникнуть, но все равно не могу понять как опрашивать устройство, конкретные регистры.

 

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

src.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
. . . .

Как получить ускорение с микросхемы (LIS331DLHTR). Документацию читала, пыталась вникнуть, но все равно не могу понять как опрашивать устройство, конкретные регистры.

 

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

 

В док-ии на устр-ва I2C приводятся не только адреса и назанчение регистров, но и форматы пакетов запрос-ответ, для каждого

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

Это адрес слейва и режим R/~W. Эта посылка из 8 бит, получив их слейв, если адрес "его", выставляет на 9-ом такте

бит подтверждения ACK == 0. Это говорит мастеру, что такой слейв существует и готов принять следующий байт - данные или команды.

Первое, с чего начинается рабта мастера с конкретным слейвом - определение его наличия на шине.

Далее весь алгоритм работы разрабатывается в соотв-ии с даташитом на слейв.

Для начала имело бы смысл поработать с периферий с PC или с использованием любого микроконтроллера - это на порядок-другой проще

чем через верилог.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация