Страница 1 из 1
Atmega8A + TC77 (SPI)
Добавлено: Пт июн 01, 2018 20:25:41
macuser
Доброе время суток!
Есть вопрос в отношении согласования входа/выхода на датчике температуры ТС77 по SPI интерфейсу.
Я сделал разводку ключей через логическую микросхему "&", но по документации первое чтение датчика должно вернуть значение с 3-мя включенными битами вконце LSB 16 битного регистра. Другими словами первые два числа должны быть 10 87 ... у меня получается 10 84 ...
Как я понимаю, теряются 2 последних бита. Если включить напрямую выход датчика на MISO, то все нормально.
Эмуляция происходит в Proteus, иногда он выдает ошибку в отношении логики, отключаю два элемента И, потом опять включаю, все нормально.
Вобчем вопрос как правильно согласовать датчик с Атмегой при одном входе/выходе внешнего девайса?
Схема в аттаче!
Re: Atmega8A + TC77 (SPI)
Добавлено: Вс июн 03, 2018 06:56:48
BOB51
А даташит почитать?
Странички 10 и 11...
"...
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”.
..."

Re: Atmega8A + TC77 (SPI)
Добавлено: Вс июн 03, 2018 11:14:08
afz
Вообще-то, у ТС77 вывод SI/O двусторонний, с тремя состояниями, цеплять на него выход простого элемента "И" неправильно. Туда надо или что-то, вроде 74х125, или просто соединить вместе АТмеговские MOSI и MISO, после чего рулить состоянием выхода MOSI - нужно передавать из Меги в ТС77 - включаешь его на вывод, нужно читать ТС77 - переключаешь на ввод. Правда я что-то не вспомню, можно это делать у АВР-ок, или нет? У STM32 точно можно, а про АВР не помню, лезть же в даташит не хочется...
Re: Atmega8A + TC77 (SPI)
Добавлено: Пн июн 04, 2018 21:47:39
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”.
..."

[/uquote]
Вроде ж читал, что-то упустил)
Значит второй включен в любом случае у меня после первого измерения.
2 остальных, получается, живут своей жизнью, только какое имеет на них влияние включение напрямую или через "И"? если 2 последних бита меняются в зависимости от указанного подключения.
Для меня это загадка, ну да ладно, если DON'T CARES.
Re: Atmega8A + TC77 (SPI)
Добавлено: Вт июн 05, 2018 21:46:40
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.
Re: Atmega8A + TC77 (SPI)
Добавлено: Ср июн 06, 2018 04:43:26
afz
А тут надо внимательно читать даташит TC77, поскольку для байтового обмена с ним всё, вроде-бы, сделано правильно. Может там обмен не байтовый?
Честно скажу: у меня их (TC77) нет, на Али их я не нашел, так, что мне читать этот ДШ сильно не хочется...
