NM>> Дороже но не намного. 675 у нас стоит $~1.60, а 45 мне по $2 достали... NM>> Кроме того есть tiny25, периферия таже, но памяти вдвое меньше. NM>> Интересно как Обухов собрался воткнуть этот пример в 1К памяти?
Тогда извиняй. У меня получилось 1956 байт c ключом --Os. Мне казалось, что ты упоминал tiny13. Это вдвое меньше....
Во всем есть позитив. Hапример твоя подсказка о организации работы таймера с автозагрузкой через регистр сравнения... Hу а еслиб ты и сделал - зачем оно им?
Ты говорил, что в твоем камне АЦП нет. В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не пробовал, но на переменный резистор в восьмиюитном режиме проц реагирует адекватно. Это так, просто штришок. У меня TRM на tiny45 (8МГц) на 4800 работает без вопросов, Дальше гнать не стал - смысла не вижу
AM>> Господа, Вы зря соревнуетесь. В моей последней разработке мастер AM>> отдает команды слейву той же марки со скоростью 1250000 (Миллион DO> - вот вы тут в Резюме написали что можете печатать со скоростью 20000 DO> - получается.... но такая фигня! :-\ Контрольная сумма в слейве сходится. Команда слейвом отрабатывается и результат проверяется мастером. Что еще надо? Тем более, что я сказал "мастер отдает слейву по программному каналу", а не "слейв принимает от мастера по программному каналу".
NM>>> Дороже но не намного. 675 у нас стоит $~1.60, а 45 мне по $2 достали... NM>>> Кроме того есть tiny25, периферия таже, но памяти вдвое меньше. NM>>> Интересно как Обухов собрался воткнуть этот пример в 1К памяти? NM>
NM> Тогда извиняй. У меня получилось 1956 байт c ключом --Os. это чего? мой тест? nb:[/home/dimka]$ tail -n 2 rs232_prog/demo_rs232.hex|head -n 1|cut -b 4,5,6,7
02CA
около 700Байт. я в первом посте еще написал что я специально не задавался вопросами оптимизации. ты чем компилировал что у тебя почти 2Кб получилось?
NM> Мне казалось, что ты упоминал tiny13. Это вдвое меньше.... биение на функции, локальные переменные, передача переменных итп много прибавки к коду дает. ну и структура (хотя ее прилично оптимизирует gcc) если бы я писал для Tiny то очевидно писалось бы так же - все в одном файле с двумя-тремя функциями :)
NM>
NM> Во всем есть позитив. Hапример твоя подсказка о организации NM> работы таймера с автозагрузкой через регистр сравнения... так я вот во всех спорах выше и пытался внушить мысль что суть AN именно в том что посмотреть как что-то делается а не возня "работает и ладно"
вот ты углядел что-то в инициализации таймера, хотя main.c там вообще demo'шный ;) и это не может не радовать :)
NM> Hу а еслиб ты и сделал - зачем оно им? мы ни в одном проекте tiny не применяли. все как-то надо много ног. потому если я даже и захотел бы на tiny это отладить мне пришлось бы заказывать, плату ваять итп на что у меня не было мотивации :) об этом я в самом начале этого флейма писал :)
NM> Ты говорил, что в твоем камне АЦП нет. хм? я такое говорил? я его не использую в данном примере это верно, как и не использую аппаратный RS232 :)
NM> В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не NM> пробовал, но на переменный резистор в восьмиюитном режиме проц реагирует NM> адекватно. Это так, просто штришок. NM> У меня TRM на tiny45 (8МГц) на 4800 работает без вопросов, Дальше гнать NM> не стал - смысла не вижу а поставь светодиод на входе и выходе в функцию обработки прерывания RS и посмотри скважность. должно быть соизмеримо с тем что я написал (или меньше, потому что я не рвался к оптимизации скорости) у меня легко 19200 получилось :)
NM> Ты говорил, что в твоем камне АЦП нет. NM> В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не NM> пробовал, но на переменный резистор в восьмиюитном режиме проц реагирует NM> адекватно. Это так, просто штришок. вообще разгонять не стоит. потому что даже если оно будет работать в разогнанном состоянии далеко не факт что процессор из другой партии будет функционировать на этой же частоте. и еще, АЦП обычно имеет входные цепи с определенными входными емкостями итп. и если вы уменьшаете время преобразования относительно этих емкостей вы рискуете что устройство захвата АЦП не будет успевать делать точный захват => возможна погрешность в сторону уменьшения измеряемого значения. то есть кажется что все работает а реально работает только цифровая часть АЦП, а остальное просто не успевает.
PS: смотрю Attiny 25-45-85 у него там в принципе есть аппаратное практически все что надо этому trm. и RS232 и температурный датчик встроенный и пара таймеров с выходами ШИМ (чтобы было чем не думая о таймингах на симистор сигналы выдавать). получается этот trmь можно на AtTiny сваять вообще не озадачиваясь реализацией каких-то там алгоритмов.
*** 09 Aug 06 00:41, Dmitry E. Oboukhov wrote to Nicolas Minakov:
NM>> реагирует адекватно. Это так, просто штришок.
DO> вообще разгонять не стоит. потому что даже если оно будет работать в DO> разогнанном состоянии далеко не факт что процессор из другой партии DO> будет функционировать на этой же частоте.
Факт, что будет. Просто надо иногда читать даташиты...
захват =>> возможна погрешность в сторону уменьшения измеряемого
DO> значения. DO> то есть кажется что все работает а реально работает только цифровая DO> часть АЦП, а остальное просто не успевает.
Реально (согласно даташиту) допустимая максимальная частота тактирования ADC у AVR - типично 1 MHz. При превышении рекомендуемого максимума 200 kHz уменьшается разрешающая способность, но узел продолжает функционировать так, как ему положено...
DO> PS: смотрю Attiny 25-45-85 DO> у него там в принципе есть аппаратное практически все что надо этому DO> trm. и RS232 и температурный датчик встроенный и пара таймеров с
Еще (если нужно _измерение_ температуры) стоит поглядеть на характеристики этого термодатчика - они просто отвратительны. Точность +/- 10 градусов - это просто издевательство...
Wed Aug 09 2006 00:41, Dmitry E. Oboukhov wrote to Nicolas Minakov:
NM>> В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не NM>> пробовал, но на переменный резистор в восьмиюитном режиме проц реагирует NM>> адекватно. Это так, просто штришок.
DEO> вообще разгонять не стоит. потому что даже если оно будет работать в DEO> разогнанном состоянии
Работа AVR ADC на тактовой частоте до 1MHz - совершенно нормальный документированный режим. При этом гарантируется восьмибитная точность. VLV
"Ты вакциниpован пpотив бешенства?" (c) Aleksandr Volosnikov
Tue Aug 08 2006 01:05, Alexander Torres wrote to Dmitry E. Oboukhov:
AT>>> нету - упхнись. DEO>> ПHХ
AT> Я надеюсь, модератор это тоже увидит?
Забавно. :)
=============================================================================== From : Alexander Torres 2:5020/400 Thu 03 Aug 06 10:33 To : Moderator Subj : Склоки и разборки. Эффективно исключить. ===============================================================================
[skip]
M> За последние двое суток от тебя не было ни одного содержательного M> письма, один флейм и флуд.
Тораресч мордератар, давайте не будем сцать протиф ветра?
Tue Aug 08 2006 11:21, Dmitry Orlov wrote to Arcady Schekochikhin:
AS>> Каждое событие типа 5 добавляет латентность и сбивает сетку, теперь AS>> прерывание будет неступать в моменты +138*n+N (где N будет медленно AS>> нарастать).
DO> Теперь понял что ты имеешь в виду. Да, сдвиг сетки будет нарастать, только DO> он меня за пределами одного байта не волнует совершенно.
Так оно и в пределах байта будет нарастать, причём неравномерно. Почему бы от этого сдвига не избавиться, если это почти ничего не стоит?
NM>> Ты говорил, что в твоем камне АЦП нет. NM>> В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не NM>> пробовал, но на переменный резистор в восьмиюитном режиме проц NM>> реагирует адекватно. Это так, просто штришок.
Понял. 200Кгц это тоже немало. Вернем ацпшный клок назад.
О фазовом регулировании в исходном варианте речи не идет... Там симистор работает просто как выключатель. NTC, можно вынести, и даже включить несколько штук, (об этом Дмитрий писал). А внутренний датчик хорош тем, что можно откалибровать с его помощью NTC, если сомнения есть. У меня температура немного заниженная получается. Таблица из даташита на мой ntc совпала с той, что у Димы. Может это за счет разгона у меня температура вместо 36 - 32 градуса вышла.
NM>>>> Дороже но не намного. 675 у нас стоит $~1.60, а 45 мне по $2 NM>>>> достали... Кроме того есть tiny25, периферия таже, но памяти вдвое NM>>>> меньше. Интересно как Обухов собрался воткнуть этот пример в 1К NM>>>> памяти? NM>>
NM>> Тогда извиняй. У меня получилось 1956 байт c ключом --Os.
Твою прогу я скачал уже потом. Она получилась на три байта меньше. Я говорил про trm Орлова на tiny45. Я ее уже запустил. Естественно твоя прога может и побыстрее работать - она легче.
NM>> Hу а еслиб ты и сделал - зачем оно им?
NM>> Ты говорил, что в твоем камне АЦП нет.
ООпс Hе увсех есть. Я не посмотрел..
NM>> В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не NM>> пробовал, но на переменный резистор в восьмиюитном режиме проц NM>> реагирует адекватно. Это так, просто штришок. У меня TRM на tiny45 NM>> (8МГц) на 4800 работает без вопросов, Дальше гнать не стал - смысла не NM>> вижу
Я писал Аркадию, что при выполнении trm (до всех поравок ) на tiny45 на скорости 2400 скважность составляет 1 (во время работы прерывания) к 6 (все остальное время). Hа что мне посоветовали разогнать до 4800. Это я и сделал. Оно заработало. Скважность на 4800 я не смотрел. Осталось еще посмотреть как оно будет работать с изменениями Аркадия. Nicolas
VB> Реально (согласно даташиту) я из текста его письма понял что он разогнал частоту выше рекомендовванной в даташите :) сам я в этот даташит не заглядывал (на предмет скоростных х-к) :)
DO>> PS: смотрю Attiny 25-45-85 DO>> у него там в принципе есть аппаратное практически все что надо этому DO>> trm. и RS232 и температурный датчик встроенный и пара таймеров с VB>
VB> Еще (если нужно _измерение_ температуры) стоит поглядеть на характеристики VB> этого термодатчика - они просто отвратительны. Точность +/- 10 градусов - VB> это просто издевательство... а что NTC равзе точнее? особливо с учетом того что там нелинейное преобразование через 16-строк таблицу делается :)
KF>>> А ничего, что на Z80 с <1MIPS получается 115200? :-/ DEO>> 6 инструкций на бод?
VV>
VV> Hа самом деле cофтовый UART на 19200 на 10MHz AVR - это позорно. VV> Даже при чисто софтовой реализации должно получаться раза в три быстрее. ну и дай ссылку на непозорную реализацию :) эту - я сразу написал что не оптимизировал сознательно
а 10E6/(19200*3*10/8)=138 инструкций/дуплексный бод
если не пользоваться прерываниями по фронтам, частота на прием должна быть минимум в три раза выше частоты на передачу => 3 прерывания/бод - прием и 1 прерывание/бод - передача получается
138/4=34 инструкции на бод.
то есть в 34 инструкции надо счетчик битов упхать, буфер на ввод и вывод (чтобы фронты стояли), байт состояния (что сейчас передаем: старт/стоп/данные), а так же еще упхать надо взаимодействие между процессом передачи и основной программой (флажки - передано/не передано принято/не принято)
короче это очередной звиздеж из серии "програмный RS на Z80 <1MIS"
PS: а на 10MГц легко получается 24400 (19200-описка)
Wed Aug 09 2006 08:15, Dmitry E Oboukhov wrote to Vladimir Vassilevsky:
DEO> если не пользоваться прерываниями по фронтам, частота на прием должна DEO> быть минимум в три раза выше частоты на передачу => 3 прерывания/бод - DEO> прием и 1 прерывание/бод - передача получается DEO> 138/4=34 инструкции на бод.
Если делать полудуплекс, всё может получиться гораздо проще. А в интерактивных протоколах полный дуплекс и не нужен.
DEO> PS: а на 10MГц легко получается 24400 (19200-описка)
Hа 16550 такую скорость не получишь. Зато можно 23040 (делитель 5). :)
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.