Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Лазерная техника и лазерные технологии Народная мастерская
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 9020   Ответов в теме 22   Подписчиков на тему 0   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 13.11.2010, 00:48 Автор темы   1
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию Требуется шаман с бубном, или почему не работает?

Уже недели две валяется драйвер для сини, в котором я не могу достучатся до ЦАП (Вложение 2151). Ну думаю может где-то в протоколе ошибся, или программный SPI кривой. Собрал специальный стенд, для дебаггинга, на 25-й тиньке. В стенде только МК, ЦАП и самый необходимый обвес для их взаимопонимания. Программу взял с драйвера. Ну думаю с первого раза не запустится, и... обламался. ЦАП на стенде ведёт себя очень даже послушно. Без проблем выполняет все мои команды, на всех моих программных реализациях SPI. А в драйвере тот же самый чип, с той же самой программой не работает... Прощупал осциллографом - пакеты гуляют идентичные. Схему, разводку и монтаж проверял уже раз 10. Ошибок нет. Что за фигня? Может порчу кто-то навёл?

Схема драйвера:
Вложение 2153
Программа:
Код:
	.INCLUDE "tn84def.inc"

;Векторы прерываний

	rjmp	RESET
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti


;Конфигурация

RESET:	Ldi	R16, HIGH(RAMEND)	;инициализация стека
	out	SPH, R16
	Ldi	R16, LOW(RAMEND)
	out	SPL, R16

	ldi	R16, 0b10000000	;Отключить аналоговый компаратор
	out	ACSR, R16

	ldi	R16, 0b00100000	;Sleep, режим Idle
	out	MCUCR, R16

	ldi	R16, 0b10001100	;Выключить цифровой входной буфер на PA2, PA3 и PA7
	out	DIDR0, R16

	ldi	R16, 0b00000001	;Запуск таймера0, clk/1
	out	TCCR0B, R16

	ldi	R16, 0b00000001	;Включение Over0
	out	TIMSK0, R16

	ldi	R16, 0b00001001	;PB0 и PB3 - подтягивание
	out	PORTB, R16

	ldi	R16, 0b00000111	;PB0, PB1, PB2 - выходы
	out	DDRB, R16

	ldi	R16, 0b01000010	;PA1 и PA6 - подтягивание
	out	PORTA, R16

	ldi	R16, 0b00110001	;PA0, PA4 и PA5 - выходы
	out	DDRA, R16


	sei

back:	sleep
	inc	R18
	brne	back
	inc	R19
	brne	back

	sbi	PORTA, 0

	cbi	PORTB, 0
	ldi	R17, 0b00001010
	ldi	R16, 0b00011100
	rcall	spi
	ldi	R16, 0b00000010
	rcall	spi
	sbi	PORTB, 0

loop:	cbi	PORTA, 5
	sleep
	sbi	PORTA, 5

	cbi	PORTB, 0
	ldi	R17, 0b00001010
	ldi	R16, 0b00000101
	rcall	spi
	ldi	R16, 0b01010101
	rcall	spi
	sbi	PORTB, 0

	rjmp	loop



;Программный SPI ЦАП

;0
spi:	bst	R16, 7
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
;1
	bst	R16, 6
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
;2
	bst	R16, 5
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
;3
	bst	R16, 4
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
;4
	bst	R16, 3
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
;5
	bst	R16, 2
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
;6
	bst	R16, 1
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
;7
	bst	R16, 0
	bld	R17, 2
	out	PORTB, R17
	cbi	PORTB, 1
	ret


Схема стенда:
Вложение 2154
Программа:
Код:
	.INCLUDE "tn25def.inc"

;Векторы прерываний

	rjmp	RESET
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti
	reti


;Конфигурация

RESET:	Ldi	R16, LOW(RAMEND)	;инициализация стека
	out	SPL, R16

	ldi	R16, 0b10000000	;Отключить аналоговый компаратор
	out	ACSR, R16

	ldi	R16, 0b00100000	;Sleep, режим Idle
	out	MCUCR, R16

	ldi	R16, 0b00000001	;Запуск таймера0, clk/1
	out	TCCR0B, R16

	ldi	R16, 0b00000010	;Включение Over0
	out	TIMSK, R16

	ldi	R16, 0b00101000	;PB3 и PB5 - подтягивание
	out	PORTB, R16

	ldi	R16, 0b00011111	;PB0, PB1, PB2, PB3 и PB4 - выходы
	out	DDRB, R16


	sei

back:	sleep
	inc	R18
	brne	back
	inc	R19
	brne	back

	cbi	PORTB, 3
	ldi	R17, 0b00100100
	ldi	R16, 0b00011100
	rcall	spi
	ldi	R16, 0b00000010
	rcall	spi
	sbi	PORTB, 3

loop:	cbi	PORTB, 4
	sleep
	sbi	PORTB, 4

	cbi	PORTB, 3
	ldi	R17, 0b00100100
	ldi	R16, 0b00000101
	rcall	spi
	ldi	R16, 0b01010101
	rcall	spi
	sbi	PORTB, 3

	rjmp	loop



;Программный SPI ЦАП

;0
spi:	bst	R16, 7
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
;1
	bst	R16, 6
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
;2
	bst	R16, 5
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
;3
	bst	R16, 4
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
;4
	bst	R16, 3
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
;5
	bst	R16, 2
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
;6
	bst	R16, 1
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
;7
	bst	R16, 0
	bld	R17, 0
	out	PORTB, R17
	cbi	PORTB, 2
	ret


Печатные платы: Вложение 2155.

В общем помогите, как говорится, люди добрые кто чем может ...
Миниатюры
Нажмите на изображение для увеличения
Название: Драйвер.PNG
Просмотров: 878
Размер:	106.1 Кб
ID:	253636 Нажмите на изображение для увеличения
Название: Стенд AD5174.PNG
Просмотров: 867
Размер:	35.5 Кб
ID:	253637
Вложения
Тип файла: pdf AD5174.pdf (995.6 Кб, 659 просмотров)
Тип файла: rar AD5174.rar (16.2 Кб, 257 просмотров)
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 03:48 Автор темы   2
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Перевёл выводы МК на драйвере в высокоимпедасное состояние, и подключил к ЦАПу МК стенда. Получилось два запараллеленных ЦАПа. На стороне макета ЦАП заводится нормально, а на стороне драйвера по-прежнему не реагирует. Выходит дело в обвесе, но я не пойму где именно. Питание ЦАПа в норме, масса везде на месте, нагрузка терминалов по-идее ЦАПу безразлична вообще...
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 11:44   3
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Начнем с начала
1. питание на АЦП Ок?
2. Сам АЦП живой? зачитать че-нить осмысленное оттуда можно?
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 17:55 Автор темы   4
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Да в порядке всё. Питание присутствует. Иначе бы я и сам разобрался. Оба ЦАПа рабочие и работают в стенде, а если посадить на плату драйвера - несмотря на верность протокола и порядок с питанием - не реагируют на команды, устанавливая дефолтное среднее значение сопротивления. Без питания сопротивление бесконечное было бы...
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 18:46   5
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Лень весь даташит изучать...
там по идее в Control Register надо сперва разрешить смену значения, а потом только менять, а в прошивке вроде сразу меняется.
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 18:48   6
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 746
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Не, тут мистика однозначно. ЦАПом пробовали не только одной прошивкой, но и даже одним и тем же мк управлять.
На стенде ЦАП работает, в схеме нет.
SviMik вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 19:15 Автор темы   7
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от AVSel :
Лень весь даташит изучать...
там по идее в Control Register надо сперва разрешить смену значения, а потом только менять, а в прошивке вроде сразу меняется.
Так она сперва и разрешается, спустя 2 секунды таймаута, для нормализации питания, повер-он-ресета и т.п., а затем уже в цикле в него посылается работающий на стенде пакет. Циклом, чтоб осциллограф хорошо видел все импульсы...
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 21:19   8
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Так она сперва и разрешается
Точно , прозевал что там на 2 бита сдвинуто.

В обвязке разница только в SDO, может попробовать отодрать от земли, и зачитать регистр? Хоть будет понятно, меняется там значение или нет. Если меняется - значит в резисторах проблема.
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 21:25   9
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 746
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

На стенде пробовали замыкать SDO на землю - всё равно работает.
SviMik вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 21:46   10
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Теперь осталось только определить - проблема в интерфейсе с МК или в матрице резисторов
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 22:05 Автор темы   11
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 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
Ещё при конфигурации SDO подтягивается к массе, что не мешает работе ЦАПа...

Внешние резисторы в порядке, диапазон регулирования напряжения расчётный - 3...5V. Преобразователь стабилит среднее значение - 4V. Сопротивление у ЦАП тоже среднее - 5k (и с заглушенным преобразователем тоже). При замыкании терминалов A и W, между собой, преобразователь послушно опускает напряжение до 3V. Если бы у ЦАП был непорядок с питанием - он бы отключил терминал A и напряжение подпрыгнуло бы до 6,5V (защита от перенапряжения в TPS)...
Скорее всего если я запишу в память ЦАП некое значение, при загрузке загружаться будет уже оно, как при сбросе ЦАП. Вполне возможно что какой-то фактор его заставляет сбрасываться при выполнении команды, что неуловимо мультиметром или осциллографом...

В интерфейсе МК порядок. Это проверялось уже не раз, и не одним прибором. В обвесе я ошибок тоже не вижу, ЦАП заведомо рабочий и проверенный...
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 22:54   12
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Ушел за бубном.
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 23:12   13
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Духи сказали что VINA это вход. А не пробовали питание ЦАП на VIN повесить?
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 23:19 Автор темы   14
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

VINA это выход для внешнего конденсатора фильтра. В TPS этот пин подключается к VIN через 100 Ом резистор. Питание на VINA намного чище, и нагрузочной способности хватает. Я смотрел осциллографом. Пульсации есть, но не думаю что 20мВ это катастрофа. И напряжение ниже за VIN на 20mV...
Но я могу пинцетом попробовать замкнуть этот встроенный резистор. Ещё вчера думал попробовать, но это наверняка бесполезно...

Попробую ка я записать что-то в память. Она очень долго и сильно потребляет энергию, блокируя все команды, даже сброс. Это не останется незамеченным, если команда проскочит...
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 23:29   15
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Так. Еще на SYNC резистор на +питания нужен( на драйвере), а то пока МК в ресете ЦАП помехи может защелкивать.
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 13.11.2010, 23:31 Автор темы   16
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Пробовал - ему на это все равно. В макете я влепил резистор из-за общей шины с программатором, чтоб ЦАП игнорировал данные с программатора во время прошивки МК...
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 16.11.2010, 11:59   17
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Так заработало или нет?

ПС: Я кажется нашел в чем ошибка - 13 го нельзя шаманить
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 16.11.2010, 13:25 Автор темы   18
lasers_INFERION
Ветеран Фонарёвки
 
Аватар для lasers_INFERION
 
Регистрация: 15.02.2010
Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Нет, не заработало.
lasers_INFERION вне форума   Ответить с цитированием Вверх
Старый 16.11.2010, 13:43   19
lasers_avrerum
Ветеран Фонарёвки
 
Аватар для lasers_avrerum
 
Регистрация: 11.08.2010
Последняя активность: 16.07.2022 07:28
Сообщений: 1479
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

К попу сноси,пусть отпоет драйверок, гляди и заработает
__________________
Если резко обернуться, то ты увидишь, что мир не успевает загрузиться, и сзади ничего нет!!!
lasers_avrerum вне форума   Ответить с цитированием Вверх
Старый 16.11.2010, 13:48   20
lasers_doc
Завсегдатай Фонарёвки
 
Аватар для lasers_doc
 
Регистрация: 18.08.2010
Последняя активность: 29.04.2022 09:37
Сообщений: 538
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от avrerum :
К попу сноси,пусть отпоет драйверок, гляди и заработает
Нет, тут надо освятить и водой святой окропить. Отпевать когда совсем загнется.
__________________
Лекарь Элениум из страны Транквилии. ©
--------------------------------------------------------------------------------
Лазеры: 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
lasers_doc вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.15717 секунды с 16 запросами