Статистика
Время:
Зарегистрированных: 85996
Последним зарегистрирован: ucozdima
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 165
 Гостей: 147
 Анонимных: 1
 Пользователей: 17
 Зарегистрированные:
Moldik miket67 amzodiak Nesportsmen Vodkin korneevsergey khach AntonSor Eger romal76 nbn Smile. Yagarto saturn3500 Alexander_V_B VikGor bulat
Forum Rules Внимание!

Внимание! Перед тем как создавать тему на форуме, воспользуйтесь поиском! Пользователь создавший тему, которая уже была, будет немедленно забанен! Читайте правила названия тем. Пользователи создавшие тему с непонятными заголовками, к примеру: "Помогите, Схема, Резистор, Хелп и т.п." также будут заблокированны навсегда. Пользователь создавший тему не по разделу форума будет немедленно забанен! Уважайте форум, и вас также будут уважать!

Страницы: (13) 1 2 [3] 4 5 6 7 8 9 10 11 12 13  ( Перейти к первому непрочитанному сообщению ) Ответить Новая тема Новый опрос

> Простой Приемник "Мальчиш" на Li-on., Стерео WFM/NFM приемник на KSH-148
victorus
Сообщение: # 437544   Jul 16 2012, 06:52 AM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




1)дополнительный транзистор нужен для того, что с микроконтроллера (вывод AGC) идет напряжение ШИМ в пределах до 3.3В. Для того, чтобы усиление тюнера работало на максимуме при 5В необходимо его поднять до 5В. Для этого и ставят транзистор.
2)Питание может быть не более 5В. Иначе сгорит.
3)Пришивку надо менять при 5В.
4)MC3361 - это таже Моторола только в DIP корпусе.
5)ТА2008 - Функциональных аналогов близких нет. Если менять, то это будет уже другой приемник.
6)456 кГц только такой. В elcotel-е же есть его и берите.
7)фильтр 455 кГц только узкаяФМ. АМ нет.
8)10.245 - конечно же этой частоты. Извините опечатался.
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 437602   Jul 16 2012, 03:59 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



QUOTE (victorus @ Jul 16 2012, 07:52 AM)
4)MC3361 - это таже Моторола только в DIP корпусе.

понятно, что ДИП. smile.gif
Но смущает значок на корпусе (фото выше) - вдруг какой нибудь китайский клон? Я так понимаю это старый значок Самсунга...видел такой же на корпусе микры КА22427 в старом приёмнике..а микры серии КА вроде только самсунговские...ну ладно эт мелочи..
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 437606   Jul 16 2012, 04:05 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



а можно как альтернативу запитать приёмник от 3-х пальчиковых акумуляторов? Или ресурс работы от одной зарядки будет мал?...

У аккумулятора сотика, если не ошибаюсь, напряжение в разряженном состоянии ненамного меньше 3,7 вольт, отсюда и его преимущество, ведь так?
А от 3,5 вольт тюнер хуже работает...
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 437640   Jul 16 2012, 06:33 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



есть вопрос по поводу программирования атмеги16:
На схеме приёмника разъём XS1 очевидно предназначен для программирования. Видна только нумерация разъема.

Но, объясните пожалуйста, куда подключать какие выводы простейшего программатора: (например "пять проводков", я так понял большинство других программаторов AVR тоже имеет пять выводов на выходном разъёме USB, прога есть AVRStudio)

SCK - ? вывод XS1.
MOSI - ? вывод XS1.
MISO - ? вывод XS1.

RESET - ? вывод XS1.
GND - ? вывод XS1.
Mini ProfilePMEmail Poster
Top
vitalik_b
Сообщение: # 437645   Jul 16 2012, 07:05 PM
Report PostQuote Post


Дедушка
*******

Группа: Автор
Сообщений: 7585
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



QUOTE (TRANSFORMER @ Jul 15 2012, 01:39 PM)

3) резонатор 456 кГц. В пультах ДУ есть только 455 кГц, как вариант можно конечно подогнать частоту триммером, в пределах нескольких кГц.

На 1 кГц этот резонатор легко подгоняется, так что проблем обычно нет.


--------------------
TDA - The Digital Audio
Если плоскогубцы выскользнули из рук, то они обязательно упадут именно в то место, где смогут принести наибольшие потери. Закон Мэрфи.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 437734   Jul 17 2012, 05:36 AM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (TRANSFORMER @ Jul 16 2012, 04:59 PM)
QUOTE (victorus @ Jul 16 2012, 07:52 AM)
4)MC3361 - это таже Моторола только в DIP корпусе.

понятно, что ДИП. smile.gif
Но смущает значок на корпусе (фото выше) - вдруг какой нибудь китайский клон? Я так понимаю это старый значок Самсунга...видел такой же на корпусе микры КА22427 в старом приёмнике..а микры серии КА вроде только самсунговские...ну ладно эт мелочи..

Да странноватая микросхема. У меня есть МС3361 в ДИПе, но там эмблема совершенно другая.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 437735   Jul 17 2012, 06:09 AM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (TRANSFORMER @ Jul 16 2012, 05:05 PM)
а можно как альтернативу запитать приёмник от 3-х пальчиковых акумуляторов? Или ресурс работы от одной зарядки будет мал?...

У аккумулятора сотика, если не ошибаюсь, напряжение в разряженном состоянии ненамного меньше 3,7 вольт, отсюда и его преимущество, ведь так?
А от 3,5 вольт тюнер хуже работает...

Запустить можно, но ресурса на долго не хватит. Потребление 150мА. Да начиная с 3.5В приемник уже не работает.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 437748   Jul 17 2012, 08:14 AM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (TRANSFORMER @ Jul 16 2012, 07:33 PM)
есть вопрос по поводу программирования атмеги16:
На схеме приёмника разъём XS1 очевидно предназначен для программирования. Видна только нумерация разъема.

Но, объясните пожалуйста, куда подключать какие выводы простейшего программатора: (например "пять проводков", я так понял большинство других программаторов AVR тоже имеет пять выводов на выходном разъёме USB, прога есть AVRStudio)

SCK - ? вывод XS1.
MOSI - ? вывод XS1.
MISO - ? вывод XS1.

RESET - ? вывод XS1.
GND - ? вывод XS1.

Нумерация согласно стандартному разъему ISP на 10 выводов.
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 437817   Jul 17 2012, 04:28 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



спасибо большое за ответы, буду рисовать печатку под свои микросхемы!...

Минуту погуглил, все же хочу уточнить,
вот так будет нумероваться колодка ISP под разъем XS1?

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 437835   Jul 17 2012, 05:31 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



victorus, а каким программатором пользоваться без разницы?
Фьюзы в статье под любой USB программатор AVR подойдут? (только USB заменю на ISP)
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 437850   Jul 17 2012, 06:45 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




1)Да именно такой разъем ISP.
2)Я пользовался самодельным программатором AVRISP mkII.
3)Фьюзы такие идут только под AVRSTUDIO. Потому что там в меню параметры выбираются из списка как видно из фото фьюзов. B галках установленная обозначает что фьюз запрограммирован. Для других сред фьюзы нужно задавать вручную без списка. Но нужно быть внимательным у некоторых сред фьюзы показаны инверсные. То есть если установлен флажок, то считается, чтто фьюз сброшен. А то можно перепутать и залочить процессор. И только параллельный потом поможет.
Для установки из других сред нужно, чтобы SPIEN был запрограммирован. Лучше его вообще его не трогать. По умолчанию на заводе он и так установлен.
Лучше всего после установки процессор считать фьюзы и:
а)сбросить фьюз JTAGEN
б)сбросить CKOPT
в)установить BODEN
г)установить BODLEVEL
l)установить все CKSEL
д)установить все SEL для задержки
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 437865   Jul 17 2012, 08:52 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



QUOTE (victorus @ Jul 17 2012, 07:45 PM)
Фьюзы такие идут только под AVRSTUDIO. Потому что там в меню параметры выбираются из списка как видно из фото фьюзов. B галках установленная обозначает что фьюз запрограммирован. Для других сред фьюзы нужно задавать вручную без списка.


Т.е. если в наличии есть AVRSTUDIO, программатор AVR под выход USB, то достаточно поменять USB-вилку на ISP и, пользуясь табличкой фьюзов из статьи - можно уже без опаски программировать?

От типа программатора фьюзы и др. настройки в AVRSTUDIO не будут зависеть?
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 437871   Jul 17 2012, 09:07 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



Вот, всем желающим повторить приёмничек, печатная плата!
Зачем делал? Исходя из тех типов корпусов микросхем, что были (будут) в наличии.
1) MC34063 (SOIC-8)
2) фильтр 38 МГц - ФП3П9-451
3) TA2008AN (SDIP-24)
4) LC72131 (SDIP-22). Нумерация выводов отличается от LC72131M, на ПП это учтено.
5) 74HC4053 (SOIC-16). В наличии КМОП-аналог HCF4053.
6) TDA7050 (DIP-8)
7) MC3361 (DIP-16)
8) ATMEGA16 (TQFP-44)
Контурные Катушки - самодельные, экран нарисован тонкой красной линией.

Вопрос по авторской печ.плате - нижние по схеме выводы R47 и R50 вроде идут на вывод "3,3 вольт". На схеме - к общему проводу.
Где ошибка? На схеме? Я в своей ПП поставил на "3,3 вольт"

Плата в формате Sprint Layout 5.0.

Это сообщение отредактировал TRANSFORMER - Jul 17 2012, 09:08 PM

Присоединённый файл ( Кол-во скачиваний: 882 )
Присоединённый файл  _________________2.lay
Mini ProfilePMEmail Poster
Top
olegators68
Сообщение: # 437906   Jul 17 2012, 11:27 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1478
Пользователь №: 69484
Регистрация: 14-August 10
Место жительства: Серпухов



Для простейшего программатора "пять проводков", рулит Понипрог, в свободном доступе она тоже.
ISP разъем не нужен , открываем ДШ и подсоединяем прямо к Меге 16 , для дип
SCK - 8
MOSI - 6
MISO - 7
RESET - 9
GND - 11
Питание - 10
для соика
SCK - 3
MOSI - 1
MISO - 2
RESET - 4
GND - 6
Питание - 5
Запитывать лучше от 5В, на время программирования, от отдельного источника, а не от Li-on батареи т.к. сигналы от "пять проводков" могут превысить напряжение питания, что не даташитово, хоть обычно Мега это переносит.


--------------------
кольт, кольт, каждому мужику по калашу, и уйдем от страны карлика.
Страшно как им.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 438028   Jul 18 2012, 01:48 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (olegators68 @ Jul 18 2012, 12:27 AM)
Для простейшего программатора "пять проводков", рулит Понипрог, в свободном доступе она тоже.
ISP разъем не нужен , открываем ДШ и подсоединяем прямо к Меге 16 , для дип
SCK - 8
MOSI - 6
MISO - 7
RESET - 9
GND - 11
Питание - 10
для соика
SCK - 3
MOSI - 1
MISO - 2
RESET - 4
GND - 6
Питание - 5
Запитывать лучше от 5В, на время программирования, от отдельного источника, а не от Li-on батареи т.к. сигналы от "пять проводков" могут превысить напряжение питания, что не даташитово, хоть обычно Мега это переносит.

Вообще то это и есть ISP(внутреннее последовательное программирование). Только среда другая и программирование не через USB, а СОМ порт.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 438040   Jul 18 2012, 02:27 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (TRANSFORMER @ Jul 17 2012, 09:52 PM)
QUOTE (victorus @ Jul 17 2012, 07:45 PM)
Фьюзы такие идут только под AVRSTUDIO. Потому что там в меню параметры выбираются из списка как видно из фото фьюзов. B галках установленная обозначает что фьюз запрограммирован. Для других сред фьюзы нужно задавать вручную без списка.


Т.е. если в наличии есть AVRSTUDIO, программатор AVR под выход USB, то достаточно поменять USB-вилку на ISP и, пользуясь табличкой фьюзов из статьи - можно уже без опаски программировать?

От типа программатора фьюзы и др. настройки в AVRSTUDIO не будут зависеть?

USB и ISP это разные вещи. Программатор может быть разный и USB, и COM, и LPT, а выход должен быть ISP. Главное чтобы AVRSTUDIA его понимал. А он много разных типов программаторов поддерживает.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 438043   Jul 18 2012, 02:36 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (TRANSFORMER @ Jul 17 2012, 10:07 PM)
Вот, всем желающим повторить приёмничек, печатная плата!
Зачем делал? Исходя из тех типов корпусов микросхем, что были (будут) в наличии.
1) MC34063 (SOIC-8)
2) фильтр 38 МГц - ФП3П9-451
3) TA2008AN (SDIP-24)
4) LC72131 (SDIP-22). Нумерация выводов отличается от LC72131M, на ПП это учтено.
5) 74HC4053 (SOIC-16). В наличии КМОП-аналог HCF4053.
6) TDA7050 (DIP-8)
7) MC3361 (DIP-16)
8) ATMEGA16 (TQFP-44)
Контурные Катушки - самодельные, экран нарисован тонкой красной линией.

Вопрос по авторской печ.плате - нижние по схеме выводы R47 и R50 вроде идут на вывод "3,3 вольт". На схеме - к общему проводу.
Где ошибка? На схеме? Я в своей ПП поставил на "3,3 вольт"

Плата в формате Sprint Layout 5.0.

И R47 и R50 подключаются к Vcc - напрямую к аккумулятору. Не к 3.3В.
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 438069   Jul 18 2012, 04:35 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



По моей печатной плате, забыл добавить - вторая сторона сплошная фольга, подключена к общему проводу, длинные перемычки из тонкого изолированного провода размещаем на стороне сплошной фольги. Отверстия раззенкованы.
А как написано в статье - если узел на VT1 и С39 не используется, то 18 ножка ТА2008 и 11 ножка LC72131M тоже не используются?

Всем удачи в сборке по новой плате!
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 438091   Jul 18 2012, 05:57 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




Да не используется. Именно так.
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 438342   Jul 19 2012, 08:19 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



victorus, добрый вечер,
есть идея запитать приёмник через DC-DC конвертор (на микре LM2621MM).
Суть в том, что при любом напряжении акумулятора в пределах 2,7 - 5 вольт, получить на выходе стабильное напряжение около 3,7 вольт, к которому
подвести питание приёмника.

Это даст возможность запитать приёмник от любого источника на 3...5 вольт.

Но есть подвох - как в этом случае организовать индикатор разряда батареи?
Я так понял - через тот же делитель R49-R50 подключать на 31 ножку процессора "плюс" батареи, а схему питать через конвертор ?
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 439055   Jul 24 2012, 10:58 AM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (TRANSFORMER @ Jul 19 2012, 09:19 PM)
victorus, добрый вечер,
есть идея запитать приёмник через DC-DC конвертор (на микре LM2621MM).
Суть в том, что при любом напряжении акумулятора в пределах 2,7 - 5 вольт, получить на выходе стабильное напряжение около 3,7 вольт, к которому
подвести питание приёмника.

Это даст возможность запитать приёмник от любого источника на 3...5 вольт.

Но есть подвох - как в этом случае организовать индикатор разряда батареи?
Я так понял - через тот же делитель R49-R50 подключать на 31 ножку процессора "плюс" батареи, а схему питать через конвертор ?

Конечно можно. Только для каждого источника нужна другая прошивка. Я могу сделать в меню выбор типа источника питания и потребуется только одна прошивка, а сохранять буду в ЕЕПРОМ.
Да, R49-R50 подключать на 31 ножку процессора "плюс" батареи, а схему питать через конвертор.
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 439081   Jul 24 2012, 04:18 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



Конечно делайте прошивку, заранне спасибо! vo.gif
Предлагаю ввести в меню такие типы источников питания, пределы изменений напряжения
1) 2,8...4 Вольт (три пальчиковых аккумулятора NI-MH или NI-CD)
2) 2,5...4,6 Вольт (три пальчиковых батарейки АА)
3) 3,5...4 Вольт (LI-ION от мобильника, фотика или другого девайса на номинальное напряжение 3,7 вольт)
Если хотите, добавьте что нибудь ещё...будет только лучше. Главно чтобы это не тормозило процессор! cool.gif
Mini ProfilePMEmail Poster
Top
vitalik_b
Сообщение: # 439088   Jul 24 2012, 05:23 PM
Report PostQuote Post


Дедушка
*******

Группа: Автор
Сообщений: 7585
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



Там и так тормозит процессор ужас как. smile.gif Для одной строчки кода выделена функция. smile.gif Лучше так не делать, для этого есть #define. А для лития напряжение от 3,2 до 4,2 надо. 3,5 это ещё в нём остается около 30%.

Это сообщение отредактировал vitalik_b - Jul 24 2012, 05:27 PM


--------------------
TDA - The Digital Audio
Если плоскогубцы выскользнули из рук, то они обязательно упадут именно в то место, где смогут принести наибольшие потери. Закон Мэрфи.
Mini ProfilePMEmail Poster
Top
TRANSFORMER
Сообщение: # 439092   Jul 24 2012, 06:08 PM
Report PostQuote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1146
Пользователь №: 56261
Регистрация: 21-November 09
Место жительства: Нижний Новгород



Виталь, просто дело в том что приёмник ниже 3,5 вольт не работает, ну а если с стабилизир. конвертором делать, то можно и до 3,2 вольт высосать!..

victorus, а как насчёт поюзать define, как советует Виталий?
Или если процессор тормозит, на экранчике тормоза не будут заметны?

Это сообщение отредактировал TRANSFORMER - Jul 24 2012, 06:10 PM
Mini ProfilePMEmail Poster
Top
vitalik_b
Сообщение: # 439107   Jul 24 2012, 07:19 PM
Report PostQuote Post


Дедушка
*******

Группа: Автор
Сообщений: 7585
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



Это освободит память программы, но на быстроту повлияет не сильно. И что за извращение использовать для ОДНОГО ФЛАГА по одной переменной? Можно же создать переменную типа Flags. Там поместится 8 флагов. Обращаться к ним просто. В #define пишем названия флага и соответствующий номер этого флага (от 0 до 8). А для обращения к флагам напишем простой макрос:
#define SetFlag(Flag,Bit) Flag |= (1<<Bit)
#define ClrFlag(Flag,Bit) Flag &= ~(1<<Bit)

Второе. Зачем в прерываниях повторно разрешать, запрещать прерывания? Они аппаратно запрещаются контроллером по выходу в прерывание, а по выходу из прерывания автоматически разрешаются. st.gif И обратно в прерывании для одной строчки(запрещение, разрешение прерываний) использована функция...

Третье. Не большой ли обработчик прерывания для скана ДВУХ кнопок? И Почему бы не совместить чтение энкодера с чтением кнопок?

Синтезатор можно подключить прямо параллельно дисплею т.е. к аппаратному SPI. Сэкономим 4 ножки. Когда устанавливаем частоту синтезатором просто перенастраиваем настройки аппаратного SPI.


В общем программу можно оптимизировать на 50% с таким же увеличением быстродействия. Да и схему тоже можно оптимизировать.

CODE

while(bit_is_set(EECR,EEWE))
{
Nop();
}

Зачем ноп? fix.gif

EEPROM пожалуй самое тормозное место программы. На запись одной ячейки уходит 10мс. А у вас там много данных надо писать. В EEPROM есть своё прерывание. Запихайте данные в буфер, разрешаете прерывание и вуаля. Всё запишется само и само себя остановит при завершении передачи. А во время запись в EEPROM можно например в дисплей картинку пхнуть и ещё делать что то полезное, ведь время освобождается полно.

Это сообщение отредактировал vitalik_b - Jul 24 2012, 08:03 PM


--------------------
TDA - The Digital Audio
Если плоскогубцы выскользнули из рук, то они обязательно упадут именно в то место, где смогут принести наибольшие потери. Закон Мэрфи.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 439244   Jul 25 2012, 06:24 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE
Это освободит память программы, но на быстроту повлияет не сильно. И что за извращение использовать для ОДНОГО ФЛАГА по одной переменной? Можно же создать переменную типа Flags. Там поместится 8 флагов. Обращаться к ним просто. В #define пишем названия флага и соответствующий номер этого флага (от 0 до 8). А для обращения к флагам напишем простой макрос:  #define SetFlag(Flag,Bit) Flag |= (1<<Bit)  #define ClrFlag(Flag,Bit) Flag &= ~(1<<Bit)

Ну и что что по флагу используется своя переменная. Памяти и так вагон и маленький прицеп. А так понятно что за что отвечает. Смысл так извращаться?

QUOTE
Второе. Зачем в прерываниях повторно разрешать, запрещать прерывания? Они аппаратно запрещаются контроллером по выходу в прерывание, а по выходу из прерывания автоматически разрешаются.  И обратно в прерывании для одной строчки(запрещение, разрешение прерываний) использована функция...

Да про это я забыл.

QUOTE
Третье. Не большой ли обработчик прерывания для скана ДВУХ кнопок? И Почему бы не совместить чтение энкодера с чтением кнопок?

Нормальный обработчик. С функцией антидребезга. Кнопки заведены на прерывания, чтобы можно было аппаратно из сна выводить. Поэтому и прерывания отдельные.

QUOTE
Синтезатор можно подключить прямо параллельно дисплею т.е. к аппаратному SPI. Сэкономим 4 ножки. Когда устанавливаем частоту синтезатором просто перенастраиваем настройки аппаратного SPI.

Можно было конечно, но зачем? Ножки экономить смысла нет они и так свободные остались.


QUOTE
Зачем ноп?

Можно и без него. Это ничего не изменит.

QUOTE
EEPROM пожалуй самое тормозное место программы. На запись одной ячейки уходит 10мс. А у вас там много данных надо писать. В EEPROM есть своё прерывание. Запихайте данные в буфер, разрешаете прерывание и вуаля. Всё запишется само и само себя остановит при завершении передачи. А во время запись в EEPROM можно например в дисплей картинку пхнуть и ещё делать что то полезное, ведь время освобождается полно.

Я знаю. Только мне параллельно ничего делать не нужно. Смысл на прерывание переводить?
Mini ProfilePMEmail Poster
Top
vitalik_b
Сообщение: # 439250   Jul 25 2012, 06:47 PM
Report PostQuote Post


Дедушка
*******

Группа: Автор
Сообщений: 7585
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



Такого ответа я примерно и ожидал. smile.gif Оптимизировать программу можно на 50%. А тогда освободится куча времени, можно тактовую 16 МГц понизить в два, а то и больше раз, понизив при этом ток потребления МК в столько же раз. А потом, оптимизацией схемы можно применить контроллер подешевле, на меньшее количество ног, например ATMEGA8. В результате должна получится простая, дешёвая конструкция с очень хорошими параметрами. Так что всё ещё в впереди, проект хороший, но требует доработок. Если откинуть то, что программу надо полностью переписывать, то вот пара недостатков:

1. Мало кнопок. Если в главном режиме они выполняют одну функцию, то в меню уже совсем другие. Применения энкодера с кнопкой решит проблему с неудобством интерфейса управления.

2. Графика на дисплее очень сырая. Например я бы значёк батарейки сделал бы зелёным.

Это сообщение отредактировал vitalik_b - Jul 25 2012, 07:04 PM


--------------------
TDA - The Digital Audio
Если плоскогубцы выскользнули из рук, то они обязательно упадут именно в то место, где смогут принести наибольшие потери. Закон Мэрфи.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 439253   Jul 25 2012, 07:03 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (TRANSFORMER @ Jul 24 2012, 07:08 PM)
Виталь, просто дело в том что приёмник ниже 3,5 вольт не работает, ну а если с стабилизир. конвертором делать, то можно и до 3,2 вольт высосать!..

victorus, а как насчёт поюзать define, как советует Виталий?
Или если процессор тормозит, на экранчике тормоза не будут заметны?

Ничего он не тормозит. В меню выбор и все.
Mini ProfilePMEmail Poster
Top
victorus
Сообщение: # 439272   Jul 25 2012, 08:14 PM
Report PostQuote Post


Гость
*

Группа: Cоучастник
Сообщений: 100
Пользователь №: 61201
Регистрация: 11-February 10




QUOTE (vitalik_b @ Jul 25 2012, 07:47 PM)
Такого ответа я примерно и ожидал. smile.gif Оптимизировать программу можно на 50%. А тогда освободится куча времени, можно тактовую 16 МГц понизить в два, а то и больше раз, понизив при этом ток потребления МК в столько же раз. А потом, оптимизацией схемы можно применить контроллер подешевле, на меньшее количество ног, например ATMEGA8. В результате должна получится простая, дешёвая конструкция с очень хорошими параметрами. Так что всё ещё в впереди, проект хороший, но требует доработок. Если откинуть то, что программу надо полностью переписывать, то вот пара недостатков:

1. Мало кнопок. Если в главном режиме они выполняют одну функцию, то в меню уже совсем другие. Применения энкодера с кнопкой решит проблему с неудобством интерфейса управления.

2. Графика на дисплее очень сырая. Например я бы значёк батарейки сделал бы зелёным.

QUOTE
Такого ответа я примерно и ожидал. smile.gif Оптимизировать программу можно на 50%. А тогда освободится куча времени, можно тактовую 16 МГц понизить в два, а то и больше раз, понизив при этом ток потребления МК в столько же раз

Угу и тактовая частота дисплея тоже понизится - скорость обновления отображения на экране соответственно тоже. И так не фонтан.А оптимизировать согласен можно, но в другом месте и существенно.

QUOTE
А потом, оптимизацией схемы можно применить контроллер подешевле, на меньшее количество ног, например ATMEGA8. В результате должна получится простая, дешёвая конструкция с очень хорошими параметрами. Так что всё ещё в впереди, проект хороший, но требует доработок. Если откинуть то, что программу надо полностью переписывать

Можно, но это уже будет другой приемник. Займись на досуге.

QUOTE
Мало кнопок. Если в главном режиме они выполняют одну функцию, то в меню уже совсем другие. Применения энкодера с кнопкой решит проблему с неудобством интерфейса управления.

к сожалению в моей коробке больше кнопок не влезло.

QUOTE
Графика на дисплее очень сырая. Например я бы значёк батарейки сделал бы зелёным.

Да сыровата. Надо обновить.
Mini ProfilePMEmail Poster
Top
vitalik_b
Сообщение: # 439289   Jul 25 2012, 09:23 PM
Report PostQuote Post


Дедушка
*******

Группа: Автор
Сообщений: 7585
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



QUOTE
Угу и тактовая частота дисплея тоже понизится - скорость обновления отображения на экране соответственно тоже. И так не фонтан.А оптимизировать согласен можно, но в другом месте и существенно.
Не проблема. Настройте SPI на максимальную тактовую Clock/2. И работайте через прерывание. Пока передатчик шлёт данные(например очередной пиксель), вместо того чтобы тупо ожидать флага готовности, можно подготовить следующие данные. Это увеличит быстродействие в два раза

Оптимизация это не только уменьшение размера кода, а и существенное увеличение быстродействия. Я как только вижу мобильный телефон с тормознутым меню, так сразу хочется поубивать разработчиков, вместе с телефоном. smile.gif Надеюсь в следующей версии прошивки мои пожелания будет учтены.



QUOTE
Да сыровата. Надо обновить.

Я бы сделал так:
Контур значка толщиной один пиксель. Цвет белый. А в середине контура три белых квадратика размером 3x2. Естественно от контура отступить на один пиксель чтобы квадратики было видно. Между квадратиками тоже естественно один пиксель отступаем. Когда в батарее осталось меньше 20% остаётся просто контур значка, без квадратиков в середине. Когда идёт заряд количество квадратиков увеличивается. От нуля(нет квадратиков) до трёх(три квадратика), потом цикл обратно повторяется. Задержка между добавлением новых квадратиков 500мс. А когда всё зарядилось значёк станет зелёным с тремя зелёными квадратиками.


Внизу изображение значка

Это сообщение отредактировал vitalik_b - Jul 25 2012, 09:38 PM

Присоединённое изображение
Присоединённое изображение


--------------------
TDA - The Digital Audio
Если плоскогубцы выскользнули из рук, то они обязательно упадут именно в то место, где смогут принести наибольшие потери. Закон Мэрфи.
Mini ProfilePMEmail Poster
Top

Настройки темыСтраницы: (13) 1 2 [3] 4 5 6 7 8 9 10 11 12 13  Ответить Шустрый ответ Новая тема Новый опрос


 




  HotLog   banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X