Hадежный контроллер нужен........

Hello Dmitry.

08 Aug 06 15:24, you wrote to me:

NM>> Дороже но не намного. 675 у нас стоит $~1.60, а 45 мне по $2 достали... NM>> Кроме того есть tiny25, периферия таже, но памяти вдвое меньше. NM>> Интересно как Обухов собрался воткнуть этот пример в 1К памяти?

Тогда извиняй. У меня получилось 1956 байт c ключом --Os. Мне казалось, что ты упоминал tiny13. Это вдвое меньше....

Во всем есть позитив. Hапример твоя подсказка о организации работы таймера с автозагрузкой через регистр сравнения... Hу а еслиб ты и сделал - зачем оно им?

Ты говорил, что в твоем камне АЦП нет. В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не пробовал, но на переменный резистор в восьмиюитном режиме проц реагирует адекватно. Это так, просто штришок. У меня TRM на tiny45 (8МГц) на 4800 работает без вопросов, Дальше гнать не стал - смысла не вижу

Hу вот и польза есть :)

Nicolas

Reply to
Nicolas Minakov
Loading thread data ...

Hello Dmitry!

08 Aug 06 08:57, you wrote to me:

AM>> Господа, Вы зря соревнуетесь. В моей последней разработке мастер AM>> отдает команды слейву той же марки со скоростью 1250000 (Миллион DO> - вот вы тут в Резюме написали что можете печатать со скоростью 20000 DO> - получается.... но такая фигня! :-\ Контрольная сумма в слейве сходится. Команда слейвом отрабатывается и результат проверяется мастером. Что еще надо? Тем более, что я сказал "мастер отдает слейву по программному каналу", а не "слейв принимает от мастера по программному каналу".

Anatoly

Reply to
Anatoly Mashanov

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 получилось :)

Reply to
Dmitry E. Oboukhov

NM> Ты говорил, что в твоем камне АЦП нет. NM> В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не NM> пробовал, но на переменный резистор в восьмиюитном режиме проц реагирует NM> адекватно. Это так, просто штришок. вообще разгонять не стоит. потому что даже если оно будет работать в разогнанном состоянии далеко не факт что процессор из другой партии будет функционировать на этой же частоте. и еще, АЦП обычно имеет входные цепи с определенными входными емкостями итп. и если вы уменьшаете время преобразования относительно этих емкостей вы рискуете что устройство захвата АЦП не будет успевать делать точный захват => возможна погрешность в сторону уменьшения измеряемого значения. то есть кажется что все работает а реально работает только цифровая часть АЦП, а остальное просто не успевает.

PS: смотрю Attiny 25-45-85 у него там в принципе есть аппаратное практически все что надо этому trm. и RS232 и температурный датчик встроенный и пара таймеров с выходами ШИМ (чтобы было чем не думая о таймингах на симистор сигналы выдавать). получается этот trmь можно на AtTiny сваять вообще не озадачиваясь реализацией каких-то там алгоритмов.

Reply to
Dmitry E. Oboukhov

KF> А ничего, что на Z80 с <1MIPS получается 115200? :-/

6 инструкций на бод? и прием и передача? софтовый RS232?

ох уж мне эти сказочки ох уж мне эти сказочники (ц)

KF>

KF>

KF> Hеужто ножкой не успевает махать? :)

Reply to
Dmitry E. Oboukhov

А ты допусти, что ты их инициализировать в более друго месте (например, main()) можешь.

Reply to
Kirill Frolov

"DOS в картинках и с мышой" (C) :-)

Ага. У Дюма про блокировки, инверсии приоритетов и другие ужасы умалчивается...

Оно же откуда-то вызывалось?

И операция деления -- это только на процессорах таку операци умещих аппаратно. Иначе точно, пора дюма читать. (умножение там, сдвигами...)

Reply to
Kirill Frolov

А ничего, что на Z80 с <1MIPS получается 115200? :-/

Неужто ножкой не успевает махать?

Reply to
Kirill Frolov

Hello, Alexander! You wrote to Dmitry E. Oboukhov on Mon, 7 Aug 2006 21:05:09 +0000 (UTC):

AT>>> нету - упхнись. DEO>> ПHХ

AT> Я надеюсь, модератор это тоже увидит?

Ага. (жалобным голосом) "..а он меня на х.. послал!". Самим не смешно?

AT> P.S. А упхнуться придется по любому.

Точно. Будете препираться достанется обоим.

WBR, AVB

Reply to
Alexey V Bugrov

Пpивет, Dmitry!

*** 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 градусов - это просто издевательство...

с уважением Владислав

Reply to
Vladislav Baliasov

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

Reply to
Vladimir Vassilevsky

Wed Aug 09 2006 01:23, Dmitry E. Oboukhov wrote to Kirill Frolov:

На самом деле cофтовый UART на 19200 на 10MHz AVR - это позорно. Даже при чисто софтовой реализации должно получаться раза в три быстрее.

VLV

"Ты вакциниpован пpотив бешенства?" (c) Aleksandr Volosnikov

Reply to
Vladimir Vassilevsky

Hello Alexander.

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> письма, один флейм и флуд.

Тораресч мордератар, давайте не будем сцать протиф ветра?

[skip]

===============================================================================

Dimmy.

Reply to
Dimmy Timchenko

Hello Dmitry.

Mon Aug 07 2006 22:56, Dmitry E Oboukhov wrote to Dmitry E. Oboukhov:

DEO> мне вот интересно скушает ли IAR структуру в начале rs232.c? DEO> кто может попробуйте

А чего б ему её не скушать? Это вообще-то компилятор EC++ с расширениями.

Только задавать битовые поля с размером, отличным от единицы, не рекомендуется из-за неэффективности.

Dimmy.

Reply to
Dimmy Timchenko

Hello Dmitry.

Tue Aug 08 2006 11:21, Dmitry Orlov wrote to Arcady Schekochikhin:

AS>> Каждое событие типа 5 добавляет латентность и сбивает сетку, теперь AS>> прерывание будет неступать в моменты +138*n+N (где N будет медленно AS>> нарастать).

DO> Теперь понял что ты имеешь в виду. Да, сдвиг сетки будет нарастать, только DO> он меня за пределами одного байта не волнует совершенно.

Так оно и в пределах байта будет нарастать, причём неравномерно. Почему бы от этого сдвига не избавиться, если это почти ничего не стоит?

Dimmy.

Reply to
Dimmy Timchenko

Hello Dmitry.

09 Aug 06 00:41, you wrote to me:

NM>> Ты говорил, что в твоем камне АЦП нет. NM>> В tiny АЦП можно разогнать до 500КГц (при штатной - 200), дальше не NM>> пробовал, но на переменный резистор в восьмиюитном режиме проц NM>> реагирует адекватно. Это так, просто штришок.

Понял. 200Кгц это тоже немало. Вернем ацпшный клок назад.

О фазовом регулировании в исходном варианте речи не идет... Там симистор работает просто как выключатель. NTC, можно вынести, и даже включить несколько штук, (об этом Дмитрий писал). А внутренний датчик хорош тем, что можно откалибровать с его помощью NTC, если сомнения есть. У меня температура немного заниженная получается. Таблица из даташита на мой ntc совпала с той, что у Димы. Может это за счет разгона у меня температура вместо 36 - 32 градуса вышла.

Угу - камень очень интересный и быстрый. Nicolas

Reply to
Nicolas Minakov

Hello Dmitry.

09 Aug 06 00:15, you wrote to me:

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

Reply to
Nicolas Minakov

VB> Реально (согласно даташиту) я из текста его письма понял что он разогнал частоту выше рекомендовванной в даташите :) сам я в этот даташит не заглядывал (на предмет скоростных х-к) :)

DO>> PS: смотрю Attiny 25-45-85 DO>> у него там в принципе есть аппаратное практически все что надо этому DO>> trm. и RS232 и температурный датчик встроенный и пара таймеров с VB>

VB> Еще (если нужно _измерение_ температуры) стоит поглядеть на характеристики VB> этого термодатчика - они просто отвратительны. Точность +/- 10 градусов - VB> это просто издевательство... а что NTC равзе точнее? особливо с учетом того что там нелинейное преобразование через 16-строк таблицу делается :)

Reply to
Dmitry E. Oboukhov

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-описка)

Reply to
Dmitry E. Oboukhov

Hello Dmitry.

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). :)

Dimmy.

Reply to
Dimmy Timchenko

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.