|
|
  |
AVR признали !, C переходом в рассуждения о контроллерах |
|
|
|
Aug 9 2007, 11:21
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(VDLab @ Aug 8 2007, 21:22)  То, что у вас в ПИК "влезла" только мигалка на 6 светодиодов говорит не о "кривизне" оного, а, скорее о кривизне рук писавшего программу. В тот же 675 прекрасно влазит ADPCM кодер+софтовый UART передатчик, сам видел  ... 6 светодиодов это я утрирую. А по поводу того, что вы видели, давайте больше конкретики. Был ли внешний кварц, какая скорость УАРТа? Помню когда делал оценку возможной реализации дуплексного UART'а на 12F675 с тактом от внутреннего осциллятора, остановился на цифре 200 бод. Выше он просто не тянет. Поэтому для решения задачки (Modbus свлейв, опрашивающий 8 дискретных входов и 1 канал АЦП + 1 дискретный выход) выбор пал на T13. В T13 с тактом от внутреннего осциллятора, уложился софтовый дуплексный УАРТ 38400, и осталось ~60% ресурсов проца под задачу (это около 3-4MIPS). Реализацию уарта можете посмотреть в "Исходниках программ и библиотек". ADPCM закодировать имея в распоряжении 3-4MIPS AVR'овских - без проблем. (если прикинуть частоту на которой PIC может выжать 3-4 AVR'овских MIPS'а, то получите цифру в 30-40Mhz).
|
|
|
|
|
Aug 9 2007, 12:47
|

Знающий
   
Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274

|
>> 12F675 с тактом от внутреннего осциллятора, >> остановился на цифре 200 бод. Выше он просто не тянет
ну это вы точно погорячились =)
12F683 - ADPCM декодер (ADPCM симметричный, поэтому что кодер, что декодер ...) + I2C программный + wavetable синтез - пожарный извещатель (нужен голос и сирена). На Си, без особого напряга и хитростей, 8 МГц внутренний генератор. ШИМ правда аппаратный, но и программный бы туда влез на раз. [поправил] - не, наверное не влез бы
Смысла встряски не понимаю =) Знаю safity-critical устройства и в которых и пики и атмель. Глубоко скрытые комплексы может быть? Типа, я ж не лох какой, с аутсайдером работать... Расслабьтесь, в любой профессии такое есть. Гораздо познавательнее - доходами мерятся =)
|
|
|
|
|
Aug 9 2007, 13:08
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(Rst7 @ Aug 9 2007, 12:29)  Это ваше? Код Для ухода от стековой модели, у всех переменных и параметров функций присутствует квалификатор static. Массивам присваиваем квалификатор rom. Если да, то я с таким бенчмарком не согласен. Не "...квалификатор static...квалификатор rom..." я не мог такое написать. Никогда! ;О) Даже в гшорячечном бреду.
|
|
|
|
|
Aug 9 2007, 13:18
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Alex B._ @ Aug 9 2007, 15:47)  >> 12F675 с тактом от внутреннего осциллятора, >> остановился на цифре 200 бод. Выше он просто не тянет
ну это вы точно погорячились =) Нет! Я пробовал на практике и очень хотел применить вначале PIC, но обломался.. т.к: 1MIPS на внутреннем осце. Прием ~50 инструкций на бод, передача ~50 инструкций на бод. итого 1000 инструкций на прием и передачу кадра. 10^6 / 10^3 == 1000 бод в пике. округляем в меньшую сторону до ближайшего стандартного бодрейта - получаем 600bod. Считаем ошибку для 600bod с тактом 1Mhz, и приходим к выводу что только 200 bod можно работать. Цитата Смысла встряски не понимаю =) Знаю safity-critical устройства и в которых и пики и атмель. Смысл весьма прост, у разных МК разные преимущества и недостатки. У AVR одни, у PIC'а другие. Когда одному МК приписывают преимущества или недостатки другого - это неправильно. В данном случае у Atmel'а есть явное преимущество над всеми 8-ми битными МК - производительность. Человек попытался это оспорить, отсюда собственно и встряска ;> Цитата Гораздо познавательнее - доходами мерятся =) резонно
|
|
|
|
|
Aug 9 2007, 13:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763

|
Цитата Как конкурент mega8 - и близко не лежал. Как, впрочем, и остальные pic16. С килобайтом оперативки поспорить очень трудно.. Кого это интересует, если программа вмещается и работает :-) Вот во что я не упирался - так это в недостаток оперативки! В пямять программ - да, бывало. Приходилось оптимизировать алгоритмы и структуры программ. А вот на 8515 - таки раз уперся именно в оперативку, пришлось часть флеша для епрома для редко используемых данных использовать. Цитата efind.ru уверяет, что в 2,5 раза дороже, как и с предыдущими "уникальными случами ". Не знаю что утверждает ефайнд, (тем более "ру", нам они в Китае нужны а не в "ру"), а 819е под текущие проекты мы брали по 0.8, сейчас меняем их на 690-й, пока количеств анебольше - берем по 1.20, потом обещают по той же цене что и 819-е. Но количества не тысяча а существенно больше.
Сообщение отредактировал Allregia - Aug 9 2007, 13:47
|
|
|
|
|
Aug 9 2007, 14:17
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(mse @ Aug 9 2007, 18:03)  Всё не нашол, вот только что. Но там ещё было. http://caxapa.ru/68211.html?todo=fullА ФИР лежит в разделе Беньччморки. Для унсигнед операндов. Там, правда, его на пару-тройку тактов ускорить можно. Но с арифметикой супротив АВРа ПИКу(16,18, поф) ловить нечего - пролёт в разы. И чем длиннее арифметика, тем разов больше. Особенно, если умножение и операнды знаковые. Дык, свой, согласованный и утвержденный тест будем делать или нет?
|
|
|
|
|
Aug 9 2007, 14:26
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Ваша войнушка и меня раззадорила(:-). Посмотрел бенчмарки в пустыне. Перво-наперво, надо сказать, сравниваются разные компиляторы на разном железе. Самый простой тест требует переноса содержимого 64-байтного массива A[64] сначала в массив B[64], а затем из массива B[64] в массив C[64]. Решил попробовать написать свой код на ассемблере для нескольких процов, вот что получилось Код процессор частота сахара-бенчмарк ассемблер атмега (20 МГц) 5300 тактов 900 pic18f242 (10 МГц) 3321 такт 650 pic18f242 (10 МГц) 8652 такта 650 tms320f2812 (150 МГц) 762 такта 40 То есть, если писать на ассемблере, то очевидно, что на данном тесте pic18 на 30% быстрее, чем атмега. Для интересующихся ниже приведены фрагменты программ ;Фрагмент для атмеги Код movblk: ld temp,x+ ;2 st y+,temp ;2 dec counter ;1 brne movblk ;2/1 ;Пересылка одного байта выполняется за 7 тактов ;Фрагмент для пика Код movblk movf postinc0;1 movwf postinc1;1 decfsz counter ;1/2/3 goto movblk ;2 ;Пересылка одного байта выполняется за 5 тактов
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Aug 9 2007, 14:44
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(=GM= @ Aug 9 2007, 18:26)  ;Фрагмент для пика Код movblk movf postinc0;1 movwf postinc1;1 decfsz contin ;1/2/3 goto movblk ;2 contin ;Пересылка одного байта выполняется за 5 тактов А если вот так: Код movblk movff postinc0,postinc1;2 decfsz contin ;1/2/3 goto movblk ;2 contin Хотя сути это не меняет, но позволяет исключить рабочий регистр W.
|
|
|
|
|
Aug 9 2007, 15:15
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Чето я не пойму. Этот пост: Цитата(mse @ Aug 9 2007, 17:03)  А ФИР лежит в разделе Беньччморки. Для унсигнед операндов. Там, правда, его на пару-тройку тактов ускорить можно. Но с арифметикой супротив АВРа ПИКу(16,18, поф) ловить нечего - пролёт в разы. И чем длиннее арифметика, тем разов больше. Особенно, если умножение и операнды знаковые. и этот: Цитата Да уже сто раз было. ;О) Я на сахаре ФИР выкладывал, опять на сахаре программный ШИМ на N каналов...В общем рвёт ПИК(16, 18, без разниццы) АВРа, как Тузик сковородку. ;О) Оба ваши... Как понимать? Цитата(=GM= @ Aug 9 2007, 17:26)  атмега (20 МГц) 5300 тактов 900 pic18f242 (10 МГц) 3321 такт 650 pic18f242 (10 МГц) 8652 такта 650 10 МГц у пичка подразумевает 40 (из-за PLL)? Ну да не суть. Обычно задача копирования массивов не стоит (а если стоит, то имеет смысл пересмотреть алгоритм). По поводу теста - я уже предложил простенькую функцию (CRC16), но ее отвергли, без особых аргументов...
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|