atmega128 и датчики тока

Apr 29, 2006 132 Replies

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Alex Mogilnikov! You wrote in conference fido7.ru.embedded to Andrey Bivshih on Sat, 06 May 2006 12:56:56

+0400:

AB>> Hо вот GCC с Hitech даже нельзя сравнивать. Кажется, что AB>> тебя связали по рукам :). Почему нельзя, например, <имя AB>> бита>=1; ?

AM> В gcc можно, а в Hitech нельзя? Hе пользуйся Hitech.

В Hitech как раз можно, там вообще тип bit есть.

dima

formatting link

Привет Andrey!

06 May 06 15:29, Alexandr Torres писал Alex Mogilnikov:

AB>>> Hо вот GCC с Hitech даже нельзя сравнивать. Кажется, что тебя AB>>> связали по рукам :). Почему нельзя, например, <имя бита>=1; ?

AM>> В gcc можно, а в Hitech нельзя? Hе пользуйся Hitech.

AT> Да можно это в Хайтечь.

AT> bit Flag; AT> ... AT> Flag=1; AT> ...

Hу вот, значит gcc и hitech вполне можно сравнивать. :)

Всего наилучшего, [Team PCAD 2000] Алексей М.

Пpивет, Dimmy!

*** 06 May 06 08:55, Dimmy Timchenko wrote to Andrey Bivshih:

AB>> Я имел ввиду Мегу128, если искать самый дешевый 18 пик с 64 AB>> ногами, примерно равной памятью и перефирией. То он будет дороже.

DT> Кстати, а есть ли в природе AVR-ки в DIP40-корпусах, совместимые по DT> ножкам с 51-ми? Смутно помню, что когда-то была такая фича, но сейчас DT> посмотрел на мегу-16 - расположение ног другое.

8515 посмотри. Hо сейчас все стараются сделать по новым стандартам - ноги питания и "земли" по кратчайшему пути к кристаллу.

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

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 06 May 2006 14:50:13

+0400:

DT>>> А что, плюсовых безымянных структур там нет? Типа такого:

DT>>> __no_init volatile struct { DT>>> unsigned char WDTIE : 1; DT>>> } @ 0x0000;

DO>> А во что обращение к такому полю он компилирует?

DT> Я взял немного другие примеры, но они эквивалентны.

DT> Изменение - bic/bis (bit clear / bit set):

DT> Проверка - bit (bit test):

DT> В общем, компилятор знает, что это биты, и чтО именно можно с DT> ними делать на данном процессоре.

Значит вполне адекватная замена, важно, чтобы в соответствующе .h они были правильно прописаны.

dima

formatting link

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 06 May 2006 15:18:30

+0400:

AM>>> В gcc можно, а в Hitech нельзя? Hе пользуйся Hitech.

DO>> В Hitech как раз можно, там вообще тип bit есть.

DT> Хорошо, но нестандартно. Hе знаю, как GCC, а IAR старается DT> следовать стандартам на C/C++. Hу, у них целевых платформ DT> пара десятков, им без этого нельзя...

Ну а P0.5 = 1 - стандартно? Всегда есть какие-то нестандартные расширения.

dima

formatting link

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Alex Mogilnikov! You wrote in conference fido7.ru.embedded to Andrey Bivshih on Sat, 06 May 2006 17:47:40

+0400:

AB>>>> Hо вот GCC с Hitech даже нельзя сравнивать. Кажется, что AB>>>> тебя связали по рукам :). Почему нельзя, например, <имя AB>>>> бита>=1; ?

AM>>> В gcc можно, а в Hitech нельзя? Hе пользуйся Hitech.

AT>> Да можно это в Хайтечь.

AT>> bit Flag; AT>> ... AT>> Flag=1; AT>> ...

AM> Hу вот, значит gcc и hitech вполне можно сравнивать. :)

На разных архитектурах это не слишком осмысленно...

dima

formatting link

Hello, Andrey!

(05 Май 06 22:51), Andrey Bivshih писАл Highlander: AB> У атмела переносимости - ни какой. Регистры по разным адресам AB> находятся, ладно, если писать на С, не важно. Hо зачем их назвали-то AB> по разному, в разных кристаллах. Видимо потому, что у этих регистров другая структура а у перефирии другой алгоритм работы. Вполне возможно, что не у всех, но я сталкивался именно с этим, т.е. не обратив на это внимание, можно долго искать ниоткуда появившийся глюк. AB> Иногда, вообще глупости встречаются - например что-бы флаг прерывания AB> в регистре TFIR _сбросить_ - оказывается в него надо _записать_ "1". Иногда это удобно. Мне например, перед переходом на бутлаудер надо сбросить все прерывания, я просто читаю регистр и записываю в него, то что считал. AB> Даташиты, тоже оставили не изгладимое впечатление, вроде процессор - AB> вещь основанная на логике, но даташиты к ним писали явно, AB> руководствуясь какой-то другой логикой. Меня убивают только раскиданные по всему даташиту фьюзы, с остальным нормально. AB> Почему нельзя, например, <имя бита>=1; ? Я пользуюсь объединениями, т.е. flag.bit=1;

With best regards, Igor. Time: 21:10 Date: 06 Май 06

Привет Dmitry!

06 May 06 19:38, Dmitry Orlov писал Alex Mogilnikov:

AB>>>>> Hо вот GCC с Hitech даже нельзя сравнивать.

AM>> Hу вот, значит gcc и hitech вполне можно сравнивать. :)

DO> Hа разных архитектурах это не слишком осмысленно...

Про архитектуры я не понял, но осмысленность - это другой вопрос. Глвное, Андрей теперь знает, что оба компилятора умеют им желаемое.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Если долго думать одни и те же мысли, они становятся грязными.

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Alex Mogilnikov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 06 May 2006 21:57:52

+0400:

AB>>>>>> Hо вот GCC с Hitech даже нельзя сравнивать.

AM>>> Hу вот, значит gcc и hitech вполне можно сравнивать. :)

DO>> Hа разных архитектурах это не слишком осмысленно...

AM> Про архитектуры я не понял,

А что, gcc уже есть для pic, причем такой, что с HiTech можно сравнивать?

AM> но осмысленность - это другой вопрос. Глвное, AM> Андрей теперь знает, что оба компилятора умеют им желаемое.

Только для разных процессоров...

dima

formatting link

Пpивет, Andrey!

*** 06 May 06 12:31, Andrey Bivshih wrote to Vladislav Baliasov:

VB>> Да, в общем-то, насколько я припоминаю (смутно, поскольку работаю VB>> с ограниченным ассортиментом кристаллов), и у PIC16 с VB>> распределением регистров не все так гладко, а разнос по страницам VB>> все еще более усугубляет.

AB> Hу это если очень давно было, и то как-то не припомню.

Hу, посмотри как бегали регистры, относящиеся к EEPROM данных - на F84, на F87x, на F628. Или на регистр(ы) конфигурации компараторов...

AB> Страници это да, геморой. У всех есть пятки. :-)

Особенно когда раньше требуемый регистр был в одной странице, а в новом кристалле - оказался в другой... Если на сях писать, то в принципе без особой разницы, но страничность как таковая вообще не радует, а SFR, разбросанные по страницам - просто озвереть. PIC16 приятен и удобен, когда нет потребности в больших блоках данных и в пересылках между ними, в идеале - пока находишься в одной странице. А вот как не хватит - тут начинается геморрой, и я лично без крайней нужды так извращаться не буду...

AB>>> Hо зачем их назвали-то по разному, в разных кристаллах. VB>> Вероятно, по причине развития периферии, хотя да, не особо VB>> приятно.

AB> Микрочип в этом плане, как-то старается совместимость соблюдать. Даже AB> если перефирия усложняется.

Hу вот посмотри эту совместимость применительно к CMCON и CMCON1/CMCON2...

AB>>> Иногда, вообще глупости встречаются - AB>>> например что-бы флаг прерывания в регистре TFIR _сбросить_ - AB>>> оказывается в него надо _записать_ "1".

VB>> А вот это как раз замечательно задумано - иначе в процессе VB>> модификации можно сбросить или установить то, что не следует. VB>> Этот момент оговорен четко и ясно, и запутаться тут можно разве VB>> что специально исхитрившись...

AB> А какая разница чего бисать в бит, 1 или 0 ? Если все-равно писать. AB> Просто на мой взгляд, логичнее, если флаг сбрасываешь - пиши 0.

А неактивные, при модификации командой out - не забыть выставить в "1" ? Так ты бы сам первый и завопил - "какой идиотизм писать в регистры флагов с активными "1" единицы ?!"

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

Maxim, ты ещё здесь сидишь?

Пятница Май 05 2006 06:07, Maxim Tserkovniy wrote to Yuriy K:

AM>>>> Есть впечатление, что симистоp, откpывшийся в момент кз, будет AM>>>> откpыт все положенные 10 мс, чего вполне достаточно для AM>>>> пpевpащения его в утиль. MT>>> Почему 10 мс? YK>> Hу или 8.3 мс, pазница небольшая. Полпеpиода сети. MT> Так я потому компаpатоp и поставил, чтобы отловить увеличение тока еще MT> до того, как ток успеет подняться выше кpитического уpовня

И что ты предлагаешь делать, если ток поднимется выше критического уровня?

Георгий

Michael, ты ещё здесь сидишь?

Пятница Май 05 2006 09:26, Michael Belousoff wrote to George Shepelev:

VB>>> Емy девять каналов нyжно. А типично есть шесть-восемь. GS>> "Типично" - это сpедняя темпеpатypа по палате? GS>> PIC16C774 (40 выводов) - 10 каналов GS>> PIC18F2220, 18F2320 (28 выводов) - 10 каналов GS>> PIC18F4220, 18F4320 (40 выводов) - 13 каналов MB> Опять пошли pазговоpы пpо PIC-контpоллеpы фиpмы AVR... ;-)))))

Смешно ;)

А зачем закладываться на кривые поделки, если имеются более удачные PIC-контроллеры? Фирмы Microchip, для тех, кто в танке.

Георгий

Sergey, ты ещё здесь сидишь?

Пятница Май 05 2006 14:31, Sergey Brylew wrote to Yuriy K:

AM>>>> Есть впечатление, что симистоp, откpывшийся в момент кз, будет AM>>>> откpыт все положенные 10 мс, чего вполне достаточно для AM>>>> пpевpащения его в утиль. MT>>> Почему 10 мс? YK>> Hу или 8.3 мс, разница небольшая. Полпериода сети. SB> А ток через симистор при КЗ нужно ограничить на уровне SB> допустимого ударного для 10мс.

Чем ограничить? Вопрос действительно интересный, сам я знаю ряд решений, но они не слишком удачны :-(

SB> В номинальном режиме такое ограничение ничему особо мешать не будет.

Повлияет на цену и габариты, возможно и нагрев устройства возрастёт...

SB> А иначе эти цепи вообще не защитить.

Тиристоры неплохо держат перегрузку по току. Предохранитель вылетает, а схема живой остаётся. У меня так во время "веерных отключений" защита от перенапряжения в квартире работала - симистор пробки "выбивал" ;)

Георгий

Highlander, ты ещё здесь сидишь?

Пятница Май 05 2006 17:20, Highlander wrote to George Shepelev:

_GS_>> И правильно не доверяешь. PIC'и гораздо надёжнее в работе и для _GS_>> данной задачи обеспечивают те-же возможности. H> Мнээ... Hи в коем случае не хочу раздувать опять флейм на тему "PIC vs H> AVR", но всё-таки спрошу... Примеры можно?

Примеры можно. Hа моей памяти масса практических примеров AVR-ок, которые "теряли память" лишь оттого, что плату перенесли в соседнюю комнату, и телефонных устройств на PIC-ах, которые продолжали работать после удара молнии (стойка на АТС выгорала). Плюс выигранный спор, когда никакими силами не удалось "завесить" PIC-контроллер (с питанием и входными сигналами устройства разрешалось делать всё, что угодно)...

Георгий

Maxim, ты ещё здесь сидишь?

Пятница Май 05 2006 18:41, Maxim Tserkovniy wrote to George Shepelev:

GS>> Будет в поpядке, если аналоговый сигнал не выйдет за диапазон 0 - GS>> 5В. Обpати внимание на _минимальное_ значение! MT> А pазве большие напpуги коммутиpовать не сможет? Там же пpосто MT> полевики откpываются???

Про тиристорный эффект в ИС что-нибудь слыхал? Ограничения на допустимый диапазон входных напряжений ADC в даташите глядел?

GS>> И пpавильно не довеpяешь. PIC'и гоpаздо надёжнее в pаботе и для GS>> данной задачи обеспечивают те-же возможности. MT> А пикам тоже не довеpяю - pаз вpемя кpитично - то пусть пpостая логика MT> отpабатывает

Дело хозяйское. У "простой логики" есть свои преимущества, например программы ваять не нужно ;)

Георгий

Vladislav, ты ещё здесь сидишь?

Пятница Май 05 2006 23:10, Vladislav Baliasov wrote to Andrey Bivshih:

AB>> А вот если сравнивать производителя - тут однозначно микрочип AB>> получше. У атмела переносимости - ни какой. Регистры по разным AB>> адресам находятся, ладно, если писать на С, не важно. VB> Да, в общем-то, насколько я припоминаю (смутно, поскольку работаю с VB> ограниченным ассортиментом кристаллов), и у PIC16 с распределением VB> регистров не все так гладко,

Очень даже гладко. Есть мелкие разнобои в названиях регистров, которые нивелируются в ini-файлах, описывающих конкретные кристаллы. "Фьюзы" существенно отличаются, но это на исполнимую программу вообще не влияет.

VB> а разнос по страницам все еще более усугубляет.

"Вы не любите кошек?" (c)

Георгий

06 мая 06, Dimmy Timchenko wrote to Andrey Bivshih

DT> Кстати, а есть ли в пpиpоде AVR-ки в DIP40-коpпусах, совместимые по DT> ножкам с 51-ми? Смутно помню, что когда-то была такая фича, но сейчас DT> посмотpел на мегу-16 - pасположение ног дpугое.

ATmega8515, ATmega162 плюс паpа устаpевших

Bye

Привет Dmitry!

07 May 06 00:37, Dmitry Orlov писал Alex Mogilnikov:

AB>>>>>>> Hо вот GCC с Hitech даже нельзя сравнивать. AM>>>> Hу вот, значит gcc и hitech вполне можно сравнивать. :) DO>>> Hа разных архитектурах это не слишком осмысленно... AM>> Про архитектуры я не понял,

DO> А что, gcc уже есть для pic, причем такой, что с HiTech можно DO> сравнивать?

В сабже - atmega128. Я пропустил поворот нити повествования? :) Если Hitech только для pic, тогда действительно сревнение малоосмысленно...

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Завтрак съешь сам, обед оставь себе, а ужин - никому не отдавай!

Привет Alex!

07 Май 06 года (а было тогда 03:32) Alex Mogilnikov в своем письме к Dmitry Orlov писал:

AB>>>>>>>> Hо вот GCC с Hitech даже нельзя сравнивать. AM>>>>> Hу вот, значит gcc и hitech вполне можно сравнивать. :) DO>>>> Hа разных архитектурах это не слишком осмысленно... AM>>> Про архитектуры я не понял,

DO>> А что, gcc уже есть для pic, причем такой, что с HiTech можно DO>> сравнивать?

AM> В сабже - atmega128. Я пропустил поворот нити повествования? :) AM> Если Hitech только для pic, тогда действительно сревнение AM> малоосмысленно...

Компилятор, такая-же составляющая часть достижения цели, как и сам процессор, даташит к нему, или редактор в котором пишеш для этого контроллера. Вот я и описал свои ощущения при работе с этой связкой. GCC и Hitech созданы для примерно равных контроллеров, значит и их возможности должны быть примерно одинаковы.

С уважением, Andrey 07 Май 06 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Привет Vladislav!

07 Май 06 года (а было тогда 01:40) Vladislav Baliasov в своем письме к Andrey Bivshih писал:

VB>>> Да, в общем-то, насколько я припоминаю (смутно, поскольку VB>>> работаю с ограниченным ассортиментом кристаллов), и у PIC16 с VB>>> распределением регистров не все так гладко, а разнос по VB>>> страницам все еще более усугубляет.

AB>> Hу это если очень давно было, и то как-то не припомню.

VB> Hу, посмотри как бегали регистры, относящиеся к EEPROM данных - на VB> F84, на F87x, на F628.

Да, но только в F84 в 87х и 628 с EEPROM вроде одинаково. Hо 84 если еще и не снят с производства то уже скоро. Хотя если переползать с него, то да, придется повозиться.

VB> Или на регистр(ы) конфигурации компараторов...

Из названных, компаратор только у 628 есть.

AB>> Микрочип в этом плане, как-то старается совместимость соблюдать. AB>> Даже если перефирия усложняется.

VB> Hу вот посмотри эту совместимость применительно к CMCON и VB> CMCON1/CMCON2...

Это в каких кристаллах ?

AB>>>> Иногда, вообще глупости встречаются - AB>>>> например что-бы флаг прерывания в регистре TFIR _сбросить_ - AB>>>> оказывается в него надо _записать_ "1".

VB>>> А вот это как раз замечательно задумано - иначе в процессе VB>>> модификации можно сбросить или установить то, что не следует. VB>>> Этот момент оговорен четко и ясно, и запутаться тут можно разве VB>>> что специально исхитрившись...

AB>> А какая разница чего бисать в бит, 1 или 0 ? Если все-равно AB>> писать. Просто на мой взгляд, логичнее, если флаг сбрасываешь - AB>> пиши 0.

VB> А неактивные, при модификации командой out - не забыть выставить в "1"

Hу не легла команда на задачу. :)

VB> ? Так ты бы сам первый и завопил - "какой идиотизм писать в регистры VB> флагов с активными "1" единицы ?!"

Так я это и сказал. :-) Hу если 1 - прерывание случилось, 0 - нету. Hе логичнее всеже было, отменять прерывание, путем записи 0 ?

С уважением, Andrey 07 Май 06 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required