ARDUINO NANO || PIC16

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Разработана плата для устройства ниже в формате arduino nano и вот теперь будем посмотреть какой микропроцессор (и ПО) выйдет в этой схватке победителем )))

Ставки 2 к 1 в пользу PIC контроллера )))

Присоединяйтесь

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

какой пик?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

xDriver пишет:

какой пик?

PIC16F628A, видео девайса могу приложить

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

Интересно, приложите плиз.

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

Я этот фокус проделал, когда переходил с 51, в конце 90-х. Варианта было два: AVR или PIC. Больше на рынке ничего не было. Взял два самых дешевых и ходовых, AT90S2313 и PIC16F84. Тест писал на ASM, третим в тесте был AT89C2051. Надеюсь уже догадались кто победил.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

alex_r61 пишет:

Я этот фокус проделал, когда переходил с 51, в конце 90-х. Варианта было два: AVR или PIC. Больше на рынке ничего не было. Взял два самых дешевых и ходовых, AT90S2313 и PIC16F84. Тест писал на ASM, третим в тесте был AT89C2051. Надеюсь уже догадались кто победил.

коммерческие разработки пишут на пиках )))

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

ua6em пишет:

коммерческие разработки пишут на пиках )))

На клонах 51-го.

gena
Offline
Зарегистрирован: 04.11.2012

  А я и бытовой технике встречал Mega16 ( если не ошибаюсь, в кухонной электрической поверхности с сенсорным управлением, Ariston). И в часах газовой плиты Ariston.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Ждёмс результат, думаю за неделю программёр код одолеет, у него богатый опыт

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

Очередная попытка померяться пись.... Самое интересноое, что не AVR vs PIC,  а Arduino Nano vs PIC. Результат предсказуем. Но победит MSP430. :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

alex_r61 пишет:

Очередная попытка померяться пись.... Самое интересноое, что не AVR vs PIC,  а Arduino Nano vs PIC. Результат предсказуем. Но победит MSP430. :)

двое за PIC я из солидарности форума за nano (хотя ассемблер по душе pic), ваша ставка сударь?

PS Если MSP430 можно собрать в конструктиве размером с nano присоединяйтесь, задача простейшая, поддержание максимального тока, датчик тока INA219, регулирующий элемент MCP4725, общение по шине I2C, питание до +12 вольт

vvadim
Offline
Зарегистрирован: 23.05.2012

да, из пушки - зато дешевле))))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

vvadim пишет:

да, из пушки - зато дешевле))))

у вас какая-то странная арифметика, nano по цене али 2$, а минимальная плата на I5?
Да, к тому же, если вы умеете программировать под I5 вы на этом форуме не можете появится даже теоретически

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Нужно же подбросить субстанции на вентилятор!

Я предлагаю СТМ32! ;)

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

wdrakula пишет:

Я предлагаю СТМ32! ;)

О! STM-щики проснулись, чё мелочиться - сразу "малинку" :(

vvadim
Offline
Зарегистрирован: 23.05.2012

ua6em пишет:

vvadim пишет:

да, из пушки - зато дешевле))))

у вас какая-то странная арифметика, nano по цене али 2$, а минимальная плата на I5?
Да, к тому же, если вы умеете программировать под I5 вы на этом форуме не можете появится даже теоретически

дык я чё, я не причём, это клапауций...

я вообще чайник...

мне просто понравилось - дешевле)))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

Нужно же подбросить субстанции на вентилятор!

Я предлагаю СТМ32! ;)

ну так высылай

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

PIC порвал как тузик грелку arduino nano по всем показателям!!!
Объем программы на PIC менее 300 байт, на nano - 7.5 килобайта
PIC обошёлся режимом усреднения 8S для nano пришлось использовать режим 16S и,
программа на PIC работает стабильней

Наверное и для nano можно написать достойный программный продукт, но видимо на чистом С )))
Может и в IDE можно, но только после длительных танцев с бубном по настройке конфигурации компилятора,
правда я в этом сомневаюсь
 

 

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

Кто бы сомневался, особенно если для PIC писали на ASM, а для AVR на ARDUINO. Сравните  два пустых блока для AVR на ARDUINO.

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

и

int main()
{
  while(1)
  {
    
  }
}

скомпилируйте и посмотрите разницу: 642 vs 256. Так что тема ни о чём :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Я что-то "забыл"? Пики вроде как имеют 4 такта на 1 цикл шины, то есть при тактировании 20Мгц, скорострельность не превысит 5Мгц .. или я что-то пропустил?

Кроме этого, а где у него АЦП, чтобы следить за током? Там же кроме компараторов никогда и не было ничего.. какое "I2C" опять жеж .. оно там было когда-то?

Ага, увидел .. INA219 плюсом. То есть сравнивалась реализации протокола I2C для конкретного применения (упрощенного) ногодрыгом "там и тут" .. причем "там, на пике" - в Асме (иначе и не в чем!), а НАНО на .. ИДЕ. Круто, чё .. Вы бы ещё на Java в Нану запихнули вместе с интерпретатором байт-кода и сравнивали..

Кстати, откройте для себя arhat.h, там найдете реализацию работы с аппаратным I2C как положено .. можете скомпилять урезанный мастер байт в 200. Полноценный и аппаратный, по прерываниям. Ещё и делать что-то сможете промеж передачи.

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

Если "склероз не изменяет", не 4 такта, а делитель на 4. Причём наглухо, у AVR его можно изменить записью в регистр. У PIC чуть более 30 инструкций и то что PIC делает двумя - тремя командами, AVR делает одной.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

А теперь осталось устроить соревнование между PIC и мощным резистором. Кто из них выдержит большее напряжение и ток.

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

vvadim пишет:

это клапауций...

это самозванец - мне пофуй.

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

К155ЛИ1 бьёт ваши сраные пики по всем показателям.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Arhat109-2 пишет:

Кстати, откройте для себя arhat.h, там найдете реализацию работы с аппаратным I2C как положено .. можете скомпилять урезанный мастер байт в 200. Полноценный и аппаратный, по прерываниям. Ещё и делать что-то сможете промеж передачи.

а ссылку?
Так как программист я никакой, но жажда реванша имеется, попробую переписать с нуля с вашей библиотекой

Да, устройство работает на пределе частотных возможностей, скорость реакции на возмущающие воздействия низкая, скорострельность контроллера не важна

Logik
Offline
Зарегистрирован: 05.08.2014

Arhat109-2 пишет:

Я что-то "забыл"? Пики вроде как имеют 4 такта на 1 цикл шины, то есть при тактировании 20Мгц, скорострельность не превысит 5Мгц .. или я что-то пропустил?

пропустили. У пика почти все за 1 цикл шины, изредка за 2. У АВР 2-3 цикла часто. И адресует пик за 1 цикл больше памяти чем АВР .Потому разница  не настолько большая. И кстати на размер кода тоже влияет в  пользу пиков.

Arhat109-2 пишет:

Кроме этого, а где у него АЦП, чтобы следить за током? Там же кроме компараторов никогда и не было ничего.. какое "I2C" опять жеж .. оно там было когда-то?

совсем плохо с памятю. Все там есть. Не на всех конечно, выбирать надо.

Synchronous Serial Port (SSP) with SPI™ (Master mode) and I2C™ (Master/Slave) • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detection • Parallel Slave Port (PSP) – 8 bits wide with external RD, WR and CS controls (40/44-pin only) • Brown-out detection circuitry for Brown-out Reset (BOR) Analog Features: • 10-bit, up to 8-channel Analog-to-Digital Converter (A/D)

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

Logik пишет:

совсем плохо с памятю. Все там есть. Не на всех конечно, выбирать надо.

Synchronous Serial Port (SSP) with SPI™ (Master mode) and I2C™ (Master/Slave) • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detection • Parallel Slave Port (PSP) – 8 bits wide with external RD, WR and CS controls (40/44-pin only) • Brown-out detection circuitry for Brown-out Reset (BOR) Analog Features: • 10-bit, up to 8-channel Analog-to-Digital Converter (A/D)

Logik, эт у Вас с памятью и глазами что то. Где Вы всё это нашли в PIC16F628A? Архитектура PIC разрабатывалась в 80-е годы, а AVR в середине 90х. И AVR, и PIC оба RISC процессоры с гарвардской архитектурой и оба выполняют большинство команд за такт, небольшое количество выполняется за 2-3 такта, у обоих. И если PIC это классический RISK процессор с сокращённой системой команд, то у AVR их больше сотни. У PIC к тому же аккумуляторная архитектура, т.е к АЛУ подключён один регистр-аккумулятор. У AVR - регистровая, к АЛУ подключён регистровый файл - 32 регистра. Единственно чего не хватало при переходе с 51, так это его битового процессора.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Насколько я помню, у Пиков 1 цикл шины (исполнение команды) это 4 такта генератора. А у AVR 1 цикл шины = 1 такту генератора. И если речь за команды чтения-записи в память, то АВР их делает за 2 такта или 0.5 "цикла шины ПИК" при той же тактовой частоте.

Или если тактовая АВР 20Мгц, то команды выполняются по большей части за 1 или 2 такта, то есть (10+20)/2 = 15Мгц "в среднем". И если тактовая у ПИК 20Мгц, то цикл шины (команды) = 20/4 = 5Мгц. Разве нет?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

ua6em погуглите по названию хидера, и где-то тут публиковал тоже. Сможете разобраться - пробуйте. :)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Arhat109-2 пишет:

ua6em погуглите по названию хидера, и где-то тут публиковал тоже. Сможете разобраться - пробуйте. :)

вот так всегда )))
Может на ассемблере для nano переписать, чтобы рельно сравнить по объему кода?
 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Объем кода ожидаемо у ПИКа будет меньше, но "кому от этого легче" при втрое меньшей производительности и отсутствии аппаратных средств, решающих проблему? В частности аппаратный I2C тут.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Arhat109-2 пишет:

Объем кода ожидаемо у ПИКа будет меньше, но "кому от этого легче" при втрое меньшей производительности и отсутствии аппаратных средств, решающих проблему? В частности аппаратный I2C тут.

Программер обошёлся программным I2C, работает, алгоритм реализовывал по аналогии предложенному ВОЛШЕБНИК, у него изюминка в частностях - алгоритм принятия решения о величине тока )))
Скорострельности PIC более чем достаточно

Идею я понял, частности он не раскрыл, попробую реализовать на nano )))

ssss
Offline
Зарегистрирован: 01.07.2016

В чистом виде при равных условиях и на простых задачах что пик что мега что стм8 одна херня +-лапоть. У стм8 продвинутее железо, на витиеватых задачах стм оставит конкурентов позади, на математике мега обгонит процентов на двадцать и пик и стм8. пик24 уделает всех и во всем, кроме решений где железо стм8 может взять верх. Вот весь расклад.

crazy-coder
Offline
Зарегистрирован: 20.07.2015

alex_r61 пишет:

Тест писал на ASM, третим в тесте был AT89C2051. Надеюсь уже догадались кто победил.

Так и кто же победил тогда? Особенно это интересно в свете того, что Microchip поглотил Atmel ... :)

PS: ТС Вы бы исходный код обоих проектов (пик и авр) выложили для сравнения, а то эти все результаты как вилами по воде...

 

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

crazy-coder пишет:

Так и кто же победил тогда?

 Неужели не понятно?

crazy-coder пишет:

PS: ТС Вы бы исходный код обоих проектов (пик и авр) выложили для сравнения...

 Вы бы ещё лет через 30 спросили, это было во второй половине 90-х. Сколько компов и винтов уже поменял. Возьмите AVR Studio и накидайте в ASM.

crazy-coder
Offline
Зарегистрирован: 20.07.2015

Было бы понятно, не спрашивал бы.

А второе предложение было адресовано топик стартеру.