Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
-
Magali2012
- Родился
- Сообщения: 11
- Зарегистрирован: Чт апр 07, 2016 18:28:02
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Всем доброго времени суток. Столкнулся с такой проблемой. Собрал плату в конф. ks0066-atmega32 при включении режима обучения пульта на дисплее стоит RC5. При нажатии на любую кнопку пульта (причем пульты пробовал разных производителей) на дисплее переключается на SAM. и больше не на какие команды не реагирует. Уже менял ИК-приемник, микроконтроллер. Прошивки заливал те-же что и в ранее собранных устройствах. с теми проблем никаких, а с этой платой уже голову сломал
Добавлено after 3 minutes 12 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
ИК-приемник на китайском тестере проверял. все четко работает, все команды отображает нормально
Добавлено after 3 minutes 12 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
ИК-приемник на китайском тестере проверял. все четко работает, все команды отображает нормально
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Значит, пульт работает по какому-то неподдерживаемому протоколу.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
[uquote="WiseLord",url="/forum/viewtopic.php?p=3827962#p3827962"]Значит, пульт работает по какому-то неподдерживаемому протоколу.[/uquote]
+
протокол может и известен, но работает пульт скорее всего на 38 мгц
+
протокол может и известен, но работает пульт скорее всего на 38 мгц
-
Magali2012
- Родился
- Сообщения: 11
- Зарегистрирован: Чт апр 07, 2016 18:28:02
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
ИК приёмник TSOP1736 пульт протокол NEC
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Частота МК точно 16МГц? Samsung и NEC отличаются по большому счёту только начальной паузой. Если пульт NEC, но внезапно определяется как Samsung, плюс кнопки не различает, есть вероятность, что Fuse-биты неправильные и МК работает не на 16МГц
- Реклама
-
Magali2012
- Родился
- Сообщения: 11
- Зарегистрирован: Чт апр 07, 2016 18:28:02
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Чёрт побери, сослепу поставил кварц на 8 мГц. Заменил всё заработало. Большое спасибо !!!
- Stinger
- Сверлит текстолит когтями
- Сообщения: 1152
- Зарегистрирован: Сб ноя 16, 2013 16:23:02
- Откуда: Fe-City (46)
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Черт побери, канальи...
Спойлер
Бороться и искать, найти и перепрятать...- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Телепатия 80-го уровня 
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
[uquote="sintetik",url="/forum/viewtopic.php?p=3826465#p3826465"]Обычно с eeprom проблем не возникает. При не очень хорошем блоке питания у AVR присутствует проблема слета flash, что лечится активацией фузе бит BODLEVEL и BODEN.[/uquote]
Спасибо, разобрался с причиной, вот эти были включены, включались в разных вариантах BODLEVEL0, BODLEVEL1, BODLEVEL2. НО бита BODEN нет в ардуине, то есть в контроллере атмега328р (я писал в сообщении что собрано устройство на ардуине).
Причина в битах BOOTSZ0 и BOOTSZ1, они выделяют область памяти для загрузчика судя по описанию. И я их не потер, когда из ардуины сделал просто макетку с атмегой. Поэтому и стартовало через раз устройство, путем дерганья питания и нажимания на ресет. И в итоге каким-то образом в еепром оказывался один мусор, специально считал еепром и сравнил его с небитым еепром.
Может кому пригодится эта информация.
Спасибо, разобрался с причиной, вот эти были включены, включались в разных вариантах BODLEVEL0, BODLEVEL1, BODLEVEL2. НО бита BODEN нет в ардуине, то есть в контроллере атмега328р (я писал в сообщении что собрано устройство на ардуине).
Причина в битах BOOTSZ0 и BOOTSZ1, они выделяют область памяти для загрузчика судя по описанию. И я их не потер, когда из ардуины сделал просто макетку с атмегой. Поэтому и стартовало через раз устройство, путем дерганья питания и нажимания на ресет. И в итоге каким-то образом в еепром оказывался один мусор, специально считал еепром и сравнил его с небитым еепром.
Может кому пригодится эта информация.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Правильные FUSE биты есть в Makefile
-
TriggerOK
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт дек 24, 2009 15:30:13
- Откуда: Кривой Рог
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Всем здравствуйте.Столкнулся с проблемой работы тюнера si4703.Из 5-ти попыток запуска один раз может включиться и нормально работать.Во всех остальных случаях на экране висит частота 76мгц,на кнопки настройки тюнер не реагирует.Вывод reset подключил к PA7,проверил согласователь уровней, питание тюнера(3.3), пробовал зашивать другой прошивкой.Пока без результата.Использую вариант М32-1602-7313.До этого использовал тюнер 5767-все работало чётко.Заранее спасибо за помощь
- sintetik
- Вымогатель припоя
- Сообщения: 559
- Зарегистрирован: Вт фев 02, 2010 20:02:38
- Откуда: Ижевские мы
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
А сопротивления подтяжки к питанию каким номиналом. Если 4,7к, попробуйте до 3к опустить.
-
TriggerOK
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт дек 24, 2009 15:30:13
- Откуда: Кривой Рог
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
На плате тюнера 4,7к+на плате согласования уровней 10к.Пробовал убирать 4,7к-ничего не поменялось.Опускать не пробовал.Смущает то,что с тюнером 5767 вообще проблем не было по линии I2C
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
А сброс тюнера подключен куда надо?
Плюс второй момент, что Si7403 должен быть запитан всегда, в том числе и в ждущем режиме.
Плюс второй момент, что Si7403 должен быть запитан всегда, в том числе и в ждущем режиме.
-
TriggerOK
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт дек 24, 2009 15:30:13
- Откуда: Кривой Рог
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Сброс подключил к выв.30(PA7) Тюнер запитан от дежурного БП, питание не пропадает.Заметил кстати,что иногда тюнер включается когда как раз сбросишь питание полностью
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
О том и речь. Тюнер сбрасывается лишь один раз, при подаче питания. Дальше он уже должен работать как есть. И если вдруг зависнет - уже ничего не поможет, кроме сброса МК.
А вот почему тюнер зависает - это уже вопрос.
А вот почему тюнер зависает - это уже вопрос.
-
TriggerOK
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Чт дек 24, 2009 15:30:13
- Откуда: Кривой Рог
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Зависает он после команды standby.Вернее после выхода из него
-
Frogfot
- Мучитель микросхем
- Сообщения: 443
- Зарегистрирован: Ср окт 19, 2011 08:48:27
- Откуда: Мать городов русских
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
WiseLord подскажите пожалуйста по математике - что за формула используется в умножении:
({ \
int prod, val1=a, val2=b; \
__asm__ __volatile__ ( \
"muls %B1, %B2 \n\t" \
"mov %B0, r0 \n\t" \
"mul %A1, %A2 \n\t" \
"mov %A0, r1 \n\t" \
"mulsu %B1, %A2 \n\t" \
"add %A0, r0 \n\t" \
"adc %B0, r1 \n\t" \
"mulsu %B2, %A1 \n\t" \
"add %A0, r0 \n\t" \
"adc %B0, r1 \n\t" \
"clr r1 \n\t" \
: "=&d" (prod) \
: "a" (val1), "a" (val2) \
); \
prod; \
})
Спойлер
#define mshf_16( a, b) \({ \
int prod, val1=a, val2=b; \
__asm__ __volatile__ ( \
"muls %B1, %B2 \n\t" \
"mov %B0, r0 \n\t" \
"mul %A1, %A2 \n\t" \
"mov %A0, r1 \n\t" \
"mulsu %B1, %A2 \n\t" \
"add %A0, r0 \n\t" \
"adc %B0, r1 \n\t" \
"mulsu %B2, %A1 \n\t" \
"add %A0, r0 \n\t" \
"adc %B0, r1 \n\t" \
"clr r1 \n\t" \
: "=&d" (prod) \
: "a" (val1), "a" (val2) \
); \
prod; \
})
Хорошему коту и в декабре - март 
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Не знаю, это я взял из библиотеки, которую использовал.
-
Frogfot
- Мучитель микросхем
- Сообщения: 443
- Зарегистрирован: Ср окт 19, 2011 08:48:27
- Откуда: Мать городов русских
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
WiseLord ещё подскажите, где вызывается функция getSpectrum
Хорошему коту и в декабре - март 


