|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Уже недели две валяется драйвер для сини, в котором я не могу достучатся до ЦАП (Вложение 2151). Ну думаю может где-то в протоколе ошибся, или программный SPI кривой. Собрал специальный стенд, для дебаггинга, на 25-й тиньке. В стенде только МК, ЦАП и самый необходимый обвес для их взаимопонимания. Программу взял с драйвера. Ну думаю с первого раза не запустится, и... обламался. ЦАП на стенде ведёт себя очень даже послушно. Без проблем выполняет все мои команды, на всех моих программных реализациях SPI. А в драйвере тот же самый чип, с той же самой программой не работает... Прощупал осциллографом - пакеты гуляют идентичные. Схему, разводку и монтаж проверял уже раз 10. Ошибок нет. Что за фигня? Может порчу кто-то навёл?
![]() Схема драйвера: Вложение 2153 Программа: Схема стенда: Вложение 2154 Программа: Печатные платы: Вложение 2155. В общем помогите, как говорится, люди добрые кто чем может ![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Перевёл выводы МК на драйвере в высокоимпедасное состояние, и подключил к ЦАПу МК стенда. Получилось два запараллеленных ЦАПа. На стороне макета ЦАП заводится нормально, а на стороне драйвера по-прежнему не реагирует. Выходит дело в обвесе, но я не пойму где именно. Питание ЦАПа в норме, масса везде на месте, нагрузка терминалов по-идее ЦАПу безразлична вообще...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Начнем с начала
![]() 1. питание на АЦП Ок? 2. Сам АЦП живой? зачитать че-нить осмысленное оттуда можно? |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Да в порядке всё. Питание присутствует. Иначе бы я и сам разобрался. Оба ЦАПа рабочие и работают в стенде, а если посадить на плату драйвера - несмотря на верность протокола и порядок с питанием - не реагируют на команды, устанавливая дефолтное среднее значение сопротивления. Без питания сопротивление бесконечное было бы...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Лень весь даташит изучать...
там по идее в Control Register надо сперва разрешить смену значения, а потом только менять, а в прошивке вроде сразу меняется. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
|
![]()
Не, тут мистика однозначно. ЦАПом пробовали не только одной прошивкой, но и даже одним и тем же мк управлять.
На стенде ЦАП работает, в схеме нет. |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Так она сперва и разрешается, спустя 2 секунды таймаута, для нормализации питания, повер-он-ресета и т.п., а затем уже в цикле в него посылается работающий на стенде пакет. Циклом, чтоб осциллограф хорошо видел все импульсы...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]() Цитата:
В обвязке разница только в SDO, может попробовать отодрать от земли, и зачитать регистр? Хоть будет понятно, меняется там значение или нет. Если меняется - значит в резисторах проблема. |
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
|
![]()
На стенде пробовали замыкать SDO на землю - всё равно работает.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Теперь осталось только определить - проблема в интерфейсе с МК или в матрице резисторов
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Если в RDAC попадает значение - оно тут же безоговорочно вылазит наружу в виде аналогового значения. SDO с открытым стоком и без какой либо внутренней ОС. Ему безразлично висит он в воздухе, или замкнут на массу. По крайней мере в теории и на стенде:
Код:
ldi R16, 0b00011111 ;PB0, PB1, PB2, PB3 и PB4 - выходы out DDRB, R16 Внешние резисторы в порядке, диапазон регулирования напряжения расчётный - 3...5V. Преобразователь стабилит среднее значение - 4V. Сопротивление у ЦАП тоже среднее - 5k (и с заглушенным преобразователем тоже). При замыкании терминалов A и W, между собой, преобразователь послушно опускает напряжение до 3V. Если бы у ЦАП был непорядок с питанием - он бы отключил терминал A и напряжение подпрыгнуло бы до 6,5V (защита от перенапряжения в TPS)... Скорее всего если я запишу в память ЦАП некое значение, при загрузке загружаться будет уже оно, как при сбросе ЦАП. Вполне возможно что какой-то фактор его заставляет сбрасываться при выполнении команды, что неуловимо мультиметром или осциллографом... В интерфейсе МК порядок. Это проверялось уже не раз, и не одним прибором. В обвесе я ошибок тоже не вижу, ЦАП заведомо рабочий и проверенный... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Ушел за бубном.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Духи сказали что VINA это вход. А не пробовали питание ЦАП на VIN повесить?
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
VINA это выход для внешнего конденсатора фильтра. В TPS этот пин подключается к VIN через 100 Ом резистор. Питание на VINA намного чище, и нагрузочной способности хватает. Я смотрел осциллографом. Пульсации есть, но не думаю что 20мВ это катастрофа. И напряжение ниже за VIN на 20mV...
Но я могу пинцетом попробовать замкнуть этот встроенный резистор. Ещё вчера думал попробовать, но это наверняка бесполезно... Попробую ка я записать что-то в память. Она очень долго и сильно потребляет энергию, блокируя все команды, даже сброс. Это не останется незамеченным, если команда проскочит... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Так. Еще на SYNC резистор на +питания нужен( на драйвере), а то пока МК в ресете ЦАП помехи может защелкивать.
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Пробовал - ему на это все равно. В макете я влепил резистор из-за общей шины с программатором, чтоб ЦАП игнорировал данные с программатора во время прошивки МК...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Так заработало или нет?
ПС: Я кажется нашел в чем ошибка - 13 го нельзя шаманить ![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Нет, не заработало.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 11.08.2010 Последняя активность: 16.07.2022 07:28
Сообщений: 1479
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
К попу сноси,пусть отпоет драйверок, гляди и заработает
![]()
__________________
Если резко обернуться, то ты увидишь, что мир не успевает загрузиться, и сзади ничего нет!!! ![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
Регистрация: 18.08.2010 Последняя активность: 29.04.2022 09:37
Сообщений: 538
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
![]()
Нет, тут надо освятить и водой святой окропить. Отпевать когда совсем загнется.
![]()
__________________
Лекарь Элениум из страны Транквилии. © -------------------------------------------------------------------------------- Лазеры: 780nm-150mW 650nm-350mW 532nm-150mW 445nm-1.2W 405nm-400mW Фонари: Convoy S2 + SFT40 Biscotti, Convoy S2 + Nichia 365nm, UltraFire C6-T60 (Driver Mod), TrustFire Mini-03 |
![]() |
![]() ![]() |