Atmega8A + TC77 (SPI)

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт апр 16, 2015 17:07:07

Сообщение macuser »

Доброе время суток!

Есть вопрос в отношении согласования входа/выхода на датчике температуры ТС77 по SPI интерфейсу.
Я сделал разводку ключей через логическую микросхему "&", но по документации первое чтение датчика должно вернуть значение с 3-мя включенными битами вконце LSB 16 битного регистра. Другими словами первые два числа должны быть 10 87 ... у меня получается 10 84 ...
Как я понимаю, теряются 2 последних бита. Если включить напрямую выход датчика на MISO, то все нормально.

Эмуляция происходит в Proteus, иногда он выдает ошибку в отношении логики, отключаю два элемента И, потом опять включаю, все нормально.

Вобчем вопрос как правильно согласовать датчик с Атмегой при одном входе/выходе внешнего девайса?

Схема в аттаче!
Вложения
Screen Shot 2018-06-01 at 9.13.39 PM.png
(67.96 КБ) 450 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15600
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

А даташит почитать?
:wink:
Странички 10 и 11...
TC77_Microchip Technology.pdf
(374.99 КБ) 135 скачиваний
"...
TEMPERATURE REGISTER
Notes:
1. Bit 2 = 0 during power-up for the first
temperature conversion.
2. Bit 2 =1 after the completion of the first tem-
perature conversion following power-up or a
reset event.
3. Bits 1 and 0 are “DON”T CARES”.
..."
8)
Последний раз редактировалось BOB51 Вс июн 03, 2018 11:48:33, всего редактировалось 1 раз.
Реклама
afz
Опытный кот
Аватара пользователя
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Сообщение afz »

Вообще-то, у ТС77 вывод SI/O двусторонний, с тремя состояниями, цеплять на него выход простого элемента "И" неправильно. Туда надо или что-то, вроде 74х125, или просто соединить вместе АТмеговские MOSI и MISO, после чего рулить состоянием выхода MOSI - нужно передавать из Меги в ТС77 - включаешь его на вывод, нужно читать ТС77 - переключаешь на ввод. Правда я что-то не вспомню, можно это делать у АВР-ок, или нет? У STM32 точно можно, а про АВР не помню, лезть же в даташит не хочется...
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт апр 16, 2015 17:07:07

Сообщение macuser »

[uquote="BOB51",url="/forum/viewtopic.php?p=3391839#p3391839"]1. Bit 2 = 0 during power-up for the first
temperature conversion.
2. Bit 2 =1 after the completion of the first tem-
perature conversion following power-up or a
reset event.
3. Bits 1 and 0 are “DON”T CARES”.
..."
8)[/uquote]

Вроде ж читал, что-то упустил)
Значит второй включен в любом случае у меня после первого измерения.
2 остальных, получается, живут своей жизнью, только какое имеет на них влияние включение напрямую или через "И"? если 2 последних бита меняются в зависимости от указанного подключения.
Для меня это загадка, ну да ладно, если DON'T CARES.
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт апр 16, 2015 17:07:07

Сообщение macuser »

[uquote="afz",url="/forum/viewtopic.php?p=3391954#p3391954"]Вообще-то, у ТС77 вывод SI/O двусторонний, с тремя состояниями, цеплять на него выход простого элемента "И" неправильно. Туда надо или что-то, вроде 74х125, или просто соединить вместе АТмеговские MOSI и MISO...[/uquote]

Вобчем попробовал я поцепить буфер 74x125 и есть проблемка, на втором цикле чтения уровень почему-то срывается со стороны датчика на неопределенный (показал на картинке выделенный фрагмент). Что мог сделать не так? Из-за этого, после записи комманды данные ID датчика читаются не корректно.

У меня 1 и 2-ой цикл - чтение, 3 и 4 - запись. Как видно из картинки с записью проблем нет.

Подтянул вход/выход датчика к земле, вроде все нормально стало, только почему-то на записи биты читаются в инверсии со стороны датчика, вместо 0x00, стало 0xFF.
Вложения
Screen Shot 2018-06-05 at 10.22.32 PM.png
(76.41 КБ) 306 скачиваний
Screen Shot 2018-06-05 at 10.25.51 PM.png
(38.36 КБ) 222 скачивания
Реклама
afz
Опытный кот
Аватара пользователя
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Сообщение afz »

А тут надо внимательно читать даташит TC77, поскольку для байтового обмена с ним всё, вроде-бы, сделано правильно. Может там обмен не байтовый?

Честно скажу: у меня их (TC77) нет, на Али их я не нашел, так, что мне читать этот ДШ сильно не хочется... :)
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Реклама
Ответить

Вернуться в «AVR»