-
- снизошло неожиданно вдохновение, т.к. разрыв клока был близок к
критическому (чуть менее 100uS) для минимальной частоты шины 10kHz,
то решил поднять частоту шины сверх номинала до 110kHz, и о-чудо - всё заработало!! Так что если кому надо завести на XMEGе какой SMBus-девайс, и в
частности ИК-термометр MLX90614, - имейте ввиду, Adept(643 знак., 14.03.2021 20:44 - 16.03.2021 18:50, картинка, картинка)
- Я о сабже не в курсе, но он что, на другой земле сидит? Вольт
разницы в нуле! - mse homjak(14.03.2021 20:55)
- да, через диодик, - это чисто для отладки. Я всегда так на отладке
делаю, очень помогает отслеживать акнолиджи (естественно, в финале
- диод убираю, обычно ставлю шоттку, чтоб минимально влияло) Adept(161 знак., 14.03.2021 20:58)
- Э-э-э... У вас-же целый Рыголь 5074!!! ;О) Бюджетная замена диоду. - mse homjak(14.03.2021 21:04)
- нелохой осцилл, в общем, ессн-но разлоченный до крайней модели, но
не без косяков конечно и в софте и в юзабилите есть значимые огрехи
:(( но свою стоимость давно уже отработал :)) , а привычка
отлаживать с диодиком - ещё с древних времён работы с аналоговым
осциллом :)) просто и
эффектноэффективно :) - Adept(14.03.2021 21:14) - Сделать мастера и слейва разноуровневыми в двунаправленной линии
(SDA) - святое дело, ибо рыголь мало поможет. Я в автопереключаемой
485 почти так же делаю при обезбаживании - MBedder(14.03.2021 21:10)
- Почему не поможет? Поможет. У него есть синхра по "не-аск", например. Но то такэ... Я на него облизываюсь, но жаба давит. Да и 1054 есть. Правда он тестовый СПИ устойчиво только на 75МГц дешифрует. На 100 уже только при периодической развёртке и землить надо пружиной, гемор ,короче. А этот должен тянуть влёхкую. - mse homjak(14.03.2021 23:51)
- нелохой осцилл, в общем, ессн-но разлоченный до крайней модели, но
не без косяков конечно и в софте и в юзабилите есть значимые огрехи
:(( но свою стоимость давно уже отработал :)) , а привычка
отлаживать с диодиком - ещё с древних времён работы с аналоговым
осциллом :)) просто и
- Э-э-э... У вас-же целый Рыголь 5074!!! ;О) Бюджетная замена диоду. - mse homjak(14.03.2021 21:04)
- да, через диодик, - это чисто для отладки. Я всегда так на отладке
делаю, очень помогает отслеживать акнолиджи (естественно, в финале
- диод убираю, обычно ставлю шоттку, чтоб минимально влияло) Adept(161 знак., 14.03.2021 20:58)
- Я о сабже не в курсе, но он что, на другой земле сидит? Вольт
разницы в нуле! - mse homjak(14.03.2021 20:55)
- Камент: Toчкa oпopы(335 знак., 13.03.2021 22:09 - 15.03.2021 11:05)
- конечно Adept(424 знак., 13.03.2021 22:59)
- почему обмен построен на делаях? m16(159 знак., 13.03.2021 23:15, картинка)
- делэи это для проверки в линейном коде. Так-то процедуры с
проверкой флагов, но не с использованием прерываний, а потому тоже
циклы :) работа с интерфейсами неплотная - изредка считывать
несколько байт. С прерываниями можно вообще не заморачиваться :) Adept(598 знак., 13.03.2021 23:23)
- ОК. в мегах TWI после каждой операции в регистре TWSR отражает код
статуса, в иксах есть подобный регистр? - m16(13.03.2021 23:31)
- конечно есть статус регистр, где и флаги прерываний, и статус шины, если Вы это имеете ввиду Adept(713 знак., 13.03.2021 23:52, картинка)
- ОК. в мегах TWI после каждой операции в регистре TWSR отражает код
статуса, в иксах есть подобный регистр? - m16(13.03.2021 23:31)
- делэи это для проверки в линейном коде. Так-то процедуры с
проверкой флагов, но не с использованием прерываний, а потому тоже
циклы :) работа с интерфейсами неплотная - изредка считывать
несколько байт. С прерываниями можно вообще не заморачиваться :) Adept(598 знак., 13.03.2021 23:23)
- Мыслей нет, но можно взять какой проверенный программный I2C для
АВР и попробовать. Чтобы ещо от TWI Хмеги не зависеть. - mse homjak(13.03.2021 21:27)
- да вот если не победю, то просто сэмулирую, наверное ногодрыгом,
что б посмотреть поможет или нет (программный I2C не прокатит,
вероятно, т.к. у SMBus ограничение на минимальный клок в 10KHz. но
это уже крайний вариант (как и переход с иксмеги, скажем на мегу
(которая в "дуринах" вполне успешно работает с этим датчиком) - Adept(13.03.2021 21:30)
- Ну, Хмега, на максимальной тактовой, 10кГц то превозможет
гарантированно. Не помню точно, но на обычных Мегах, каг-бы не под
100кГц было. 160 тактов на бит, всё-таки... - mse homjak(13.03.2021 21:42)
- ну да, ступил, чего-то подумал, что слишком быстро (а если
выделенной процедурой, то можно и все 400кбит софтовым I2C одолеть
:)) просто я тут Adept(405 знак., 13.03.2021 23:16)
- "400кбит софтовый I2C"? У меня прекрасно работал при 8 МГц такnовой
в 8-битнике Z86E0812 - Лaгyнoв(14.03.2021 06:41)
- верится легко :) с учётом того, что мы тут помнится процедуру поиска максимума в массиве укладывали в 3,5 такта на байт :)) Adept(176 знак., 14.03.2021 14:09)
- "400кбит софтовый I2C"? У меня прекрасно работал при 8 МГц такnовой
в 8-битнике Z86E0812 - Лaгyнoв(14.03.2021 06:41)
- ну да, ступил, чего-то подумал, что слишком быстро (а если
выделенной процедурой, то можно и все 400кбит софтовым I2C одолеть
:)) просто я тут Adept(405 знак., 13.03.2021 23:16)
- Ну, Хмега, на максимальной тактовой, 10кГц то превозможет
гарантированно. Не помню точно, но на обычных Мегах, каг-бы не под
100кГц было. 160 тактов на бит, всё-таки... - mse homjak(13.03.2021 21:42)
- да вот если не победю, то просто сэмулирую, наверное ногодрыгом,
что б посмотреть поможет или нет (программный I2C не прокатит,
вероятно, т.к. у SMBus ограничение на минимальный клок в 10KHz. но
это уже крайний вариант (как и переход с иксмеги, скажем на мегу
(которая в "дуринах" вполне успешно работает с этим датчиком) - Adept(13.03.2021 21:30)
- снизошло неожиданно вдохновение, т.к. разрыв клока был близок к
критическому (чуть менее 100uS) для минимальной частоты шины 10kHz,
то решил поднять частоту шины сверх номинала до 110kHz, и о-чудо - всё заработало!! Так что если кому надо завести на XMEGе какой SMBus-девайс, и в
частности ИК-термометр MLX90614, - имейте ввиду, Adept(643 знак., 14.03.2021 20:44 - 16.03.2021 18:50, картинка, картинка)