реклама на сайте
подробности

 
 
> ATTINY10, Программирование, прошивка
nicks80
сообщение Apr 5 2011, 09:51
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 18-10-07
Пользователь №: 31 485



Уважаемые кто имел дело с этим контроллером?
Планируется реализовать простой 1 проводной протокол. и программный ШИМ на 3 канала.
и программировать на С а не на ASM.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Apr 7 2011, 23:21
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(nicks80 @ Apr 5 2011, 12:51) *
Уважаемые кто имел дело с этим контроллером?
Планируется реализовать простой 1 проводной протокол. и программный ШИМ на 3 канала.
и программировать на С а не на ASM.

Советую использовать tiny13A.
tiny10 давненько снят с производства (вот смотрю AVR Technical Library за 2006-й год, его уже там нет).
В tiny13 есть встроенный debugWire и памяти 64 байта, плюс более быстрый internal oscillator (9.6Mhz), поддерживается в IAR и в WinAvr. возможно если отдать почти всю память под стеки и аккуратно промониторить глубину вызовов, то может быть что-то и получится на C....

Иначе пишите лучше на ASM, это как раз тот случай когда ASM более уместен чем Си, если взвесить все за и против.

Цитата
Разумно будет отладить на tiny2313, а потом уже портировать

с толстого контроллера переходить на более мелкий - часто чревато огромным разочарованием, когда как не крути код не укладывается..
На мой взгляд когда речь идет о программировании таких крошек как tiny10 - Си надо забыть и программу писать исключительно на ASM и сразу под целевой МК.
В контроллере всего __512 слов__ памяти программ, какие компиляторы? какие Си?!
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Apr 7 2011, 23:33
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(defunct @ Apr 8 2011, 03:21) *
Советую использовать tiny13A.
tiny10 давненько снят с производства (вот смотрю AVR Technical Library за 2006-й год, его уже там нет).

А это ничего, что в 2009-м году даташит на него еще был premilinary ?

Цитата
На мой взгляд когда речь идет о программировании таких крошек как tiny10 - Си надо забыть и программу писать исключительно на ASM и сразу под целевой МК.
В контроллере всего __512 слов__ памяти программ, какие компиляторы? какие Си?!

А в первую очередь - исходя из задачи. Три канала программного PWM - только asm, с оптимизацией каждого такта, и лишь тогда получится хоть что-то более-менее съедобное...
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 8 2011, 00:03
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(rx3apf @ Apr 8 2011, 02:33) *
А это ничего, что в 2009-м году даташит на него еще был premilinary ?

Приношу извинения, я его спутал с tiny11.
tiny10 действительно был анонсирован только в 2009-м, поэтому его и нет в AVR Tech Library за 2006-й год.

Цитата(rx3apf @ Apr 8 2011, 02:33) *
А в первую очередь - исходя из задачи. Три канала программного PWM - только asm, с оптимизацией каждого такта, и лишь тогда получится хоть что-то более-менее съедобное...

Там (и в tiny10 и в tiny13) есть таймер с OCRA и OCRB т.е. вполне реально сделать 3 канала и даже больше каналов на Си с высокой точностью и без особого напряга для проца - методом сортировки событий программируя OCRA / OCRB поочередно на следующий event. В одной из тем такой способ уже приводил. Меня здесь больше настораживает "простой" 1-wire протокол. Из практики, как раз реализация, как по-началу кажется "простого" протокола управления может занимать до 9/10 кода проекта.
Go to the top of the page
 
+Quote Post
nk@
сообщение Apr 8 2011, 04:05
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



Цитата(defunct @ Apr 8 2011, 03:03) *
Приношу извинения, я его спутал с tiny11.
Там (и в tiny10 и в tiny13) есть таймер с OCRA и OCRB т.е. вполне реально сделать 3 канала и даже больше каналов на Си с высокой точностью и без особого напряга для проца - методом сортировки событий программируя OCRA / OCRB поочередно на следующий event. В одной из тем такой способ уже приводил.

Вы даташит хоть посмотрите. Корпус SOT23-6 = всего 6 ног, из которых -2 земля+питание = остается 4. Одна для однопроводного управления = в сухом остатке 3 ножки.
Вопрос: как Вы сможете сделать больше 3-х каналов PWM? Даже для 3-х каналов прийдется "отрубить" reset, что пртводит к трудностям, о которых я уже писАл.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 8 2011, 13:26
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(nk@ @ Apr 8 2011, 07:05) *
Вы даташит хоть посмотрите.

Смотрел, и как это влияет на мой пост о производительности?

Цитата
Вопрос: как Вы сможете сделать больше 3-х каналов PWM? Даже для 3-х каналов прийдется "отрубить" reset, что пртводит к трудностям, о которых я уже писАл.

Очевидно буду использовать все имеющиеся 4 в tiny10 или все 6 в tiny13 GPIO.
Вообще не надо приплетать ножки когда речь идет о производительности и вылизывании кода программного PWM "до такта" на асм, либо использования более продвинутого алгоритма на C.

Цитата(rx3apf @ Apr 8 2011, 10:45) *
Не реально, на самом деле. Когда речь идет о управлении LED, разрядность должна быть высокая, частота большая, и ничего хорошего не получается. Я пробовал - оказалось, что один обработчик и три программных PWM работают быстрее.

для управления яркостью LED хватит 60Гц, какую вам надо разрядность? 10 бит -> 66kHz, 12bit -> 246kHz. Заметьте, прерывания в системе по моему способу будут идти с частотой в 60Гц * (Fd / разрядность таймера), где Fd/разрядность таймера не меньше 1, Fd - частота PWM (66kHz 10bit, 246kHz 12bit и т.д.).
для МК на 9.6Mhz с прерываниями только от одного таймера это как семечки пощелкать. МК будет курить 99% процентов веремени на 3-х каналах.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Apr 8 2011, 15:48
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(defunct @ Apr 8 2011, 17:26) *
для управления яркостью LED хватит 60Гц,

Это только так кажется. Тому, кто никогда не пробовал. Реально - и 200 Hz маловато (при малой яркости). 60 - ну это примерно как лампочка через диод, стробоскоп для дискотеки.
Цитата
какую вам надо разрядность? 10 бит -> 66kHz, 12bit -> 246kHz.

Это что за альтернативная арифметика такая, что с ростом разрядности частота дискретизации растет ?
Цитата
Заметьте, прерывания в системе по моему способу будет идти с частотой в 60Гц * (Fd / разрядность таймера), где Fd/разрядность таймера не меньше 1, Fd - чатота PWM (66kHz 10bit, 246 12bit и т.д.).
для МК на 9.6Mhz с прерываниями только от одного таймера это что семечки пощелкать. МК будет курить 99% процентов веремени на 3-х каналах.

Ну вот когда попробуете сделать реально, там и увидите, кто и что будет курить. На tiny10 чуть проще, потому как таймер 16-битный, на tiny13 с 8-битным - получилось очень грустно. Намекну, что шкала логарифмическая, на начальном участке разрешение критично, и если отчесты для разных каналов близки, но не равны, будет совсем плохо.
Go to the top of the page
 
+Quote Post
defunct
сообщение Apr 8 2011, 16:02
Сообщение #8


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(rx3apf @ Apr 8 2011, 18:48) *
Это только так кажется. Тому, кто никогда не пробовал. Реально - и 200 Hz маловато (при малой яркости). 60 - ну это примерно как лампочка через диод, стробоскоп для дискотеки.

50 гц уже не видно на глаз, 60 тем более. Не надо сказок про 200 hz.
Плюс никто не мешает поставить ФНЧ на выходе шима.

Цитата
что с ростом разрядности частота дискретизации растет ?

Естессно растет. 60Hz * 2^10, и 60Hz * 2^12. 66kHz / 1024 = 60Hz, 246kHz / 4096 = 60Hz.

Цитата
Намекну, что шкала логарифмическая, на начальном участке разрешение критично, и если отчесты для разных каналов близки, но не равны, будет совсем плохо.
Это я в курсе, но лично мне выше 8-битной разрядности для светодиодов пока было не нужно. Табличка в 256 элементов рулит.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nicks80   ATTINY10   Apr 5 2011, 09:51
- - demiurg_spb   Глянул, он таки поддерживается avr-gcc, но при раз...   Apr 5 2011, 16:46
- - nk@   Цитата(nicks80 @ Apr 5 2011, 12:51) Уважа...   Apr 5 2011, 17:44
||- - rx3apf   Цитата(defunct @ Apr 8 2011, 20:02) 50 гц...   Apr 8 2011, 16:24
||- - defunct   Цитата(rx3apf @ Apr 8 2011, 19:24) Это ра...   Apr 9 2011, 04:20
||- - demiurg_spb   Цитата(defunct @ Apr 9 2011, 08:20) Профа...   Apr 9 2011, 08:59
||- - rx3apf   Цитата(defunct @ Apr 9 2011, 08:20) Вы же...   Apr 9 2011, 09:24
||- - defunct   Цитата(rx3apf @ Apr 9 2011, 12:24) Вот ко...   Apr 9 2011, 15:45
|- - rx3apf   Цитата(defunct @ Apr 8 2011, 04:03) Там (...   Apr 8 2011, 07:45
- - nk@   Мда, как ловко тема с tiny10 сползла на m16. Флуд ...   Apr 10 2011, 15:23
|- - Владивольт   Цитата(nk@ @ Apr 10 2011, 18:23) Может кт...   Apr 11 2011, 18:48
- - nicks80   Вот что сделал на ATtiny13 3 ноги под RGB шим 1 но...   Apr 14 2011, 15:52
|- - ARV   Цитата(nicks80 @ Apr 14 2011, 19:52) Вот ...   Sep 7 2012, 04:23
- - smk   Тоже очень интересует вопрос как шить tiny10. Можн...   Dec 7 2011, 16:08
- - usav   Для ISP слишком мало ножек! Atmel придумал нов...   Dec 8 2011, 18:03
- - Буратино   Я вот такую схему сейчас собираю, надеюсь что-то п...   Dec 8 2011, 18:30
- - smk   Ну было бы интересно повторить, если все будет ОК...   Dec 8 2011, 19:43
- - usav   Что-то непонятна скорость SPI_RESET через 1мкФ, но...   Dec 13 2011, 17:30
|- - Буратино   Цитата(usav @ Dec 13 2011, 20:30) Что-то ...   Aug 30 2012, 13:42
- - Буратино   Программирование ATtyny10 Купил клон USBasp. Прода...   Sep 6 2012, 06:08


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.0148 секунд с 7
ELECTRONIX ©2004-2016