Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
20.08.2006, 19:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от deCoder
|
Например я не страдаю миссионерством.
Да вроде в этой ветке никто замечен в этом не был.
|
... а как же БОБ !? (кино)
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
20.08.2006, 19:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от deCoder
|
мой отец - Абрамович.
Первым делом купил по миллиону контроллеров каждой марки.
|
вот потому мне и нравится PROTEUS - можно ни чего не покупая и даже на демо версии поработать с несколькими МК - причем без мудорствования а на примерах его же и сделать уже первые выводы.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
20.08.2006, 19:33
|
|
Прописка
Регистрация: 27.05.2005
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Цитата:
|
... а как же БОБ !? (кино)
|
не понял.
|
|
|
|
20.08.2006, 23:58
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
А вот вам еще одно мнение...
Вот почитал я эту ветку ирешил вставить свои 5 копеек.
Когда я начинал заниматься МК, доступны были только 1816ВЕ48 - советский аналог i8048. Ну что о них сказать - 1 кБ ПЗУ команд, причем побитый на 4 банка по 256 байт, между банками условные переходы не работали. Система команд усеченная (даже вычитания не было), тактовая 6 мГц максимум, 64 байта ОЗУ (реально доступно порядка 33 байт). Естественно, что написать для такого клопика что-то можно было только на асме. Кстати, моя гордость была - программа с одним свободным байтом ПЗУ (прям вспоминается "история об одном байте"), управление 3-мя ШД, 5 градаций скорости, и прием (программный, ессно) RS232 - и все жто при одном тимере и 1 линии прерывания.
Потом появились 51-е - его система команд, на мой взгляд, для асм-разработок - идеал. Видимо, потому эта архитектура до сих пор живее всех живых. Его битовый процессор до сих пор вспоминается с восхищением.
Где-то примерно в это время первый раз попробовал использовать ЯВУ (кажется, Паскаль) - написал, скомпилил, глянул код, ужаснулся и на долгие годы себе зарубил на носу - ЯВУ - отстой и вред.
И прозевал тот момент, когда развитие компиляторов достигло очень хорошего уровня... И, считаю, что потратил уйму сил зря, программруя на асме и его клонах, пыхтя над рутиной.
Хотя - мое IMHO - изучать МК надо начитать с ассемблера. Причем какой именно МК - совершенно неважно. Только так можно "прочувствовать" систему команд и архитектуру... Почувствовать его.
А потом - переходить на Си. Компилятор от IAR - песня. Ну да я уж повторяюсь. Освоить его не так уж сложно, а экономия времени - колоссальная. Тут как раз как в том мультике - день потtрять (на изучение) - потом за час долететь. Когда мозги заняты алгоритмом, а не тем как бы это все по регистрам распихать - поверьте, работа идет лучше.
Размер кода - за счет эффективной работы с рутиной - при программах более 4 кБ - тот же. Сам удивляюсь.
Быстродействие самой программы - .... а вот на этом зацикливаться не надо. Ну, процентов на 10-30 меньше. Оно вас... это... волнует? Если уж прижало (это случается в обработчиках прерываний) - тут вам и поможет знание асма. Си с асмом прекрасно дружат. Но, опять же мое IMHO - проще купить МК покруче, доплатив десяток-другой уёв, чем тратить лишний месяц-другой на разработку ПО (сколько стоит месяц работы программиста?)
Я уж не говорю про переносимость... А ведь даже на АВРках - переход с меги на classic повлечет капитальную переделку программы - хотя бы из за тех же умножений. А для проекта на Си - поменять include файл и настройки проекта.
Подвожу итог. Работая с Си - в общем, под какой МК генерится код - 90% по барабану. Оставшиеся 10% переработать - это совсем не то, что написать программу с нуля. Причем доработка будет не алгоритма, а типа разных имен периферии и разных приемов работы с ней.
Увы, сам я это понял гораздо позже, чем надо бы...
|
|
|
|
21.08.2006, 00:12
|
|
Гражданин KAZUS.RU
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
|
Сообщение от kapNemo
|
Сообщение от vdlab
|
Конечно, такая архитектура не слишком уж быстрая, но, во первых, все(ну почти все)команды исполняются за 1 цикл, в отличие от AVRов,так что разница в производительности при одинаковых тактовых частотах не так уж значительна,
|
Ну в принципе да... 4-8 раз это немного.
Сообщение от vdlab
|
здесь промолчу, даже не смешно
|
Транспортировка куда? В RS232? Так там все равно. Если софтовая реализация любой шины - от RS232 до CAN, то большая скорость AVR позволит получить лучшие результаты
|
а я и не говорю про стандартные интерфейсы типа RS232,
хотя тот же модуль USART в ПИКе может работать на скорости на порядок выше, чем аналогичный модуль в АВР.
|
|
|
|
21.08.2006, 00:51
|
|
Временная регистрация
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Сообщение от vdlab
|
а я и не говорю про стандартные интерфейсы типа RS232,
|
Тогда непонятно. Нужно было привести пример того, где преимущество Микрочипа очевидно.
Сообщение от vdlab
|
хотя тот же модуль USART в ПИКе может работать на скорости на порядок выше, чем аналогичный модуль в АВР.
|
О как - на порядок, и не меньше
А теперь факты.
RS232:
ATMega8-16:
Baud=Fosc/16(Ubbr+1); те при 16 Мгц 1Mbaud
PIC16F87X-20:
Baud=Fosc/64(SPBRG+1); те при 20 Мгц 312500KBaud
Что в три раза МЕНЬШЕ!
Перед тем как кидаться громкими фразами, неплохо документацию поизучать
|
|
|
|
21.08.2006, 01:27
|
|
Временная регистрация
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: А вот вам еще одно мнение...
Сообщение от nml
|
Вот почитал я эту ветку ирешил вставить свои 5 копеек.
|
Вообще конечно офтоп получился, это надо было в пост "C vs ASM", а не в "PIC vs AVR"
Сообщение от nml
|
Когда я начинал заниматься МК, доступны были только 1816ВЕ48 - советский аналог i8048. Ну что о них сказать - 1 кБ ПЗУ команд, причем побитый на 4 банка по 256 байт, между банками условные переходы не работали. Система команд усеченная (даже вычитания не было), тактовая 6 мГц максимум, 64 байта ОЗУ (реально доступно порядка 33 байт). Естественно, что написать для такого клопика что-то можно было только на асме. Кстати, моя гордость была - программа с одним свободным байтом ПЗУ (прям вспоминается "история об одном байте"), управление 3-мя ШД, 5 градаций скорости, и прием (программный, ессно) RS232 - и все жто при одном тимере и 1 линии прерывания.
|
Ну что тут можно сказать? Респект и Уважуха!
Сообщение от nml
|
Потом появились 51-е - его система команд, на мой взгляд, для асм-разработок - идеал. Видимо, потому эта архитектура до сих пор живее всех живых. Его битовый процессор до сих пор вспоминается с восхищением.
|
Да, система команд красивая и удобная. Это из-за того, что архитектура не гарвардская. У Риск-ов команды урезаны.
Сообщение от nml
|
... И, считаю, что потратил уйму сил зря, программруя на асме и его клонах, пыхтя над рутиной.
|
Наверное все-же не зря. Практика очень полезная.
Сообщение от nml
|
Хотя - мое IMHO - изучать МК надо начитать с ассемблера. Причем какой именно МК - совершенно неважно. Только так можно "прочувствовать" систему команд и архитектуру... Почувствовать его.
|
+1
Сообщение от nml
|
Размер кода - за счет эффективной работы с рутиной - при программах более 4 кБ - тот же. Сам удивляюсь.
|
Видимо у всех по разному. У меня программа растет.
Сообщение от nml
|
Быстродействие самой программы - .... а вот на этом зацикливаться не надо. Ну, процентов на 10-30 меньше. Оно вас... это... волнует? Если уж прижало (это случается в обработчиках прерываний) - тут вам и поможет знание асма.
|
Только придется уже думать о распихивании по регистрам ![Валяюсь от смеха](images/smilies/icon_biggrin.gif) И одно из основных преимуществ С пропадет.
Сообщение от nml
|
Си с асмом прекрасно дружат. Но, опять же мое IMHO - проще купить МК покруче, доплатив десяток-другой уёв, чем тратить лишний месяц-другой на разработку ПО (сколько стоит месяц работы программиста?)
|
Я думаю примеры всегда нагляднее
Пример - пожарная сигнализация, точнее ее датчики. Комплект - от 50 до 500 штук. В месяц продается, например, 8 комплектов. Если взять контроллер на 1 доллар дороже, то в среднем за месяц "уйдет в воздух"
2000 долларов. Я думаю лучше месяц другой платить программисту.
Сообщение от nml
|
Я уж не говорю про переносимость... А ведь даже на АВРках - переход с меги на classic повлечет капитальную переделку программы - хотя бы из за тех же умножений. А для проекта на Си - поменять include файл и настройки проекта.
|
А часто-ли нужно использовать 8-ми разрядное умножение? Мне очень редко. Поэтому я, в свое время просто написал макрос в двух вариантах. Так что теперь мне достаточно поменять инклюд.
Кстати в ассемблере без проблем делается умножение целых 24 бита на 16. Или на 14 бит ![Валяюсь от смеха](images/smilies/icon_biggrin.gif) А в С это скорее всего не просто. Компилятор просто захочет использовать ближайший станартный тип, те 32 бита. И результат - 64 бита ![Весело](images/smilies/icon_laugh.gif) А это потеря размера кода и скорости.
Сообщение от nml
|
Подвожу итог. Работая с Си - в общем, под какой МК генерится код - 90% по барабану. Оставшиеся 10% переработать - это совсем не то, что написать программу с нуля. Причем доработка будет не алгоритма, а типа разных имен периферии и разных приемов работы с ней.
|
Как ни странно, в пределах одного семейства (например АВР), про ассемблер можно сказать то-же самое. Другое дело - миграция с АВР на 51-ый или MSP. Может в этом случае С предпочтительнее, но мне таких задач решать не приходилось.
|
|
|
|
21.08.2006, 01:38
|
|
Гражданин KAZUS.RU
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
|
PIC 16f628, один из самых простеньких:
Fosc=20Mhz,BRGH=1,SPBRG=0-1250K/сек.-это асинхронный режим,для синхронного-5Мбит/сек.
И не надо 16 ПИК сравнивать с АТМегой,скорее с АТ90хх.
|
|
|
|
21.08.2006, 01:52
|
|
Временная регистрация
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Сообщение от vdlab
|
PIC 16f628, один из самых простеньких:
Fosc=20Mhz,BRGH=1,SPBRG=0-1250K/сек.-это асинхронный режим,для синхронного-5Мбит/сек.
И не надо 16 ПИК сравнивать с АТМегой,скорее с АТ90хх.
|
ATMega8-16
Синхронный режим 8Мбит/сек
AT90 не выпускаются. Сравниваем "живые". Причем даже не по цене - Мега за 33руб, Пик за 143.
Посмотрел даташит на 16f628. Ну что-ж, случилось чудо! Пик догнал АВР! Правда только в железном РС232
Как раз как у Меги88-20. Только я так и не увидел " ![Валяюсь от смеха](images/smilies/icon_biggrin.gif) на порядок быстрее"
И я просто забыл сказать, что Мега тоже имеет такой "хитрый" бит как U2X. При его установке мега выдает 2Мбит-а на 16 МГц.
Вообще мне совсем не хочется "меряться пиписками" ![Валяюсь от смеха](images/smilies/icon_biggrin.gif) , те кому понадобится сравнение могут сами все сравнить. Тем более что даташиты свободно доступны, это не наши ТУ, за которые многие хотят деньги. ![Обижен](images/smilies/icon_beee.gif) Такие сравнения появляются в сети с регулярностью, достойной лучшего применения.
|
|
|
|
21.08.2006, 02:01
|
|
Временная регистрация
Регистрация: 09.01.2006
Сообщений: 63
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Нда... 16F628 ействительно из простых, всего 85 рублей
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:38.
|
|