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

 
 
> 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

Сообщений в этой теме
- 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
||- - defunct   Цитата(rx3apf @ Apr 8 2011, 18:48) Это то...   Apr 8 2011, 16:02
||- - 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 Текстовая версия Сейчас: 19th July 2025 - 08:57
Рейтинг@Mail.ru


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