По традиции - обсуждение кода только послсле корректной вставки. "Ослиный мостик" такой.
ПС. Я в восторге как оно подставилось ;) Новичек.. Как код вставить не знает)) Ясно дело, за столько времини - ни строчки кода от него не было.
Если чел неосилил как вставить корректно код- ето гарантия что его умственный потенциал не способен чего стоящего породить. Смотреть его - только зря тратить время своей жизни на херню. Нет ума вставить код- написать его тем более ума не хватить. Смотреть там нечег, так скопипастил что попало..
• Alternatively uses a fully programmable polynomial with programmable size (7, 8, 16,
Так я переведу. "В качестве альтернативы используется полностью программируемый многочлен с программируемым размером (7, 8, 16,32 бита)."
Programmable -- это ни разу не программный (т.е. реализуемый с помощю написаннимя специального ПО), а именно программируемый, когда некие (определяющие функционал) данные заносятся в память устройства.
Чтобы совсем понятно стало, во все том же референсе на STM32, про DMA пишут следующее:
Direct memory access controller (DMA) RM0091 200/1008 DocID018940 Rev 8 11.3.4 Programmable data width, data alignment and endians
Не хотите, раз уж вы такой искушенный лингвист, показать, как там "это и без STM делается", скажем, на меге? Вы ж наверняка на раз напишете программную регулировку ширины данных, выравнивания и порядка байтов в канале DMA на этом славном чипе, а заодно и саму реализацию DMA в софте? Во круть то будет!
Да тут перевод, с которым у вас обнаружились заметные сложности, лишь небольшая часть проблемы. Даже если принять ваш вариант "толкования", легче вам от этого никак не сделается. У вас логическая часть не стыкуется.
Если контрольные суммы считаются в софте (как вы перевели), то нахрена там сдались какие-то регистры и зачем может потребоваться писать туда какие-то полиномы ? В чем смысл этого действия, если вы сами утверждаете, что "это и без STM делается", т.е. все программно и без привязки к железу? Удивительно, но вас похоже не смущает несколько странный факт, что из вашего варианта перевода, как бы следует, будто никаких сколь-нибудь восстребованных фукнций данная периферия не выполняет ("это и без STM делается") и сами же STM-ы об этом сообщают в документации. Т.е., по вашей версии, STM-ы вроде де бы пишут, что вот вам, дорогие пользователи, блок аппаратного вычисления контрольных сумм, с помощью которого вы сможете выполнять нужные вам рассчеты исключительно программным способом.
Какой гугл или гуглопереводчик, спрашивается, может заместить собой изъяны вашей логики или как-нибудь помочь пониманию ваших странных умозаключений?
При регистрации на форуме вам бы следовало выбрать ник "Dislogik", а то нынешний звучит, как насмешка над вашей манерой излагать мысли.
PS. Будем смотреть, как просто и элегантно делается занесение значений полинома в регистры прямо из вида "X^a + X^b + X^c ... + 1" или с вас уже и так хватит того позора, что вы натерпелись за все последнее время?
. Т.е., по вашей версии, STM-ы вроде де бы пишут, что вот вам, дорогие пользователи, блок аппаратного вычисления контрольных сумм, с помощью которого вы сможете выполнять нужные вам рассчеты исключительно программным способом.
У тя кратковременная ремисия!
Дошло наконец. Да так и пишуи на первой странице "от вам, дорогие пользователи, блок аппаратного вычисления контрольных сумм". А когда пользователь туда лезе то видит болт. Один фиксированій полином, так реф мануал стр.64 "The CRC (cyclic redundancy check) calculation unit is used to get a CRC code from a 32-bit Uses CRC-32 (Ethernet) polynomial: 0x4C11DB7". Если лошара попался (проект уже почти готов, сроки и т.д. ), то на его вопросы посоветуют взять модельку постарше, "немножко" дороже, у него и полиномы грузятся. Такова маркетинговая политика STM. А для прикрытия держат дебилушек форумных, которые простынями ниочем туман наводят, чтоб разобратся с дерьмом стмовским людям трудней было.
ПС. Код подсчета этой самой CRC для DS18b20. Какую сложнейшую функцию аппаратно реализовали в целом модуле старших моделей. ;)
byte onewire_crc_update(byte crc, byte b)
{
for (uint8_t p = 8; p; p--) {
crc = ((crc ^ b) & 1) ? (crc >> 1) ^ 0b10001100 : (crc >> 1);
b >>= 1;
}
return crc;
}
Вот такое оно - STM. Продукт для идиотов и случайно вляпавшихся лошар. А продвигают его всем известные "форумные" борзописцы, которые за копейки тут на дерьмо исходят и обемом пустопорожних постов пытаются забалтывать проблемы.
Вот такое оно - STM. Продукт для идиотов и случайно вляпавшихся лошар. А продвигают его всем известные "форумные" борзописцы, которые за копейки тут на дерьмо исходят и обемом пустопорожних постов пытаются забалтывать проблемы.
У тебя проблемы, 100%, поздравляю! ))))
Ты читать не умеешь. Ибо "Читать даташит до, а не после!".
Ты слушать не умеешь. Ибо сказали "Берём копеечный стм32", это ф07х и ф09х. Ну и в ф3хх это само собой. А, ты не можешь взять нужное, потому что ты гвоздями прибит к ардуине. Ну и кто тебе доктор, если ты сам себе лох? Чего теперь истерить?
Да и даже в твоем случае, на стм32ф103 КРК посчитать быстрее, чем на меге, но ты и этого не знаешь. Продолжай биться об стену головой, это так забавно. )))))
так реф мануал стр.64 "The CRC (cyclic redundancy check) calculation unit is used to get a CRC code from a 32-bit Uses CRC-32 (Ethernet) polynomial: 0x4C11DB7". Если лошара попался (проект уже почти готов, сроки и т.д. ), то на его вопросы посоветуют взять модельку постарше, "немножко" дороже, у него и полиномы грузятся.
Воображаемый "лошара" кого-то смутно мне напоминает. Что бы ему "попасться", он должен либо быть не в состоянии осилить простенький текст на английском (где прямо и по существу написано, что расчет только CRC32 с полиномом 0x4C11DB7), либо испытывать серьезные проблемы с логикой, чтобы "прочесть" не то, что там написано, а то, чего ему (лошаре) хочется. Я раньше может и назвал бы ваш пример притянутым, но теперь мне подобная ситуация не видится такой уж фантастической.
Что здесь посоветовать лошаре я не знаю, может переквалифицироваться в управдомы, но для человека, располагающего необходимой квалификацией, описанной вами проблемы не существует. Единственное, что требуется -- просто уметь читать и понимать прочитанное. Не Бог весть, какие таланты.
Насчет "модельки постарше", на али за сто рублей можно купить STM32F072RBT6 -- 64-ногий Cortex-M0 со 128к флеша и 16к памяти, где в составе весьма обильного фарша есть и блок CRC, полином для которого можно задавать произвольно. Не передставляю, что еще можно купить за похожие деньги и с похожим же набором характеристик.
Цитата:
Такова маркетинговая политика STM. А для прикрытия держат дебилушек форумных, которые простынями ниочем туман наводят, чтоб разобратся с дерьмом стмовским людям трудней было.
Мне почему-то вспоминается другая история, когда "дебилушки форумные" самостоятельно "разобрались" с "дерьмом стмовским" и на основании полученных таким образом весьма специфических представлений, стали вопить о подлогах и обманах, тыча картинками из рефересов, с совершенно удивительным толкованием там написанного. Немалых трудов людям знающим стоило образумить безумцев и убедить их уговорами длинными, что никакого обмана нет и все по чесноку.
Цитата:
Код подсчета этой самой CRC для DS18b20. Какую сложнейшую функцию аппаратно реализовали в целом модуле старших моделей. ;)
Да пофиг, простейшая она или сложнейшая. Любая может быть. Напомню, что в условной задаче речь шла о полностью аппаратной реализации сбора данных от сети датчиков, когда процессор получает уже готовые данные, не отвлекаясь на всякую фигню по мелочам. И абсолютно похрен, что там эта CRC-engine считает, да пусть хоть 2+2 складывает, главное, что это обеспечивает обработку первичных данных исключительно силами набортной периферии, без отвлечения центрального процессора.
Лучше бы взяли и наглядно бы показали на макете выполнение какой-нибудь конкретной задачи в стиле "STM vs Atmel". Вот это интереснее было бы посмотреть, чем читатать сотню сообщений в стиле "ты говно, нет ты говно".
Лучше бы взяли и наглядно бы показали на макете выполнение какой-нибудь конкретной задачи в стиле "STM vs Atmel". Вот это интереснее было бы посмотреть, чем читатать сотню сообщений в стиле "ты говно, нет ты говно".
Лучше бы взяли и наглядно бы показали на макете выполнение какой-нибудь конкретной задачи в стиле "STM vs Atmel". Вот это интереснее было бы посмотреть, чем читатать сотню сообщений в стиле "ты говно, нет ты говно".
Ну вот вам задача. Она уже была озвучена и это уже классика. Сделать динамическую индикацию на несколько разрядов на семисегментниках не используя юзерский код и прерывания. И хотелось бы посмотреть такое на меге, но для неё это невозможно в принципе. Что можно мутить хардварно на СТМ32 - там целый длинный перечень. Вот вам и "STM vs Atmel" весь до копейки.
А вы обратите внимание, что именно это я и сделал -- описал задачу, показал работающий код для одного из вариантов. Указал, где преимущества. Только закончилось это тем, что сначала были выдвинуты абсолютно безграмотные обвинения против моей иллюстрации, а когда сия безграмотность вскрылась, то просто пошел демагогический навал в стиле "стм -- говно и ты сам говно", с оскорблениями и клоунадой. Расчет простой -- превратить обсуждение неудобной технической темы в свару, флейм и потоки поноса, чтобы за всей этой малоприятной завесой уже никому не захотелось разглядывать технические подробности. Схема действий примитивная, но, вы же видите, она работает и вам уже не хочется вникать, хотя вы проявляете интерес к вопросу.
Ну потрачу я сейчас кучу времени, проведу объективное сравнение и тестирование (насколько у меня это получится), предъявлю результаты. Заявится опять некто, выкатит бочку арестантов, засыпет все словесной шелухой и безграмотными воплями и что изменится для стороннего наблюдателя по сравенению с теперешней картиной? Да ничего. Никто опять не захочет в дерьме копаться. На то и расчет.
Насчет конкретной задачи: они (задачи), как известно, разные бывают. При том, что армы имеют очевидное преимущество в плане производительности и набора аппаратных возможностей, мне известны паттерны применения микроконтроллеров, где меги выглядят, либо привлекательнее, либо точно не хуже, чем армы. В разное время и в разных разделах даже этого форума, я так или иначе этого касался, но как показывает практика, ничего кроме ярости фанатствующих, теперь уже другой стороны, это не вызывает. Начинается движение потоков дерьма в обратном направлении и все заканчивается точно так же, как и во всех остальных похожих случаях.
Существует ли здесь универсальный ответ "что лучше", справедливый для абсолютно всех случаев, вооружившись которым можно быть спокойным и уверенным, что находитшься на правильной стороне ? Совершенно точно, что нет. Число параметров сравнения велико, нюансов по каждому еще больше, а результаты противопоставлений порой столь неочевидны, что спорить можно до бесконечности, что вобщем-то и происходит повсеместно.
Да и так ли это нужно, выясянять, что тут лучше. Китайцы, вон, не парятся. Повсеместно применяют МК, которые на фоне современных решений, в плане технических характеристик, объективно хуже практически во всем. Я о микроконтроллерах STC -- китайских клонах i8051, которые по "моральному" возрасту той же атмеге годятся то ли в папы, то ли в дедушки. Причем, выпускают на этом новые продукты. На том же али можно наблюдать всякие часы, где по соседству с относительно свежим DS3231 располагается древнейший DIP от STC, который этим RTC и рулит. Или те же контроллеры паялок под поповсовые жала T12, сколько мне их попадалось на глаза, все исключительно на STC.
Китайцев сложно обвинить в ретроградстве, нежелании принимать новое или технической некомпетентности. Они просто к собственной выгоде пользуют то, что дешевле, доступнее, к чему существует много проверенных решений и персонала, кто этим владеет.
Вот и получается, что не смотря на свое техническое несовершенство (по нынешним меркам), перспективы всяких древних STC не такие уж плохие. За счет того, что с их помощью можно по быстрому создавать недорогие решения, выбросывать их на рынок и рубить бабло, эти "ископаемые" МК практически не испытывают никакого давления со стороны самых впечатляющих достижений современного "электронпрома". Захоти сейчас тот же ST-микро зайти в этот сектор и начни продавать младшие STM32 в Китае дешевле китайских STC, скорее всего, ничего у него не выгорит. Никто не кинется ломать сложившееся пложение дел и перекраивать отрасль с неизвестным конечным результатом. Существует множество факторов, помимо технических характеристик, определяющих успешность деятельности в этой области. Можно обо[c]раться доказывая, что STM32 круче STC i8051 практически во всем, но те же китайцы, выпускающие свой электронный ширпотреб, скорее всего покрутят пальцем у виска и продолжат заниматься тем же, чем и занимались.
Я к чему это говорю. Поиски универсального ответа -- "что лучше" -- здесь безсмысленны. Кому лучше, когда лучше и для какой ситуации -- лишь небольшое перечисление уточнений, которые могут разворачивать окончательный вердикт бесконечное число раз. Поэтому всем, кто желает как-то определиться в ситуации и сориентироваться с выбором (если это требуется), придется принимать решение самостоятельно. Никто не придет, не изучит все ваши условия, не подумает над правильным выбором и не предложит единственного решения на все случаи жизни. Утопия.
Так уж и до копейки? Это только одна задачка из тысяч других, где аппаратные преимущества сулят зримую выгоду. Так есть же и совсем другие задачки, где можно расшибиться, но выгод от тех же самых преимуществ не получить. Я вам такие задачки подкидывал, но кроме невнятных рассуждений ни о чем, никакого ответа так и не услышал. Если вам этого мало, могу другие задачки озвучить, решая которые, я уже прикидывал различные варианты для STM32 и атмеги, где атмега по совокупности выходила лучшим решением.
У вас однобокий подход. Вы видите отличные технические решения в STM32 и находите им применения для разных случаев, когда это имеет эффект. На основании этого вы делаете вывод, что STM32 нужно применять вообще всегда. Это неверно.
Так вот и надо придумать пару тройку каких-то задач и каждую запустить одновременно на спорных МК. Будет наглядно видно, даже простому селянину, кто победил. Мне, как не программисту, сложно что-то советовать, но, например, какой-нибудь вложенный несколько раз цикл, в котором что-нибудь вычислять или сравнивать. По окончании у победителя под аплодисменты зрителей загорается светодиод. Можно даже ставки ставить. :)
Так уж и до копейки? Это только одна задачка из тысяч других, где аппаратные преимущества сулят зримую выгоду. Так есть же и совсем другие задачки, где можно расшибиться, но выгод от тех же самых преимуществ не получить. Я вам такие задачки подкидывал, но кроме невнятных рассуждений ни о чем, никакого ответа так и не услышал. Если вам этого мало, могу другие задачки озвучить, решая которые, я уже прикидывал различные варианты для STM32 и атмеги, где атмега по совокупности выходила лучшим решением.
Если честно, не помню. Напомните, вкратце, если не затруднит? Обещаю без стёба.
Цитата:
У вас однобокий подход. Вы видите отличные технические решения в STM32 и находите им применения для разных случаев, когда это имеет эффект. На основании этого вы делаете вывод, что STM32 нужно применять вообще всегда. Это неверно.
Да, я так считаю. И не только я. Ныне нет особого смысла развозить зоопарк МК, особенно для домашних поделок, кроме случаев "по другому уж никак". Спорить почему там китайцы вкинули СТЦ не вижу смысла, это только китайцам известно, как и почему они кучу вольтметров на СТМ8С003 родили. Но почему-то не на меге, это уже очевидно.
Так вот и надо придумать пару тройку каких-то задач и каждую запустить одновременно на спорных МК. Будет наглядно видно, даже простому селянину, кто победил.
А вы уверены, что с этого будет толк? Достаточно заглянуть в даташит, посмотреть набор команд, т.е. просто визуально сравнить характеристики МК чтобы всё сразу стало ясно.
Цитата:
Мне, как не программисту, сложно что-то советовать, но, например, какой-нибудь вложенный несколько раз цикл, в котором что-нибудь вычислять или сравнивать. По окончании у победителя под аплодисменты зрителей загорается светодиод. Можно даже ставки ставить. :)
Ну и как вы думаете, кто в вычислениях выиграет, особенно при инт32 данных?
Если честно, не помню. Напомните, вкратце, если не затруднит? Обещаю без стёба.
Решения для автономных устройств, например, где требования по энергоэффективности часто оказываются определяющими при выборе элементной базы. У STM32 есть L-серия, где с этим еще более-менее, но эти чипы довольно дорогие, если сравнивать с той же мегой328п, да и с доступностью не все ясно. Значительную часть ассортимента просто не купить.
Серия STM32F0 по потреблению проигрывает существенно, но даже если закрыть на это глаза там, где это может быть приемлемо, один только выход из стендбая через резет делает разработку на F0 увлекательным квестом "вспомнить все", особенно, если требуется сохранять данные между сеансами.
Конкретный пример: датчик bmp180 имеет 22 байта калибровочных констант, по которым происходит вычисление показателей темературы и давления. Если бы можно было их хранить в памяти МК, то считав единожды, можно было бы не дергать их по I2C каждый раз, когда нужно считать температуру. Однако, в бекап-домене F0 только двадцать байт регистровой памяти, а больше хранить их негде. Вот и получается, что из всех данных, передаваемых по I2C, львиная доля приходится на эти самые калибровочные константы, а время активной фазы (а значит и потребление) неэффективно расходуется на эту бессмысленную операцию.
На меге проще. Считали один раз в память и пусть они там лежат.
Мега выходит из сна в том самом виде, как она в него уходила. Память на месте, значения всех регистров тоже. Не надо ничего ни инициализировать, ни калибровать. Отработали, что нужно и в стендбай. Период бодрствования короче, энергорасходы ниже.
Вобщем, если посчитать "на круг", то F0 менее эффективен не только в чистом энергопотреблении, но и в организации рабочего цикла. Плюс сложности и неудобства в разработке. Задачу он, безусловно решит, но мега эту задачу решает лучше и использовать ее удобней.
Вобщем, если посчитать "на круг", то F0 менее эффективен не только в чистом энергопотреблении, но и в организации рабочего цикла. Плюс сложности и неудобства в разработке. Задачу он, безусловно решит, но мега эту задачу решает лучше и использовать ее удобней.
Можно принять, но с натяжкой. Потому что
1. Ф0 не есть МК для малопотребляющих приложений.
2. Мега может оказаться не самым лучшим вариантом по сравнению с древнючим ПИКом или МСП430.
Чувак реально сделал мой вечер. Ему две страницы разные люди аргументировано доказывали с цитатами и скриншотами, что STM это тормознутое дерьмо, те кристалы что по цене как 328р, фуло о котором в доках стыдливо пишут намеками. И горе человеку который с ними свяжется т.к. его ждет куча неприятных сюрпризов. Так он рвал жопу на британский флаг что все зашибись. А как все плюнули, сколько ж дураку толдычить одно и то же, и забили на тему как выясняется про STM.
// чипы довольно дорогие
//выход из стендбая через резет
//На меге проще.
//менее эффективен не только в чистом энергопотреблении, но и в организации рабочего цикла.
//Плюс сложности и неудобства в разработке.
И даже
//мега эту задачу решает лучше
Ты a5021, наверно с новогоднего запоя вынырнул. Поздравляю с возвращением в реальный мир.
Вечер таки сделало вот это:
a5021 пишет:
Конкретный пример: датчик bmp180 имеет 22 байта калибровочных констант, по которым происходит вычисление показателей темературы и давления. Если бы можно было их хранить в памяти МК, то считав единожды, можно было бы не дергать их по I2C каждый раз, когда нужно считать температуру. Однако, в бекап-домене F0 только двадцать байт регистровой памяти, а больше хранить их негде. Вот и получается, что из всех данных, передаваемых по I2C, львиная доля приходится на эти самые калибровочные константы, а время активной фазы (а значит и потребление) неэффективно расходуется на эту бессмысленную операцию.
Я ж говорил, что с тебя разработчик - как с дерьма пуля, ладно слово "полином" узнал на днях, но как не тратить на 22 байта констант "львиную долю" "активной фазы" имея 20 энергонезависимых байт, даже с IQ около 80% должны соображать. Но ты так их и грузиш по I2C)))
А куда смотрел, когда разработку планировал? А что при " выход из стендбая через резет" прийдется коэффициенты гдето брать стало таким сюрпрайзом. Или так спецом, легких путей не искал, хотелось гемора пожоще... Или эсесовца начитался а доки слишом мутные...
И какое мне дело до озарений стмикровских маркетологов, что сегментировать ассортимент по показателям энергопотребления -- это офигенная идея? Атмелы, почему-то не захотели пикопауэр в отдельную группу выносить, хотя раньше у них малопотребляющие и обычные МК четко разделялись. Так, пометили мелкой буквицей, на чем и остановились. Ну на ценник немного накинули, но это за все улучшения сразу. Сидит 328p в общем ряду семейства и от остальных с виду мало чем отличается.
Что, разве нельзя было регистры с памятью на F0 не обнулять при выходе из стендбая? Потребление у SRAM в рабочем режиме 0.7мка на мегагерц, в в стендбае, скорее всего, куда-то к пикоамперам ближе наверное выходит. Но тогда на на чем L-серию продавать? И вот что интересно -- в линейке F0 при движении от младших МК к старшим, навороты увеличиваются, а ток потребления в стендбае уменьшается. F030 кушает 3.4мка, а F072 только 1.8мка. Да фига ж себе, в два раза меньше! Это кто же внутри F030 тогда электричество-то жрет, ничего не делая? А вот маркетинговый отдел стмикро и жрет. Свое существование оправдывает.
Дооправдывались до того, что фактически слили один из самых быстрорастущий секторов применения МК. На сайте пишут, что F030 позиционируют для замены восьмибиток (читай: чтобы отнять у атмеги), а сами своей безумной сегментацией эту замену и рубят на корню. Ну, фигли, лонг-лайф атмега! Так стм-овские маркетологи решили.
Цитата:
2. Мега может оказаться не самым лучшим вариантом по сравнению с древнючим ПИКом или МСП430.
С пиками дела не имел, т.ч. сказать особо нечего. Разве, вспомнить, что дороговаты они. МСП430 убивает своим аскетизмом и конским ценником. Обстановочка внутри, как в тюрьме -- минимум всего. Стоящий чуть ни в два с половиной раза дороже атмеги328п, MSP430G2452 имеет на борту один таймер и один последовательный порт, из которого при желании, кровью и потом можно выточить один UART, SPI или I2C. Все это в богатом убранстве из 8к флеша и пол-кило рамы. Да чтоб вы так жили!
Да, свой сенсор уже год неспешно пилю на F030. Когда выбирал, поморщился-поморщился, но пожертвовал характеристиками энерогопотребления в угоду цене. Решил, что хрен с ним, батарейки копеешные, ресурс большой. Но я выбирал исходя из своих условий. Если бы был зажим по габаритам и питание от компактного источника, где уже каждый микроампер считать нужно, то фиг бы у меня с F030 сложилось. Либо мега, либо вообще мсп, что уже совсем адЪ и израиль с точки зрения разработки.
Цитата:
Можно во флэш константы тупо прописать и не маяться.
Да так и поступил в конце-концов. Один хрен, лишний гемор.
И какое мне дело до озарений стмикровских маркетологов, что сегментировать ассортимент по показателям энергопотребления -- это офигенная идея?
А что, такое только у СТМ? У микрочипа для МК есть индекс LF.
Цитата:
Сидит 328p в общем ряду семейства и от остальных с виду мало чем отличается.
А что её было выделять, если она уже по сути была самой последней в жизни Атмэла?
Цитата:
Что, разве нельзя было регистры с памятью на F0 не обнулять при выходе из стендбая?
Это как? Там нет обнуления, там отключение внутреннего регулятора напряжения.
Цитата:
И вот что интересно -- в линейке F0 при движении от младших МК к старшим, навороты увеличиваются, а ток потребления в стендбае уменьшается. F030 кушает 3.4мка, а F072 только 1.8мка. Да фига ж себе, в два раза меньше! Это кто же внутри F030 тогда электричество-то жрет, ничего не делая? А вот маркетинговый отдел стмикро и жрет. Свое существование оправдывает.
Значит разработчики СТМ не зря свой хлеб едят.
Зато у 328-й в еррате на микропотреблении ток на два помножили.
Цитата:
Дооправдывались до того, что фактически слили один из самых быстрорастущий секторов применения МК. На сайте пишут, что F030 позиционируют для замены восьмибиток (читай: чтобы отнять у атмеги), а сами своей безумной сегментацией эту замену и рубят на корню. Ну, фигли, лонг-лайф атмега! Так стм-овские маркетологи решили.
Да чтобы все так сливали! )))))))))))))
Цитата:
С пиками дела не имел, т.ч. сказать особо нечего. Разве, вспомнить, что дороговаты они. МСП430 убивает своим аскетизмом и конским ценником. Обстановочка внутри, как в тюрьме -- минимум всего. Стоящий чуть ни в два с половиной раза дороже атмеги328п, MSP430G2452 имеет на борту один таймер и один последовательный порт, из которого при желании, кровью и потом можно выточить один UART, SPI или I2C. Все это в богатом убранстве из 8к флеша и пол-кило рамы. Да чтоб вы так жили!
А зачем нужна куча ненужного фарша для обслуги одного датчика? Там наоборот - чем меньше всего, тем меньше потребление.
Цитата:
Если бы был зажим по габаритам и питание от компактного источника, где уже каждый микроампер считать нужно, то фиг бы у меня с F030 сложилось. Либо мега, либо вообще мсп, что уже совсем адЪ и израиль с точки зрения разработки.
Ну а то, что это было про разные семейства, пофиг? Главное волну гнать?
Цитата:
Я ж говорил, что с тебя разработчик - как с дерьма пуля,
Так я и не разработчик, а любителю все можно. Мне ни перед кем ответ держать не надо. Что сделаю, то у меня же и работать будет. Кому не нравится -- проходит мимо.
Цитата:
ладно слово "полином" узнал на днях,
Гы-гы-гы. Недает покоя, полином-то? Наука будет. Когда в следующий раз с сеансом раоблачений намылитесь, про полином вспомните. Мож и передумаете.
Цитата:
но как не тратить на 22 байта констант "львиную долю" "активной фазы" имея 20 энергонезависимых байт, даже с IQ около 80% должны соображать. Но ты так их и грузиш по I2C)))
А я где-то говорил, что гружу? У вас чтобы не "допиридумать", ни одной фразы не получается, а если из текстов убрать горячечные фантазии, то только точки и останутся. Мастер художественного вымысла, фигли.
Цитата:
А куда смотрел, когда разработку планировал?
Я не просто планировал, а пробный заезд сначала сделал. На меге, F030 и G2452. И лишь по результатам оного сделал окончательный выбор. Как показали последующие события, никаких нежданчиков не случилось и с самого начала расчет был верный. Прототип работает без малейших проблем на улице с прошлого апреля. Сейчас сделал новый вариант разводки платы и заканчиваю вторую версию софта. В принципе, получается нарядно.
Цитата:
А что при " выход из стендбая через резет" прийдется коэффициенты гдето брать стало таким сюрпрайзом.
Выход через резет не очень удобно, но не смертельно. Причин для печали тут точно не отыскать никаких.
Цитата:
Или эсесовца начитался а доки слишом мутные...
Кто сказал мутные? Если вы не смогли одолеть простой текст в них, не доки виноваты.
А что, такое только у СТМ? У микрочипа для МК есть индекс LF.
У многих есть. Хорошего только от этого не много. В массовом секторе цены всегда ниже из за того, что продавцы за него деруться и демпингом воюют, снижая собственную норму прибыли. На редкие позиции так никто делать не будет. Так что при равных ценах с завода, на конечном рынке массовый товар будет дешевле. Вон по тому же али это прекрасно видно.
Цитата:
А что её было выделять, если она уже по сути была самой последней в жизни Атмэла?
Да ну нафиг. Их только в варианте 328p две разновидности было. Потом выводок тинек вылупился и перед продажей еще чего-то появлялось. Хрень они затеяли со всякими x-мегами и прочими AVR32. Думали сами смогут формировать спрос. Спрос не понял такого авангардизЬма и показал кукиш. Пришлось продавать квартиру.
Цитата:
Это как? Там нет обнуления, там отключение внутреннего регулятора напряжения.
Да какая разница, как они кончают содержимое памяти. Часть же периферии все равно остается работать. Никаких проблем наладить ретеншн, как это в L-серии или на меге делается. Потребление все равно от техпроцесса больше зависит, так фигли чудеса в решете демонстрировать, если техпроцесс один, что для L, что для F.
Цитата:
Значит разработчики СТМ не зря свой хлеб едят.
С этим я не очень настроен спорить, т.к. во второй версии дизайна (называю так условно, т.к. речь о дизайне F0 и F3) получилось местами весьма красиво. Один самовыключающийся после окончания измерений ADC взять. Не знаю, мож у каких производителей это давно существует, но впервые я это у стм-ов увидел.
Цитата:
А зачем нужна куча ненужного фарша для обслуги одного датчика? Там наоборот - чем меньше всего, тем меньше потребление.
Для устройства минимального функционала этого действительно хватит. Но с самого начала хотелось иметь пространство для маневра на случай, если придет в голову прикрутить дополнительные фишки или придумать другой кейс применения. А с мсп получается только-только. Нет ресурсов для расширения.
Поигрался я с ним. В принципе, хорошая поддерка от производителя, компилятор в облаке, прозрачное затягивания кода со всяких гитхабов или сайта самих TI в свой проект. Вобщем, есть интересные штуки. Но писать под него тяжко.
Мне как-то на F030 взбрело в голову отпрофилировать код, так я взял и на TIM2 нарисовал профилировщих, который мне для всех узких мест изобразил картинку по таймингам. А что бы я на MSP430 делал? Таймер там один и он используется. Все, ау, обломайтесь. Или пока разбирался с SI7021, долго не мог поянть, как он контрольные суммы считает. Алгоритм описан, но в одном случае чек от датчика сходится с рассчетным, а в другой нифига. Зарядил дополнительный вывод через последовательный порт и уже по нему смотрел и разбирался. Оно, конечно не приниципиально, можно было без всего этого обойтись, но зачем же делать свою жизнь менее комфортной?
Вариант беспроводного устройства на мсп430 вместе с исходниками есть на хабре. Можно сдернуть и сделать все по быстрому. Но так же не интересно.
Подскажите какими дешевыми СТМ решается задача дифференциальной оцифровки АЦП? А с аппаратно-программным усилением сигнала?
Что было сделано на Мега2560: 2 микрофона "уши робота", которые оцифровывались в дифф. режиме, а при слабом сигнале с переключением усиления в 10 и 200 раз, и получал "разностный сигнал", который напрямую управлял поворот серводвигателя, разворачивая уши робота по направлению источника звука. Оцифровка в "непрерывном" режиме по прерыванию. Программный код в части обработки АЦП не использован вовсе, кроме обработчика прерывания.
Сразу же возражения "можно измерять по отдельности и вычитать" - не принимаются. Речь идет об широком классе устройств ПИД-управления, где управляющий сигнал с 1 датчика практически всегда - дифференциальная оцифровка. Тут просто 1 датчик заменен на 2 микрофона.
И так, каким из СТМ можно решать подобные задачи на уровне аппаратуры (про сложности с синхронизацией скорости АЦП, USB и ЦПУ пока умолчим): по наличию разностного сигнала получать цифру в диф. режиме, и при необходимости регулировать усиление тракта?
Теоретически делается все это на том же STM32F303, у которого до четырех пятимегасемпловых 12-битных АЦП (зависит от модели), которые объединяясь в пары могут работать в дифференциальном режиме. Плюс четыре набортных операционника с программируемым коэффициентом усиления и внутренней коммутацией к АЦП (по желанию). По деньгам, скорее всего, выйдет дороже меги, но там и параметры просто несравнимые.
Почему "измерять по отдельности не принимаются" непонятно. За то время, пока мега один семпл получит, с F3 можно взять сорок и это реальные цифры, а не фигура речи.
Ценовое сравнение "в лоб" получается не очень корректным, т.к. в большие корпуса стм-ы обычно кладут фарша с горкой и рядом с трехсотрублевым STM32F303VCT6 двухсотрублевая MEGA2560 выглядит то ли сиротой, то ли духом бесплотным.
Если требования ослабить и взять F3 в корпусе поменьше, плюс дозволить "измерять по отдельности", то задача решается при паритете цен. Бонусом в этом случае отсыпят ядро Cortex-M4, плюшки в виде FPU и DSP инструкций, кучку сильно заряженной периферии и всяких прочих мелких радостей. Выйдя из F3 и зайдя в мегу вам покажется, что вас обокрали и унесли все, что было нажито трудами нескольких поколений.
Зря вы пытаетесь играть в силовое противостояние. Тут у меги шансов нет. При самых благоприятных раскладах, вы если и найдете какую-то удачную комбинацию требований, где мега блеснет, то это будет выглядеть, как история про то, что, если разогнаться на запорожце побыстрее и удачно подскочить на ухабе, то можно перепрыгнуть ту здоровую кучу навоза возле фермы, где мерседес гарантированно застревает.
В ответ - обединение АЦП, "обычно кладут фарша", "Если требования ослабить" и "кучу навоза возле фермы". Кучу навоза возле фермы - это вся линейка STM очевидно.
Но всеравно "Тут у меги шансов нет."
<censored>
ПС. Ща последует несколько "простыней" ниочем, чтоб задвинуть сообщения, авось никто не увидет )))
a5021, спасибо за ответ. Вопрос был поставлен за диф. АЦП не случайно. Достаточно задач (целый класс) где требуется ПИД-регулятор, принимающий сигнал отклонения от "линии Партии" и он запросто не от 0 и "до", а "плюс-минус". Фактически ВСЕ датчики, имеющие встроенный компаратор или операционник "с кондером" на выходе выдают исключительно такой сигнал. А ещё есть системы передачи данных "с возвратом к нулю".. мой пример просто сильно утрирован, но и только.
соответственно "ослаблять" - увы, нечего. есть аналоговый сигнал "плюс-минус" из него надо сделать ПИД-регулятор выходного устройства. Специальных требований по скорости АЦП и его высокой точности нет. Все остальные "навороты" роялей не играют. Вопрос остается: каким ДЕШЕВЫМ средством такое можно сделать?
У Атмела есть не только Мега2560 с диф. режимом АЦП .. можно даже тиньку найти ценой за 30-40 рублев на али .. относительно легко.
Берём сдвоенный операционник и хоть к четвертькопеечному СТМ8С003 цепляй. Куда ж ещё дешевле? И не надо тут истерик про "точки пайки" и "лишний корпус".
вопрос стоял "каким дешевым СТМ это можно сделать", а не "что к нему прикрутить"..
Пошукал в местном ларьке озвученный STM32F303CBT6 (наименьшее что нашел): 277руб, если не смотреть первых демпинговщиков .. это даже подороже мега2560 получается .. а в 30-40руб? В частности ко мне едут ATmega128A, закупленные по цене 36.5руб/шт за 10шт .. там тоже есть дифф. режим АЦП. :)
вопрос стоял "каким дешевым СТМ это можно сделать", а не "что к нему прикрутить"..
Любым! И нигде изначально не было сказано что можно прикручивать или нет. Китайцы ваще не заморачиваются по этому поводу, гонят свои ампер-вольтметры сотнями тысяч на опере и СТМ8С003 и не стонут, не рыдают. Покажите, где они, эти девайсы на Тини? А нету! Вот просто нету, почему-то!
В ларьке напротив Ф3хх можно найти и подешевле 2560. Может 2560 не пользуются спросом, поэтому и цена такая. Да и по любому, я 2560, как объект приобретения, рассматривать точно не буду.
Не только, стало быть, с пониманием английского проблемы, но и русского уже? Я ведь не мене конкретно ответил: "объединяясь в пары, могут работать в дифференциальном режиме". Есть этот режим. Полный эквивалент атмеговскому, только с лучшими праметрами по разрядности и скорости.
Теперь опять вас понесло на флуд и срач .. нечего ответить?
Так вам уже всё ответили, а вы глухаря включили, к словам цепляетесь. Престаньте думать унылыми восьмибитными решениями и догмами, абстрагируйтесь и всё у вас на СТМ32 получится.
есть аналоговый сигнал "плюс-минус" из него надо сделать ПИД-регулятор выходного устройства. Специальных требований по скорости АЦП и его высокой точности нет. Все остальные "навороты" роялей не играют. Вопрос остается: каким ДЕШЕВЫМ средством такое можно сделать?
Я не уверен, что таким образом можно сделать что-то путное из атмеги. Вы же параметры АЦП у атмеги в дифф.режиме видели же небось ? "at 200x you will not get the resolution better than 7 bits and a bandwidth wider than 4 kHz".
Конечно получится .. только я никак не могу взять в толк "а зачем"? Если за 40рублев я имею готовое решение ..
Давайте я Вам подитожу все то, что УЖЕ наковыряли тут и в предыдущих темах из ваших маркетинговых "обещалок" про младшие модели:
1. Утверждалось, что STM32F103 "порвет мегу" на вычислениях. Как оказалось - фейк, не порвет. Видео есть тут, и ранее было сравнение за циклы ожидания - СТМ32 оказался худшим из всех АРМ. Фактически рабочая тактовая мало отличается от 24-36Мгц., что подтверждается даташитом от СТМ (разбирали ранее). Также выкладывался тест на 6M DryStone для этого проца конкретно, что соответствует тутошнему видео.
2. Утверждалось, что СТМ имеет больше памяти под код и данные. Выяснилось - да, несколько больше даже с учетом потерь на разрядности.
3. Утверждалось богатый частотный выбор по периферии. Выяснилось, что STM32F103 в частности имеет унылые частоты ЦПУ и периферии, не позволяющие использовать АЦП и ЦП одновременно (и ряд иных устройств) на всех частотах. По сути "выбери что-то одно". Что накладывает ограничения на использование этой линейки для задач приема/передачи данных.
4. Младшие модели СТМ не умеют принимать дифференциальный входной сигнал. Совсем.
5. Не разобрался, но похоже есть таки проблема с аппаратным подсчетом СРС .. лень вникать в срач. Распишите внятно - исправлю.
6. Утверждалось, что СТМ имеет ДМА каналы. Подтвердилось, что делает его привлекательным для задач отрисовки на экранах.
7. Утверждалось, что СТМ имеет прямые выходы DAC, что полезно для озвучивание звука. Подтвердилось.
.. итого, как и делал выовды ранее: ни для каких задач управления это барахло особо не заточено. Слабо заточено на задачи приема/передачи данных и единственное для чего оно полезно - задешево ПЕТЬ ГИМНЫ и РИСОВАТЬ РОЖИ. И иметь гемморой с программированием. :)
a5021, Вы как-то все время гоняетесь за разрядностью .. то в АЦП, то в расчетах .. Вы вообще в курсе, что динамический диапазон многих аналоговых устройств находится в пределах 20-40 децибел? .. то есть всего 100 .. как раз 7 бит - вполне нормальная точность. :)
Давайте я Вам подитожу все то, что УЖЕ наковыряли тут и в предыдущих темах из ваших маркетинговых "обещалок" про младшие модели:
1. Утверждалось, что STM32F103 "порвет мегу" на вычислениях. Как оказалось - фейк, не порвет. Видео есть тут, и ранее было сравнение за циклы ожидания - СТМ32 оказался худшим из всех АРМ. Фактически рабочая тактовая мало отличается от 24-36Мгц., что подтверждается даташитом от СТМ (разбирали ранее). Также выкладывался тест на 6M DryStone для этого проца конкретно, что соответствует тутошнему видео.
Доказательства есть? Или только с ваших слов? Так вам уже никто и не верит.
Цитата:
3. Утверждалось богатый частотный выбор по периферии. Выяснилось, что STM32F103 в частности имеет унылые частоты ЦПУ и периферии, не позволяющие использовать АЦП и ЦП одновременно (и ряд иных устройств) на всех частотах. По сути "выбери что-то одно". Что накладывает ограничения на использование этой линейки для задач приема/передачи данных.
Чушь надуманная.
Цитата:
4. Младшие модели СТМ не умеют принимать дифференциальный входной сигнал. Совсем.
Потому что в том виде как вы себе это всё представляете это и даром никому не нужно. Смиритесь!
Вы вообще в курсе, что динамический диапазон многих аналоговых устройств находится в пределах 20-40 децибел
И что это за устройства?
Цитата:
.. то есть всего 100 .. как раз 7 бит - вполне нормальная точность. :)
Я никогда не встречал ни конструкций, эксплуатирующих дифференциальную фичу АЦП АВР, ни описаний таких конструкций, ни упоминаний, что кто-то это как-то реально использует. Вся выдача гугла касается в основном вопросов новичков на форумах и обсуждений довольно абстрактного характера.
Если вы говорите о "широком классе устройств", то должны быть какие-то подтверждения их существования. Я не смог их найти. Если такие устройства существуют, то покажите их и мы обязательно продолжим. Уверения в том, что мега имеет отличные перспективы использования дифф.режима, не явлются доказательствами и всерьез рассматриваться не могут.
Но, вообще-то, самой медленной командой, пожалуй, следует считать работу с COM-портом, т.е. Serial.print(). В данном случае я ее не анализировал чтобы не засорять вывод результатов в этот самый порт, но примерно можно оценить так, что при скорости 9600 выврд одного символа занимает порядка 1000 мкс. Это оценка снизу.
Этот абзац стоило бы убрать из обзора. Ибо продолжительность передачи байта определяется длиной посылки и установленной скоростью соединения (в данном случае 9600 бит в секунду). Контроллер-то и быстрее (в 12 раз при 115200) мог бы, но тогда на приемной стороне его не поймут.
Ой-ой-ой, какие мы нежные и сопливые! Не знаю чего ты на a5021 взъелся, но я же тебе отписал где рыть-копать. Не веришь? Любуйся!
/**
******************************************************************************
* @file CRC/CRC_8BitsCRCMessage/main.c
* @author MCD Application Team
* @version V1.4.0
* @date 24-July-2014
* @brief Main program body
******************************************************************************
* @attention
*
* <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2>
*
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
* You may not use this file except in compliance with the License.
Писец. Чудо даже код в тему вставить не могет... Читай убожество... http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
По традиции - обсуждение кода только послсле корректной вставки. "Ослиный мостик" такой.
ПС. Я в восторге как оно подставилось ;) Новичек.. Как код вставить не знает)) Ясно дело, за столько времини - ни строчки кода от него не было.
Если чел неосилил как вставить корректно код- ето гарантия что его умственный потенциал не способен чего стоящего породить. Смотреть его - только зря тратить время своей жизни на херню. Нет ума вставить код- написать его тем более ума не хватить. Смотреть там нечег, так скопипастил что попало..
Да лан, можно не обсуждать. Один хрен оттуда вы ничего не уразумеете.
.
.
Так я переведу. "В качестве альтернативы используется полностью программируемый многочлен с программируемым размером (7, 8, 16,32 бита)."
Programmable -- это ни разу не программный (т.е. реализуемый с помощю написаннимя специального ПО), а именно программируемый, когда некие (определяющие функционал) данные заносятся в память устройства.
Чтобы совсем понятно стало, во все том же референсе на STM32, про DMA пишут следующее:
Direct memory access controller (DMA) RM0091
200/1008 DocID018940 Rev 8
11.3.4 Programmable data width, data alignment and endians
Не хотите, раз уж вы такой искушенный лингвист, показать, как там "это и без STM делается", скажем, на меге? Вы ж наверняка на раз напишете программную регулировку ширины данных, выравнивания и порядка байтов в канале DMA на этом славном чипе, а заодно и саму реализацию DMA в софте? Во круть то будет!
Программный по английски будет Software.
В гугл, с вопросами там и переводчик есть.
Да тут перевод, с которым у вас обнаружились заметные сложности, лишь небольшая часть проблемы. Даже если принять ваш вариант "толкования", легче вам от этого никак не сделается. У вас логическая часть не стыкуется.
Если контрольные суммы считаются в софте (как вы перевели), то нахрена там сдались какие-то регистры и зачем может потребоваться писать туда какие-то полиномы ? В чем смысл этого действия, если вы сами утверждаете, что "это и без STM делается", т.е. все программно и без привязки к железу? Удивительно, но вас похоже не смущает несколько странный факт, что из вашего варианта перевода, как бы следует, будто никаких сколь-нибудь восстребованных фукнций данная периферия не выполняет ("это и без STM делается") и сами же STM-ы об этом сообщают в документации. Т.е., по вашей версии, STM-ы вроде де бы пишут, что вот вам, дорогие пользователи, блок аппаратного вычисления контрольных сумм, с помощью которого вы сможете выполнять нужные вам рассчеты исключительно программным способом.
Какой гугл или гуглопереводчик, спрашивается, может заместить собой изъяны вашей логики или как-нибудь помочь пониманию ваших странных умозаключений?
При регистрации на форуме вам бы следовало выбрать ник "Dislogik", а то нынешний звучит, как насмешка над вашей манерой излагать мысли.
PS. Будем смотреть, как просто и элегантно делается занесение значений полинома в регистры прямо из вида "X^a + X^b + X^c ... + 1" или с вас уже и так хватит того позора, что вы натерпелись за все последнее время?
. Т.е., по вашей версии, STM-ы вроде де бы пишут, что вот вам, дорогие пользователи, блок аппаратного вычисления контрольных сумм, с помощью которого вы сможете выполнять нужные вам рассчеты исключительно программным способом.
У тя кратковременная ремисия!
Дошло наконец. Да так и пишуи на первой странице "от вам, дорогие пользователи, блок аппаратного вычисления контрольных сумм". А когда пользователь туда лезе то видит болт. Один фиксированій полином, так реф мануал стр.64 "The CRC (cyclic redundancy check) calculation unit is used to get a CRC code from a 32-bit Uses CRC-32 (Ethernet) polynomial: 0x4C11DB7". Если лошара попался (проект уже почти готов, сроки и т.д. ), то на его вопросы посоветуют взять модельку постарше, "немножко" дороже, у него и полиномы грузятся. Такова маркетинговая политика STM. А для прикрытия держат дебилушек форумных, которые простынями ниочем туман наводят, чтоб разобратся с дерьмом стмовским людям трудней было.
ПС. Код подсчета этой самой CRC для DS18b20. Какую сложнейшую функцию аппаратно реализовали в целом модуле старших моделей. ;)
Вот такое оно - STM. Продукт для идиотов и случайно вляпавшихся лошар. А продвигают его всем известные "форумные" борзописцы, которые за копейки тут на дерьмо исходят и обемом пустопорожних постов пытаются забалтывать проблемы.
Вот такое оно - STM. Продукт для идиотов и случайно вляпавшихся лошар. А продвигают его всем известные "форумные" борзописцы, которые за копейки тут на дерьмо исходят и обемом пустопорожних постов пытаются забалтывать проблемы.
У тебя проблемы, 100%, поздравляю! ))))
Ты читать не умеешь. Ибо "Читать даташит до, а не после!".
Ты слушать не умеешь. Ибо сказали "Берём копеечный стм32", это ф07х и ф09х. Ну и в ф3хх это само собой. А, ты не можешь взять нужное, потому что ты гвоздями прибит к ардуине. Ну и кто тебе доктор, если ты сам себе лох? Чего теперь истерить?
Да и даже в твоем случае, на стм32ф103 КРК посчитать быстрее, чем на меге, но ты и этого не знаешь. Продолжай биться об стену головой, это так забавно. )))))
И это запостил тот гавнюк, который даже код в тему вставить не умеет. Весомое заявление;)
Воображаемый "лошара" кого-то смутно мне напоминает. Что бы ему "попасться", он должен либо быть не в состоянии осилить простенький текст на английском (где прямо и по существу написано, что расчет только CRC32 с полиномом 0x4C11DB7), либо испытывать серьезные проблемы с логикой, чтобы "прочесть" не то, что там написано, а то, чего ему (лошаре) хочется. Я раньше может и назвал бы ваш пример притянутым, но теперь мне подобная ситуация не видится такой уж фантастической.
Что здесь посоветовать лошаре я не знаю, может переквалифицироваться в управдомы, но для человека, располагающего необходимой квалификацией, описанной вами проблемы не существует. Единственное, что требуется -- просто уметь читать и понимать прочитанное. Не Бог весть, какие таланты.
Насчет "модельки постарше", на али за сто рублей можно купить STM32F072RBT6 -- 64-ногий Cortex-M0 со 128к флеша и 16к памяти, где в составе весьма обильного фарша есть и блок CRC, полином для которого можно задавать произвольно. Не передставляю, что еще можно купить за похожие деньги и с похожим же набором характеристик.
Мне почему-то вспоминается другая история, когда "дебилушки форумные" самостоятельно "разобрались" с "дерьмом стмовским" и на основании полученных таким образом весьма специфических представлений, стали вопить о подлогах и обманах, тыча картинками из рефересов, с совершенно удивительным толкованием там написанного. Немалых трудов людям знающим стоило образумить безумцев и убедить их уговорами длинными, что никакого обмана нет и все по чесноку.
Да пофиг, простейшая она или сложнейшая. Любая может быть. Напомню, что в условной задаче речь шла о полностью аппаратной реализации сбора данных от сети датчиков, когда процессор получает уже готовые данные, не отвлекаясь на всякую фигню по мелочам. И абсолютно похрен, что там эта CRC-engine считает, да пусть хоть 2+2 складывает, главное, что это обеспечивает обработку первичных данных исключительно силами набортной периферии, без отвлечения центрального процессора.
Лучше бы взяли и наглядно бы показали на макете выполнение какой-нибудь конкретной задачи в стиле "STM vs Atmel". Вот это интереснее было бы посмотреть, чем читатать сотню сообщений в стиле "ты говно, нет ты говно".
Лучше бы взяли и наглядно бы показали на макете выполнение какой-нибудь конкретной задачи в стиле "STM vs Atmel". Вот это интереснее было бы посмотреть, чем читатать сотню сообщений в стиле "ты говно, нет ты говно".
я запретил.
Лучше бы взяли и наглядно бы показали на макете выполнение какой-нибудь конкретной задачи в стиле "STM vs Atmel". Вот это интереснее было бы посмотреть, чем читатать сотню сообщений в стиле "ты говно, нет ты говно".
Ну вот вам задача. Она уже была озвучена и это уже классика. Сделать динамическую индикацию на несколько разрядов на семисегментниках не используя юзерский код и прерывания. И хотелось бы посмотреть такое на меге, но для неё это невозможно в принципе. Что можно мутить хардварно на СТМ32 - там целый длинный перечень. Вот вам и "STM vs Atmel" весь до копейки.
А вы обратите внимание, что именно это я и сделал -- описал задачу, показал работающий код для одного из вариантов. Указал, где преимущества. Только закончилось это тем, что сначала были выдвинуты абсолютно безграмотные обвинения против моей иллюстрации, а когда сия безграмотность вскрылась, то просто пошел демагогический навал в стиле "стм -- говно и ты сам говно", с оскорблениями и клоунадой. Расчет простой -- превратить обсуждение неудобной технической темы в свару, флейм и потоки поноса, чтобы за всей этой малоприятной завесой уже никому не захотелось разглядывать технические подробности. Схема действий примитивная, но, вы же видите, она работает и вам уже не хочется вникать, хотя вы проявляете интерес к вопросу.
Ну потрачу я сейчас кучу времени, проведу объективное сравнение и тестирование (насколько у меня это получится), предъявлю результаты. Заявится опять некто, выкатит бочку арестантов, засыпет все словесной шелухой и безграмотными воплями и что изменится для стороннего наблюдателя по сравенению с теперешней картиной? Да ничего. Никто опять не захочет в дерьме копаться. На то и расчет.
Насчет конкретной задачи: они (задачи), как известно, разные бывают. При том, что армы имеют очевидное преимущество в плане производительности и набора аппаратных возможностей, мне известны паттерны применения микроконтроллеров, где меги выглядят, либо привлекательнее, либо точно не хуже, чем армы. В разное время и в разных разделах даже этого форума, я так или иначе этого касался, но как показывает практика, ничего кроме ярости фанатствующих, теперь уже другой стороны, это не вызывает. Начинается движение потоков дерьма в обратном направлении и все заканчивается точно так же, как и во всех остальных похожих случаях.
Существует ли здесь универсальный ответ "что лучше", справедливый для абсолютно всех случаев, вооружившись которым можно быть спокойным и уверенным, что находитшься на правильной стороне ? Совершенно точно, что нет. Число параметров сравнения велико, нюансов по каждому еще больше, а результаты противопоставлений порой столь неочевидны, что спорить можно до бесконечности, что вобщем-то и происходит повсеместно.
Да и так ли это нужно, выясянять, что тут лучше. Китайцы, вон, не парятся. Повсеместно применяют МК, которые на фоне современных решений, в плане технических характеристик, объективно хуже практически во всем. Я о микроконтроллерах STC -- китайских клонах i8051, которые по "моральному" возрасту той же атмеге годятся то ли в папы, то ли в дедушки. Причем, выпускают на этом новые продукты. На том же али можно наблюдать всякие часы, где по соседству с относительно свежим DS3231 располагается древнейший DIP от STC, который этим RTC и рулит. Или те же контроллеры паялок под поповсовые жала T12, сколько мне их попадалось на глаза, все исключительно на STC.
Китайцев сложно обвинить в ретроградстве, нежелании принимать новое или технической некомпетентности. Они просто к собственной выгоде пользуют то, что дешевле, доступнее, к чему существует много проверенных решений и персонала, кто этим владеет.
Вот и получается, что не смотря на свое техническое несовершенство (по нынешним меркам), перспективы всяких древних STC не такие уж плохие. За счет того, что с их помощью можно по быстрому создавать недорогие решения, выбросывать их на рынок и рубить бабло, эти "ископаемые" МК практически не испытывают никакого давления со стороны самых впечатляющих достижений современного "электронпрома". Захоти сейчас тот же ST-микро зайти в этот сектор и начни продавать младшие STM32 в Китае дешевле китайских STC, скорее всего, ничего у него не выгорит. Никто не кинется ломать сложившееся пложение дел и перекраивать отрасль с неизвестным конечным результатом. Существует множество факторов, помимо технических характеристик, определяющих успешность деятельности в этой области. Можно обо[c]раться доказывая, что STM32 круче STC i8051 практически во всем, но те же китайцы, выпускающие свой электронный ширпотреб, скорее всего покрутят пальцем у виска и продолжат заниматься тем же, чем и занимались.
Я к чему это говорю. Поиски универсального ответа -- "что лучше" -- здесь безсмысленны. Кому лучше, когда лучше и для какой ситуации -- лишь небольшое перечисление уточнений, которые могут разворачивать окончательный вердикт бесконечное число раз. Поэтому всем, кто желает как-то определиться в ситуации и сориентироваться с выбором (если это требуется), придется принимать решение самостоятельно. Никто не придет, не изучит все ваши условия, не подумает над правильным выбором и не предложит единственного решения на все случаи жизни. Утопия.
Так уж и до копейки? Это только одна задачка из тысяч других, где аппаратные преимущества сулят зримую выгоду. Так есть же и совсем другие задачки, где можно расшибиться, но выгод от тех же самых преимуществ не получить. Я вам такие задачки подкидывал, но кроме невнятных рассуждений ни о чем, никакого ответа так и не услышал. Если вам этого мало, могу другие задачки озвучить, решая которые, я уже прикидывал различные варианты для STM32 и атмеги, где атмега по совокупности выходила лучшим решением.
У вас однобокий подход. Вы видите отличные технические решения в STM32 и находите им применения для разных случаев, когда это имеет эффект. На основании этого вы делаете вывод, что STM32 нужно применять вообще всегда. Это неверно.
Так вот и надо придумать пару тройку каких-то задач и каждую запустить одновременно на спорных МК. Будет наглядно видно, даже простому селянину, кто победил. Мне, как не программисту, сложно что-то советовать, но, например, какой-нибудь вложенный несколько раз цикл, в котором что-нибудь вычислять или сравнивать. По окончании у победителя под аплодисменты зрителей загорается светодиод. Можно даже ставки ставить. :)
Так уж и до копейки? Это только одна задачка из тысяч других, где аппаратные преимущества сулят зримую выгоду. Так есть же и совсем другие задачки, где можно расшибиться, но выгод от тех же самых преимуществ не получить. Я вам такие задачки подкидывал, но кроме невнятных рассуждений ни о чем, никакого ответа так и не услышал. Если вам этого мало, могу другие задачки озвучить, решая которые, я уже прикидывал различные варианты для STM32 и атмеги, где атмега по совокупности выходила лучшим решением.
Если честно, не помню. Напомните, вкратце, если не затруднит? Обещаю без стёба.
У вас однобокий подход. Вы видите отличные технические решения в STM32 и находите им применения для разных случаев, когда это имеет эффект. На основании этого вы делаете вывод, что STM32 нужно применять вообще всегда. Это неверно.
Да, я так считаю. И не только я. Ныне нет особого смысла развозить зоопарк МК, особенно для домашних поделок, кроме случаев "по другому уж никак". Спорить почему там китайцы вкинули СТЦ не вижу смысла, это только китайцам известно, как и почему они кучу вольтметров на СТМ8С003 родили. Но почему-то не на меге, это уже очевидно.
Так вот и надо придумать пару тройку каких-то задач и каждую запустить одновременно на спорных МК. Будет наглядно видно, даже простому селянину, кто победил.
А вы уверены, что с этого будет толк? Достаточно заглянуть в даташит, посмотреть набор команд, т.е. просто визуально сравнить характеристики МК чтобы всё сразу стало ясно.
Мне, как не программисту, сложно что-то советовать, но, например, какой-нибудь вложенный несколько раз цикл, в котором что-нибудь вычислять или сравнивать. По окончании у победителя под аплодисменты зрителей загорается светодиод. Можно даже ставки ставить. :)
Ну и как вы думаете, кто в вычислениях выиграет, особенно при инт32 данных?
Решения для автономных устройств, например, где требования по энергоэффективности часто оказываются определяющими при выборе элементной базы. У STM32 есть L-серия, где с этим еще более-менее, но эти чипы довольно дорогие, если сравнивать с той же мегой328п, да и с доступностью не все ясно. Значительную часть ассортимента просто не купить.
Серия STM32F0 по потреблению проигрывает существенно, но даже если закрыть на это глаза там, где это может быть приемлемо, один только выход из стендбая через резет делает разработку на F0 увлекательным квестом "вспомнить все", особенно, если требуется сохранять данные между сеансами.
Конкретный пример: датчик bmp180 имеет 22 байта калибровочных констант, по которым происходит вычисление показателей темературы и давления. Если бы можно было их хранить в памяти МК, то считав единожды, можно было бы не дергать их по I2C каждый раз, когда нужно считать температуру. Однако, в бекап-домене F0 только двадцать байт регистровой памяти, а больше хранить их негде. Вот и получается, что из всех данных, передаваемых по I2C, львиная доля приходится на эти самые калибровочные константы, а время активной фазы (а значит и потребление) неэффективно расходуется на эту бессмысленную операцию.
На меге проще. Считали один раз в память и пусть они там лежат.
Мега выходит из сна в том самом виде, как она в него уходила. Память на месте, значения всех регистров тоже. Не надо ничего ни инициализировать, ни калибровать. Отработали, что нужно и в стендбай. Период бодрствования короче, энергорасходы ниже.
Вобщем, если посчитать "на круг", то F0 менее эффективен не только в чистом энергопотреблении, но и в организации рабочего цикла. Плюс сложности и неудобства в разработке. Задачу он, безусловно решит, но мега эту задачу решает лучше и использовать ее удобней.
Вобщем, если посчитать "на круг", то F0 менее эффективен не только в чистом энергопотреблении, но и в организации рабочего цикла. Плюс сложности и неудобства в разработке. Задачу он, безусловно решит, но мега эту задачу решает лучше и использовать ее удобней.
Можно принять, но с натяжкой. Потому что
1. Ф0 не есть МК для малопотребляющих приложений.
2. Мега может оказаться не самым лучшим вариантом по сравнению с древнючим ПИКом или МСП430.
Чувак реально сделал мой вечер. Ему две страницы разные люди аргументировано доказывали с цитатами и скриншотами, что STM это тормознутое дерьмо, те кристалы что по цене как 328р, фуло о котором в доках стыдливо пишут намеками. И горе человеку который с ними свяжется т.к. его ждет куча неприятных сюрпризов. Так он рвал жопу на британский флаг что все зашибись. А как все плюнули, сколько ж дураку толдычить одно и то же, и забили на тему как выясняется про STM.
// чипы довольно дорогие
//выход из стендбая через резет
//На меге проще.
//менее эффективен не только в чистом энергопотреблении, но и в организации рабочего цикла.
//Плюс сложности и неудобства в разработке.
И даже
//мега эту задачу решает лучше
Ты a5021, наверно с новогоднего запоя вынырнул. Поздравляю с возвращением в реальный мир.
Вечер таки сделало вот это:
Конкретный пример: датчик bmp180 имеет 22 байта калибровочных констант, по которым происходит вычисление показателей темературы и давления. Если бы можно было их хранить в памяти МК, то считав единожды, можно было бы не дергать их по I2C каждый раз, когда нужно считать температуру. Однако, в бекап-домене F0 только двадцать байт регистровой памяти, а больше хранить их негде. Вот и получается, что из всех данных, передаваемых по I2C, львиная доля приходится на эти самые калибровочные константы, а время активной фазы (а значит и потребление) неэффективно расходуется на эту бессмысленную операцию.
Я ж говорил, что с тебя разработчик - как с дерьма пуля, ладно слово "полином" узнал на днях, но как не тратить на 22 байта констант "львиную долю" "активной фазы" имея 20 энергонезависимых байт, даже с IQ около 80% должны соображать. Но ты так их и грузиш по I2C)))
А куда смотрел, когда разработку планировал? А что при " выход из стендбая через резет" прийдется коэффициенты гдето брать стало таким сюрпрайзом. Или так спецом, легких путей не искал, хотелось гемора пожоще... Или эсесовца начитался а доки слишом мутные...
В общем я под столом.
// чипы довольно дорогие
//выход из стендбая через резет
//На меге проще.
//менее эффективен не только в чистом энергопотреблении, но и в организации рабочего цикла.
//Плюс сложности и неудобства в разработке.
//мега эту задачу решает лучше
Тебя умиляют эти 0,1% для применений меги? Даффай, даффай! )))))))))))
А что при " выход из стендбая через резет" прийдется коэффициенты гдето брать стало таким сюрпрайзом. .
Можно во флэш константы тупо прописать и не маяться. Тебе это разве поможет?
В общем я под столом.
Там и оставайся, горе на горшке. )))))))))))))
И какое мне дело до озарений стмикровских маркетологов, что сегментировать ассортимент по показателям энергопотребления -- это офигенная идея? Атмелы, почему-то не захотели пикопауэр в отдельную группу выносить, хотя раньше у них малопотребляющие и обычные МК четко разделялись. Так, пометили мелкой буквицей, на чем и остановились. Ну на ценник немного накинули, но это за все улучшения сразу. Сидит 328p в общем ряду семейства и от остальных с виду мало чем отличается.
Что, разве нельзя было регистры с памятью на F0 не обнулять при выходе из стендбая? Потребление у SRAM в рабочем режиме 0.7мка на мегагерц, в в стендбае, скорее всего, куда-то к пикоамперам ближе наверное выходит. Но тогда на на чем L-серию продавать? И вот что интересно -- в линейке F0 при движении от младших МК к старшим, навороты увеличиваются, а ток потребления в стендбае уменьшается. F030 кушает 3.4мка, а F072 только 1.8мка. Да фига ж себе, в два раза меньше! Это кто же внутри F030 тогда электричество-то жрет, ничего не делая? А вот маркетинговый отдел стмикро и жрет. Свое существование оправдывает.
Дооправдывались до того, что фактически слили один из самых быстрорастущий секторов применения МК. На сайте пишут, что F030 позиционируют для замены восьмибиток (читай: чтобы отнять у атмеги), а сами своей безумной сегментацией эту замену и рубят на корню. Ну, фигли, лонг-лайф атмега! Так стм-овские маркетологи решили.
С пиками дела не имел, т.ч. сказать особо нечего. Разве, вспомнить, что дороговаты они. МСП430 убивает своим аскетизмом и конским ценником. Обстановочка внутри, как в тюрьме -- минимум всего. Стоящий чуть ни в два с половиной раза дороже атмеги328п, MSP430G2452 имеет на борту один таймер и один последовательный порт, из которого при желании, кровью и потом можно выточить один UART, SPI или I2C. Все это в богатом убранстве из 8к флеша и пол-кило рамы. Да чтоб вы так жили!
Да, свой сенсор уже год неспешно пилю на F030. Когда выбирал, поморщился-поморщился, но пожертвовал характеристиками энерогопотребления в угоду цене. Решил, что хрен с ним, батарейки копеешные, ресурс большой. Но я выбирал исходя из своих условий. Если бы был зажим по габаритам и питание от компактного источника, где уже каждый микроампер считать нужно, то фиг бы у меня с F030 сложилось. Либо мега, либо вообще мсп, что уже совсем адЪ и израиль с точки зрения разработки.
Да так и поступил в конце-концов. Один хрен, лишний гемор.
И какое мне дело до озарений стмикровских маркетологов, что сегментировать ассортимент по показателям энергопотребления -- это офигенная идея?
А что, такое только у СТМ? У микрочипа для МК есть индекс LF.
Сидит 328p в общем ряду семейства и от остальных с виду мало чем отличается.
А что её было выделять, если она уже по сути была самой последней в жизни Атмэла?
Что, разве нельзя было регистры с памятью на F0 не обнулять при выходе из стендбая?
Это как? Там нет обнуления, там отключение внутреннего регулятора напряжения.
И вот что интересно -- в линейке F0 при движении от младших МК к старшим, навороты увеличиваются, а ток потребления в стендбае уменьшается. F030 кушает 3.4мка, а F072 только 1.8мка. Да фига ж себе, в два раза меньше! Это кто же внутри F030 тогда электричество-то жрет, ничего не делая? А вот маркетинговый отдел стмикро и жрет. Свое существование оправдывает.
Значит разработчики СТМ не зря свой хлеб едят.
Зато у 328-й в еррате на микропотреблении ток на два помножили.
Дооправдывались до того, что фактически слили один из самых быстрорастущий секторов применения МК. На сайте пишут, что F030 позиционируют для замены восьмибиток (читай: чтобы отнять у атмеги), а сами своей безумной сегментацией эту замену и рубят на корню. Ну, фигли, лонг-лайф атмега! Так стм-овские маркетологи решили.
Да чтобы все так сливали! )))))))))))))
С пиками дела не имел, т.ч. сказать особо нечего. Разве, вспомнить, что дороговаты они. МСП430 убивает своим аскетизмом и конским ценником. Обстановочка внутри, как в тюрьме -- минимум всего. Стоящий чуть ни в два с половиной раза дороже атмеги328п, MSP430G2452 имеет на борту один таймер и один последовательный порт, из которого при желании, кровью и потом можно выточить один UART, SPI или I2C. Все это в богатом убранстве из 8к флеша и пол-кило рамы. Да чтоб вы так жили!
А зачем нужна куча ненужного фарша для обслуги одного датчика? Там наоборот - чем меньше всего, тем меньше потребление.
Если бы был зажим по габаритам и питание от компактного источника, где уже каждый микроампер считать нужно, то фиг бы у меня с F030 сложилось. Либо мега, либо вообще мсп, что уже совсем адЪ и израиль с точки зрения разработки.
Дык, малопотребляемость это не фигли-мигли.
//выход из стендбая через резет
Ну а то, что это было про разные семейства, пофиг? Главное волну гнать?
Так я и не разработчик, а любителю все можно. Мне ни перед кем ответ держать не надо. Что сделаю, то у меня же и работать будет. Кому не нравится -- проходит мимо.
Гы-гы-гы. Недает покоя, полином-то? Наука будет. Когда в следующий раз с сеансом раоблачений намылитесь, про полином вспомните. Мож и передумаете.
А я где-то говорил, что гружу? У вас чтобы не "допиридумать", ни одной фразы не получается, а если из текстов убрать горячечные фантазии, то только точки и останутся. Мастер художественного вымысла, фигли.
Я не просто планировал, а пробный заезд сначала сделал. На меге, F030 и G2452. И лишь по результатам оного сделал окончательный выбор. Как показали последующие события, никаких нежданчиков не случилось и с самого начала расчет был верный. Прототип работает без малейших проблем на улице с прошлого апреля. Сейчас сделал новый вариант разводки платы и заканчиваю вторую версию софта. В принципе, получается нарядно.
Выход через резет не очень удобно, но не смертельно. Причин для печали тут точно не отыскать никаких.
Кто сказал мутные? Если вы не смогли одолеть простой текст в них, не доки виноваты.
У вас там место?
У многих есть. Хорошего только от этого не много. В массовом секторе цены всегда ниже из за того, что продавцы за него деруться и демпингом воюют, снижая собственную норму прибыли. На редкие позиции так никто делать не будет. Так что при равных ценах с завода, на конечном рынке массовый товар будет дешевле. Вон по тому же али это прекрасно видно.
Да ну нафиг. Их только в варианте 328p две разновидности было. Потом выводок тинек вылупился и перед продажей еще чего-то появлялось. Хрень они затеяли со всякими x-мегами и прочими AVR32. Думали сами смогут формировать спрос. Спрос не понял такого авангардизЬма и показал кукиш. Пришлось продавать квартиру.
Да какая разница, как они кончают содержимое памяти. Часть же периферии все равно остается работать. Никаких проблем наладить ретеншн, как это в L-серии или на меге делается. Потребление все равно от техпроцесса больше зависит, так фигли чудеса в решете демонстрировать, если техпроцесс один, что для L, что для F.
С этим я не очень настроен спорить, т.к. во второй версии дизайна (называю так условно, т.к. речь о дизайне F0 и F3) получилось местами весьма красиво. Один самовыключающийся после окончания измерений ADC взять. Не знаю, мож у каких производителей это давно существует, но впервые я это у стм-ов увидел.
Для устройства минимального функционала этого действительно хватит. Но с самого начала хотелось иметь пространство для маневра на случай, если придет в голову прикрутить дополнительные фишки или придумать другой кейс применения. А с мсп получается только-только. Нет ресурсов для расширения.
Поигрался я с ним. В принципе, хорошая поддерка от производителя, компилятор в облаке, прозрачное затягивания кода со всяких гитхабов или сайта самих TI в свой проект. Вобщем, есть интересные штуки. Но писать под него тяжко.
Мне как-то на F030 взбрело в голову отпрофилировать код, так я взял и на TIM2 нарисовал профилировщих, который мне для всех узких мест изобразил картинку по таймингам. А что бы я на MSP430 делал? Таймер там один и он используется. Все, ау, обломайтесь. Или пока разбирался с SI7021, долго не мог поянть, как он контрольные суммы считает. Алгоритм описан, но в одном случае чек от датчика сходится с рассчетным, а в другой нифига. Зарядил дополнительный вывод через последовательный порт и уже по нему смотрел и разбирался. Оно, конечно не приниципиально, можно было без всего этого обойтись, но зачем же делать свою жизнь менее комфортной?
Вариант беспроводного устройства на мсп430 вместе с исходниками есть на хабре. Можно сдернуть и сделать все по быстрому. Но так же не интересно.
Докину ещё задачку, раз уж просите.
Подскажите какими дешевыми СТМ решается задача дифференциальной оцифровки АЦП? А с аппаратно-программным усилением сигнала?
Что было сделано на Мега2560: 2 микрофона "уши робота", которые оцифровывались в дифф. режиме, а при слабом сигнале с переключением усиления в 10 и 200 раз, и получал "разностный сигнал", который напрямую управлял поворот серводвигателя, разворачивая уши робота по направлению источника звука. Оцифровка в "непрерывном" режиме по прерыванию. Программный код в части обработки АЦП не использован вовсе, кроме обработчика прерывания.
Сразу же возражения "можно измерять по отдельности и вычитать" - не принимаются. Речь идет об широком классе устройств ПИД-управления, где управляющий сигнал с 1 датчика практически всегда - дифференциальная оцифровка. Тут просто 1 датчик заменен на 2 микрофона.
И так, каким из СТМ можно решать подобные задачи на уровне аппаратуры (про сложности с синхронизацией скорости АЦП, USB и ЦПУ пока умолчим): по наличию разностного сигнала получать цифру в диф. режиме, и при необходимости регулировать усиление тракта?
Теоретически делается все это на том же STM32F303, у которого до четырех пятимегасемпловых 12-битных АЦП (зависит от модели), которые объединяясь в пары могут работать в дифференциальном режиме. Плюс четыре набортных операционника с программируемым коэффициентом усиления и внутренней коммутацией к АЦП (по желанию). По деньгам, скорее всего, выйдет дороже меги, но там и параметры просто несравнимые.
Почему "измерять по отдельности не принимаются" непонятно. За то время, пока мега один семпл получит, с F3 можно взять сорок и это реальные цифры, а не фигура речи.
Ценовое сравнение "в лоб" получается не очень корректным, т.к. в большие корпуса стм-ы обычно кладут фарша с горкой и рядом с трехсотрублевым STM32F303VCT6 двухсотрублевая MEGA2560 выглядит то ли сиротой, то ли духом бесплотным.
Если требования ослабить и взять F3 в корпусе поменьше, плюс дозволить "измерять по отдельности", то задача решается при паритете цен. Бонусом в этом случае отсыпят ядро Cortex-M4, плюшки в виде FPU и DSP инструкций, кучку сильно заряженной периферии и всяких прочих мелких радостей. Выйдя из F3 и зайдя в мегу вам покажется, что вас обокрали и унесли все, что было нажито трудами нескольких поколений.
Зря вы пытаетесь играть в силовое противостояние. Тут у меги шансов нет. При самых благоприятных раскладах, вы если и найдете какую-то удачную комбинацию требований, где мега блеснет, то это будет выглядеть, как история про то, что, если разогнаться на запорожце побыстрее и удачно подскочить на ухабе, то можно перепрыгнуть ту здоровую кучу навоза возле фермы, где мерседес гарантированно застревает.
Отак. Спросили конкретно "дифференциальной оцифровки АЦП?"
В ответ - обединение АЦП, "обычно кладут фарша", "Если требования ослабить" и "кучу навоза возле фермы". Кучу навоза возле фермы - это вся линейка STM очевидно.
Но всеравно "Тут у меги шансов нет."
<censored>
ПС. Ща последует несколько "простыней" ниочем, чтоб задвинуть сообщения, авось никто не увидет )))
Отак. Спросили конкретно "дифференциальной оцифровки АЦП?"
Ы шо? В местном ларьке 100-ногий 373-й стоит также как и 2560. Что имеем
Up to three 16-bit Sigma Delta ADC
– Separate analog supply from 2.2 to 3.6 V,
up to 21 single/ 11 diff channels
a5021, спасибо за ответ. Вопрос был поставлен за диф. АЦП не случайно. Достаточно задач (целый класс) где требуется ПИД-регулятор, принимающий сигнал отклонения от "линии Партии" и он запросто не от 0 и "до", а "плюс-минус". Фактически ВСЕ датчики, имеющие встроенный компаратор или операционник "с кондером" на выходе выдают исключительно такой сигнал. А ещё есть системы передачи данных "с возвратом к нулю".. мой пример просто сильно утрирован, но и только.
соответственно "ослаблять" - увы, нечего. есть аналоговый сигнал "плюс-минус" из него надо сделать ПИД-регулятор выходного устройства. Специальных требований по скорости АЦП и его высокой точности нет. Все остальные "навороты" роялей не играют. Вопрос остается: каким ДЕШЕВЫМ средством такое можно сделать?
У Атмела есть не только Мега2560 с диф. режимом АЦП .. можно даже тиньку найти ценой за 30-40 рублев на али .. относительно легко.
ssss, специально для вас порылся в "местном ларьке": Даже в партии от 20шт нет дешевле 380руб/шт
Берём сдвоенный операционник и хоть к четвертькопеечному СТМ8С003 цепляй. Куда ж ещё дешевле? И не надо тут истерик про "точки пайки" и "лишний корпус".
вопрос стоял "каким дешевым СТМ это можно сделать", а не "что к нему прикрутить"..
Пошукал в местном ларьке озвученный STM32F303CBT6 (наименьшее что нашел): 277руб, если не смотреть первых демпинговщиков .. это даже подороже мега2560 получается .. а в 30-40руб? В частности ко мне едут ATmega128A, закупленные по цене 36.5руб/шт за 10шт .. там тоже есть дифф. режим АЦП. :)
вопрос стоял "каким дешевым СТМ это можно сделать", а не "что к нему прикрутить"..
Любым! И нигде изначально не было сказано что можно прикручивать или нет. Китайцы ваще не заморачиваются по этому поводу, гонят свои ампер-вольтметры сотнями тысяч на опере и СТМ8С003 и не стонут, не рыдают. Покажите, где они, эти девайсы на Тини? А нету! Вот просто нету, почему-то!
В ларьке напротив Ф3хх можно найти и подешевле 2560. Может 2560 не пользуются спросом, поэтому и цена такая. Да и по любому, я 2560, как объект приобретения, рассматривать точно не буду.
ssss, понял, отстал. Ещё задачек подкидывать или уже достаточно? :)
P.S. Так и запишем: дешевые линейки СТМ не умеют принимать дифференциальные аналоговые сигналы.
Можете ещё зигануть, что СТМ32 не бывают в кошерных сороканогих ДИПах. Если вам от этого легче станет.
подкинуть ЗАДАЧИ просили ВЫ. Теперь опять вас понесло на флуд и срач .. нечего ответить? Бывает, зачем истерить-то? :)
ХДЕ я вас просил об этом? Покажите! )))))))
Забавно наблюдать за фанатами, маньяками и пр. неадекватами. Подолью масла в огонь.
АВРы умеют ногодрыгать выводом RST.
[quote=Logik]Отак. Спросили конкретно "дифференциальной оцифровки АЦП?"[/qutoe]
Не только, стало быть, с пониманием английского проблемы, но и русского уже? Я ведь не мене конкретно ответил: "объединяясь в пары, могут работать в дифференциальном режиме". Есть этот режим. Полный эквивалент атмеговскому, только с лучшими праметрами по разрядности и скорости.
АВРы умеют ногодрыгать выводом RST.
СТМы тоже умеют, и не только.
Теперь опять вас понесло на флуд и срач .. нечего ответить?
Так вам уже всё ответили, а вы глухаря включили, к словам цепляетесь. Престаньте думать унылыми восьмибитными решениями и догмами, абстрагируйтесь и всё у вас на СТМ32 получится.
Я не уверен, что таким образом можно сделать что-то путное из атмеги. Вы же параметры АЦП у атмеги в дифф.режиме видели же небось ? "at 200x you will not get the resolution better than 7 bits and a bandwidth wider than 4 kHz".
Конечно получится .. только я никак не могу взять в толк "а зачем"? Если за 40рублев я имею готовое решение ..
Давайте я Вам подитожу все то, что УЖЕ наковыряли тут и в предыдущих темах из ваших маркетинговых "обещалок" про младшие модели:
1. Утверждалось, что STM32F103 "порвет мегу" на вычислениях. Как оказалось - фейк, не порвет. Видео есть тут, и ранее было сравнение за циклы ожидания - СТМ32 оказался худшим из всех АРМ. Фактически рабочая тактовая мало отличается от 24-36Мгц., что подтверждается даташитом от СТМ (разбирали ранее). Также выкладывался тест на 6M DryStone для этого проца конкретно, что соответствует тутошнему видео.
2. Утверждалось, что СТМ имеет больше памяти под код и данные. Выяснилось - да, несколько больше даже с учетом потерь на разрядности.
3. Утверждалось богатый частотный выбор по периферии. Выяснилось, что STM32F103 в частности имеет унылые частоты ЦПУ и периферии, не позволяющие использовать АЦП и ЦП одновременно (и ряд иных устройств) на всех частотах. По сути "выбери что-то одно". Что накладывает ограничения на использование этой линейки для задач приема/передачи данных.
4. Младшие модели СТМ не умеют принимать дифференциальный входной сигнал. Совсем.
5. Не разобрался, но похоже есть таки проблема с аппаратным подсчетом СРС .. лень вникать в срач. Распишите внятно - исправлю.
6. Утверждалось, что СТМ имеет ДМА каналы. Подтвердилось, что делает его привлекательным для задач отрисовки на экранах.
7. Утверждалось, что СТМ имеет прямые выходы DAC, что полезно для озвучивание звука. Подтвердилось.
.. итого, как и делал выовды ранее: ни для каких задач управления это барахло особо не заточено. Слабо заточено на задачи приема/передачи данных и единственное для чего оно полезно - задешево ПЕТЬ ГИМНЫ и РИСОВАТЬ РОЖИ. И иметь гемморой с программированием. :)
P.S. продолжайте истерить далее.
a5021, Вы как-то все время гоняетесь за разрядностью .. то в АЦП, то в расчетах .. Вы вообще в курсе, что динамический диапазон многих аналоговых устройств находится в пределах 20-40 децибел? .. то есть всего 100 .. как раз 7 бит - вполне нормальная точность. :)
Давайте я Вам подитожу все то, что УЖЕ наковыряли тут и в предыдущих темах из ваших маркетинговых "обещалок" про младшие модели:
1. Утверждалось, что STM32F103 "порвет мегу" на вычислениях. Как оказалось - фейк, не порвет. Видео есть тут, и ранее было сравнение за циклы ожидания - СТМ32 оказался худшим из всех АРМ. Фактически рабочая тактовая мало отличается от 24-36Мгц., что подтверждается даташитом от СТМ (разбирали ранее). Также выкладывался тест на 6M DryStone для этого проца конкретно, что соответствует тутошнему видео.
Доказательства есть? Или только с ваших слов? Так вам уже никто и не верит.
3. Утверждалось богатый частотный выбор по периферии. Выяснилось, что STM32F103 в частности имеет унылые частоты ЦПУ и периферии, не позволяющие использовать АЦП и ЦП одновременно (и ряд иных устройств) на всех частотах. По сути "выбери что-то одно". Что накладывает ограничения на использование этой линейки для задач приема/передачи данных.
Чушь надуманная.
4. Младшие модели СТМ не умеют принимать дифференциальный входной сигнал. Совсем.
Потому что в том виде как вы себе это всё представляете это и даром никому не нужно. Смиритесь!
.. итого, как и делал выовды ранее:
Продолжайте. "Собака лает, а караван идёт."(с).
И что это за устройства?
Я никогда не встречал ни конструкций, эксплуатирующих дифференциальную фичу АЦП АВР, ни описаний таких конструкций, ни упоминаний, что кто-то это как-то реально использует. Вся выдача гугла касается в основном вопросов новичков на форумах и обсуждений довольно абстрактного характера.
Если вы говорите о "широком классе устройств", то должны быть какие-то подтверждения их существования. Я не смог их найти. Если такие устройства существуют, то покажите их и мы обязательно продолжим. Уверения в том, что мега имеет отличные перспективы использования дифф.режима, не явлются доказательствами и всерьез рассматриваться не могут.
Отличное пакистанское видео. По силе жизненной правды уступает только индийской мелодрамме.
Вот тут коллеги на arduino.cc сравнили:
First the integer maths dhrystone:
ATmega2560 16MHz
Dhrystone Benchmark, Version 2.1 (Language: C)
Execution starts, 300000 runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone: 78.67
Dhrystones per Second: 12711.22
VAX MIPS rating = 7.23
STM32F103 72MHz
Dhrystone Benchmark, Version 2.1 (Language: C)
Execution starts, 300000 runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone: 11.66
Dhrystones per Second: 85762.68
VAX MIPS rating = 48.81
Исходники к тесту прилагаются. Берите и проверяйте.
И вам не болеть.
...
Но, вообще-то, самой медленной командой, пожалуй, следует считать работу с COM-портом, т.е. Serial.print(). В данном случае я ее не анализировал чтобы не засорять вывод результатов в этот самый порт, но примерно можно оценить так, что при скорости 9600 выврд одного символа занимает порядка 1000 мкс. Это оценка снизу.
Этот абзац стоило бы убрать из обзора. Ибо продолжительность передачи байта определяется длиной посылки и установленной скоростью соединения (в данном случае 9600 бит в секунду). Контроллер-то и быстрее (в 12 раз при 115200) мог бы, но тогда на приемной стороне его не поймут.