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

Аппаратный Twi (I2C) Атмеги


squad_leader

Рекомендуемые сообщения

Доброго дня.

С МК есть небольшой опыт работы, решил добраться до i2c интерфейса, изучал вопрос и запутался в терминах, поэтому прошу краткими ответами на мои вопросы утрясти знания в голове.

1) Если я хочу что бы МК в определенное время инициировал запрос на датчик температуры и получал значение, получается МК-мастер, а датчик подчиненный?

2) Согласно ДШ TMP100 SLAVE ADDRESS моего датчика при моем способе подключения 1001000. Где использовать этот адрес для обращения к датчику?

3) В теории очень подробно объясняется как устанавливается соединение, как устройства понимают кто они, и к кому обращаться. Но вот совсем нет информации о том, как происходит коммуникация между ними по проблеме. Если мастер обратился к слейву, как он ему объяснит ,что ему нужно вот прям щас получить температуру?

4) ЧИтал теорию и видел примеры кода для программной и аппаратной реализации TWI интерфейса. К сожалению информации найти что "лучше" не удалось. Для своей реализации выбрал аппаратную, исходя из 2ух вещей:

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

б) Раз сделали аппаратный модуль - зачем городить свой огород?

Вопрос: в чем отличает аппаратного TWI и программного? Будет достаточно ссылки, если не лень искать.

5) Согласно теории, мастер "всосет" данные и положит их в определенный регистр, из которых нужно их будет вынуть и поставить флажок "регистр пуст, продолжаем работать", так? А что делать если данных которые хочет втянуть мастер не на 1 бит, а на 2 бита?

6) Существует ли на примере AVR Studio 6 какие либо <блаблабла.h>, которая сильно упрощает жизнь при программировании TWI интерфейса? Желательно до функции get_temp_from_slave(1001000); =)) Ну или без волшебства, но все равно упрощает работу. Где такую взять?

7) ВО время обмена данными по TWI интерфейсу, основная работа МК останавливается или молотит в параллельном режиме?

8) Как правильно выбрать скорость работы TWI?

Заранее благодарю за ответы. Буду не в претензии, если просто кинут нажористую на информацию ссылку. Это мне надо в конце концов, а не вам. Буду копать.

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Ты до сих пор не открыл даташит на свой контроллер? Бегом туда читать про встроенный модуль TWI !!!

Все задается через регистры.

Программный режим от аппаратного отличается скоростью работы и задействованными ресурсами. Если в первом случае все временные интервалы и управление линиями реализуешь программно, то во втором случае только манипулируешь настроечными регистрами. Обмен и правда будет происходить по одному байту, как в UART - только успевай его освобождать и сохранять куда тебе нужно(разделаться на месте, сохранить в RAM, передать по UART и т.д.). А еще чем хороша аппаратная реализация - во время передачи/приема может выполнятся основная программа.

MASTER - это тот кто инициирует обмен, SLAVE - тот кто подчиняется инициатору. Всякие датчики, и температуры в частности являются SLAVE-устройствами.

Протокол I2C не описывает способы получения температуры с датчиков, он описывает только адресацию и передачу абстрактных данных. А эти данные для датчиков могут интерпретироваться по разному, в зависимости от производителя и типа датчика. Для термометра, нельзя получить значение температуры мгновенно. Сначала термометру надо дать команду начать преобразование, а затем по сигналу с термометра(отдельный вывод если есть) либо опрашивая его либо через определенное время считываешь значение измеренной температуры послав еще одну команду, в ответ на которую будет передано значение. Это впрочем надо уточнять в даташите на термометр.

Учение - изучение правил. Опыт - изучение исключений.

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Боюсь такая библиотека будет настолько "общей" что только усложнит программу.

Скорей всего есть библиотеки под конкретные датчики, вот их надо искать.

Я не люблю С, поэтому подсказать врятли...

Учение - изучение правил. Опыт - изучение исключений.

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

Тренды и лучшие решения для разработки зарядных станций в России

К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...