А где проблема? Заказываешь в китае платы, а потом паяешь на коленке. Дешево и сердито. Или отдаешь сборщикам которые будут тебе паять за зарплату. При партиях меньше сотни других вариантов нет. Еще можно платы заказывать на месте, но как правило это заметно дороже.
плат такой сложности особо не напрягаясь 5-6 штучек успевал паять за вечер. www.adslclub.ru/upload/img/2012-06/18-20400795271.jpg
ЦАП в AVR с USB не бывает, а встроенный в контроллер АЦП может выдавать максимум 200 kSPS, а здесь внешний АЦП с 350 kSPS. Размер флэша обычно ограничен в районе 32кб (есть больше, но не на много), а здесь установлена микросхема DataFlash емкостью 4 МБ. Поэтому такую аврку, в которой есть все эти модули просто не купить.
1) Отвечайте ПЛЗ в ветке комментов, я пока догадываюсь, что Вы дискутируете со мной, но в какой-то момент это может стать неочевидным
2) Обратите внимение на платы от ST. Там стоит на входе маленькая СТМ-ка, которая занимается USB, за ней стоит уже нормальный камень с АЦП, ЦАП, таймерами и прочими няшками. То же самое, если мне никто не изменяет, делают и на новых дунях — вместо ft232 ставят маленькую авр-ку с ЮСБ и основной камень занимается уже всякой нужной конкретному проекту лабудой.
Так делают, но это делает плату все равно дороже, здесь простой камень, и немного периферии.
Для того чтобы начать — в самый раз.
От работы на duino платформе отказались из-за языка на котором происходит работа с ардуино. Важно, чтобы пользователь понял, что здесь практически обыкновенный ansi C и ничего сложного в нем нет чтобы начать.
а можете поподробнее об этом? в частности, меня интересует протокол для работы c Arduino Mega 2560 (там написано что в нем есть four hardware UARTs for TTL (5V) serial communication). Как я понимаю, что все общение проходит через COM порт. Есть ли описание команд? Можно конечно попробовать реверс-инжиниринг библиотек, но буду рад, если дадите ссылку на доку. Заранее спасибо!
Прошивка любой атмеги (или почти любой) осуществляется по SPI. Для этих целей на плате есть 6-пиновый разъем. Купите программатор за 8 баксов и прошивайте атмегу как хотите и чем хотите. Для разработки можно использовать любую удобную вам среду.
«обычный» контроллер серии atmega умеет прошиваться только по SPI.
некоторые имеют на борту УСБ и умеют прошиваться через него (их достаточно немного).
ардуина же содержит загрузчик(бутлоадер), который занимает пару килобайт памяти. и имеет на борту COM/Serial/uart порт. на этой же плате распаян преобразователь usb-com.
когда надо обновить прошивку, то через ком порт дергают пин reset. контроллер начинает грузиться и сначала передается управление загрузчику. загрузчик пару секунд ждет на КОМ порту данных. если данные пришли, и сигнатуры совпали то начинается прошивка, загрузчик перезаписывает оставшуюся память новой прошивкой.
другие среды разработки могут не знать про заргузчик ардуины, однако любые среды разработки умеют прошивать про SPI. потому я и говорю про внешний программатор.
На платах от ST «маленькая СТМ-ка» на входе стоит для возможности прошивки и отладки. Через нее, к сожалению, никак нельзя общаться с компьютером вне IDE.
не, ничо. семихостинг вроде есть в stm32. по крайней мере в CooCox я видел подключаемые модули semihosting для стм-ок. А вы про то, что STM32 и LPC — разные процы в какой-то книжке прочитали?
какая атака, о чем вы? мне очень приятно, что вы потратили на комментирование моего топика несколько часов своего ЛИЧНОГО времени, только побольше бы советов конструктивных, раз вы в теме, а не комментов в стиле:
«Это отстой, все отстой, плата лажа!!!» ок?
Да блин, зрите в корень — вопросы заданы, альтернативы указаны, слабые места подсвечены, удачи в бизнесе «пожелано». Ну вам что, в книжку это все оформить, чтобы вы восприняли? Это же не последнее, что вы делаете. Будут еще ревизии, новые платы. Чем раньше вы из оборонительной позиции «ах, мне нагрубили» перейдет к позитиву, тем богаче будете к пенсии, я так считаю.
Плате, как мне кажетс, не хватает отверстий для крепления. Особенно в районе USB гнезда. И опять же, интересует, как вы дошли до мелких серий, если это не на коленке делается. Патентовали что-либо?
Отверстий действительно не хватает, исправим в след. ревизии. Здесь нечего патентовать, схема открыта, любой по принципиальной схеме сможет собрать на коленке, свою такую же.
До мелкой серии дошли мелкими шагами, а самая первая версия была сделана ЛУТ.
А что под AVR архитектуру можно купить дешевле? Со сравнимым функционалом. Мне правда интересно, я как-то ничего не встречал. Только ардуина с конскими ценами на шилды. Ну или самому ЛУТить.
мега стоит меньше тысячи даже
а ардуино про я себе сам залутил. кстати, 328 мега стоила совсем негуманных денег — 300 что ли рублей или 350. и еще еле нашел блин на митинском рынке.
Увы, но DACа там нет, а ADC с гораздо более низкими параметрами. Да и усб мягко говоря не полноценный.
Я бы скорее задался вопросом кому и для каких целей может понадобиться именно такой набор переферии как у автора статьи.
А AVR против STM это все-таки холивар. На свете полно задач на которые AVR хватит за глаза. А использование / выбор архитектуры для начинающего определяется скорее объемом доступной документации и примеров. А если вспомнить как в наших учебных заведениях преподают иностранные языки, то желательно чтоб документация была еще и на русском.
Увы, STM решили выйти на рынок жестким демпингом — и этим решают.
Когда на кристалле есть всё нужное, и по цене ниже, чем просто кристалл без этого всего конкурента — я не вижу смысла париться с этим добром.
Если надо DAC/ADC — прекрасно решает ADuC847 — недорого, 8мибитный, но очень шустрый (12мГц, однотактное ядро). AVRы нервно курят в сторонке…
Для массового производства (от тысяч штук) да, демпинг решает, Т.к. стоимость разработки незначительна на фоне объемов.
Но если делать 10-100 штук, то цена контроллера уже значения не имеет. А имеет значение навыки программиста и доступность документации, примеров, готовых библиотек,…
посмотрите на STMF4-Discovery. посмотрите, что есть на борту. посмотрите на цену. ну и на коменты выше. Я думаю: плата красивая, с ней можно играться и делать на ней замечательные вещи, в большую серию пускать не стоит, потому что дорого, не гибко (ну зачем мне за ЦАП и память платить, если я хочу мигать светодиодиком, например?). В общем, игрушка для себя.
Начинать знакомство с ARM сложнее, чем с легких восьмибитников,
и стоит это все не так дешево, как кажется $45 + доставка самая дешевая EMS $40, получается уже 2760р. Не дешево для макетки.
«Бесплатная доставка» — это когда покупаешь что-то в пределах 10 баксов, потому что не жалко, часто ведь совсем не приходит, вы бы знали, если бы часто заказывали вещи с китая.
То, что вы предлагаете это STM32, ARM Cortex-M3, новичку будет сложно.
Ну что вы в бутылку лезете?
1) Если не приходит — высылают заново или возвращают деньги. Проблем никаких. Заказываю часто.
2) А USB-стек в проект интегрировать новичку не сложно? А с таким количеством внешней периферии новичку не сложно работать?
3) А сколько места остается в вашем камне после того, как туда прописаны необходимые библиотеки для работы с тем же USB?
4) С темы с ардуиной вы соскочили. но я все-таки повторю вопрос — что мешает писать на Си или АСМ-е для дуни?
5) Зачем новичку семплинг рейт для АЦП? Новичку бы понять сперва что такое вообще АЦП, куда ему скорость? Сможет ли он обрабатывать данные с АЦП эффективно на таком камне?
ну и т.д. и т.п.
там нечего интегрировать, все работает через CDC-устройство, есть примеры, данные отправляются и получаются через виртуальный com-порт или hid-устройство.
Библиотека на которой все основана называется LUFA.
полная работающая программа управление ЦАП через виртуальный сом-порт USB занимает 19 % флеша.
ардуино — это модули, не нужен паяльник, писать можно на чем угодно.
Я заказываю много и часто, проблем с тем чтоб не пришло пока не было ни разу — если есть, возвращают деньги без проблем — escrow защита платежа работает прекрасно.
доставка реально бесплатная, я заказываю и за 35$ макетную плату, и за 250$ планшет — всё пришло, никаких проблем, и доставка реально бесплатная.
с платной доставкой тоже заказывал, тоже приходило.
Что сложного в ARM'е? Наоборот! Это просто си, готовые библиотеки, готовые примеры, и всё это легко собирается и можно пощупать тут же на устройстве — в разы проще чем keil-c для 8мибиток.
STM8 предлагаете?
Дайте хоть одну ссылку по этим МК на русском.
Их нет, и материалов мало, обучаться на STM8 в настоящее человеку без опыта сложно.
Ну и что, плат стоит 800 рублей, что вы с ней делать будете, если нет книг и нет статей-то?
Тем более эти платы — демпинг чистой воды, они продаются ниже своей себестоимости в ущерб фирме производителю МК с одной лишь целью — подсадить народ на свои камни.
Кстати, основной трабл со всеми этими МК — программирование. Мне как не программисту, сложнее всего писать код. Хабр — не то место, где стоит ныть по поводу «сложности написания кода». Если код сложно пистаь — надо не с вайринга на си пересаживать людей, а наоборот.
Что бы там ни говорили, но у атмела есть один неоспоримый плюс: это просто офигенная документация. В силу простоты и незамысловатости архитектуры есть возможность всё поместить в один хорошо структурированный PDF. А кроме того, тыщщи AN на кучу случаев из реальной жизни. Всё-таки, начинать программировать микроконтроллеры гораздо проще с простых архитектур. Тут вот давеча пару дней назад наблюдал ситуацию как из-за по-разному в разных местах описанной системы приоритетов STM-овского Cortex-M3 немолодые дядьки впадали в ступор. В случае AVRов же проблема не стоит, т.к. приоритеты там фиксированные. Да, Cortex-M3 быстрее и гибче, тут не поспоришь, но… всегда ли она нужна, гибкость-то эта?
А мне больше доки микрочипа нравятся. Но я тут делал драйвер bldc на stm32 и вполне сносно срисовал конструкцию с аппнота атмела. Какая разница, кто его написал, если дока годная?
Ну а про начинать я уже писал — проще, чем ардуино вряд ли выйдет.
Не было таких криков, перечитайте комменты. Были крики — зачем плодить зоопарк из периферии, если можно поставить один камень. И были крики про негуманную цену. и прочие. про атмеловские изделия не нужны криков не было.
Ок, я так понимаю расчет шел на то, что будут разрабатываться устройства USB, а не только эмуляция COM порта(Для этого проще поставить копеечный CP2102). Тогда не понятно, чем вызвана необходимость добавить столько внешнего фарша. Логичнее выглядел бы небольшой девайс типа такого: www.pjrc.com/teensy/
Не подумайте что я придираюсь, просто пока не уяснил назначение макетки.
Опять же, поставьте себя на место новичка:
В интернете полно документации и примеров по arduino — фиг с ними.
Но большинтво примеров идет для Tiny/Mega.
Далее, я изучил как работает купленная демоборда, что я буду делать дальше? Делать на ней девайс — плата большая и дорогая. Делать свою плату? корпс TQFP32(или какой там применен) не особо располагает к пайке новичком.
Я понял Вас, после того, как вы изучили работу платы вы можете собрать свое устройство по принципиальной схеме, можете заменить проц под ваши нужды и тд. То что корпус не располает к пайке — это только в первый раз может не получиться. В любом случае если вы серьезно станете работать с микроконтроллерами в стартапе, придется сталкиваться и с куда меньшими корпусами.
DIP используется только в домашних условиях.
Просто до сих пор не очевидно, какой смысл мне брать плату за 1.5К, на не самом распространенном МК, если я могу взять попсовую arduino за 1000, поиграться с ней и клепать свои девайсы на том же Atmega328 в DIP корпусе, или, если захочу, научусь паять TQFP?
При том, что пимеров в интернете для arduino или голой mega я найду в разы больше?
Он может выиграть только одним — готовыми качественными библиотеками под запаянную переферию.
А пайка TQFP зря вас пугает, ниче сложного (если нормальное зрение и нормальное освещение)
Лично меня пайка TQFP не пугает, вполне паябельно :)
Мы же о новичках говорим? Не понимаю, почему все прицепились к arduino'вскому IDE?
Можно и не пользоваться, а писать в cvAVR или там AVRSTUDIO.
Зато обучение идет с кучей примеров, шилдов, либ и прочего. При том, что МК идет более популярный и распространенный, в куче разных корпусов.
Только вот у меня не очень получилось его купить. Поставщик меня кормил завтраками полгода, после чего я тупо на это дело забил. Когда понадобилось делать USB, взял ATmega32 и V-USB.
Мы просто со знакомым ищем платку для управления фрезерным станком. Там нужно уметь и Linux гонять, чтобы сложные модели подготавливать для вырезания, и иметь хорошие АЦП/ЦАП, для верчения моторами. Поэтому и вопрос. Было бы хорошо, если была бы аналогичная платка, с возможностью на ней нечто монтировать, но с более мощной вычислительной частью.
нужен будет ddr, а это многослойка и необходимость в понимании, как его разводить.
цена с учетом типовой наценки в 30 раз вырастет до нескольких тысяч. примеры гуглить где-то в районе терраэлектроники.
Есть еще статическая память SRAM, она обычно бывает меньшего объема, и стоит дороже, это связано с технологическими особенностями. Если нужно больше 256МБ, то смотрите на DDR2 или 3 уже.
Просто развести DDR никак, там много слоев и много головной боли, автоматическому трассировщику такое не доверяют :)
Мне кажется все незаслуженно забывают про TI MSP430 и их лаунчпад. Взял в Самаре примерно за 350 руб и горя не знаю-понять что такое программирование МК и сделать пару полезных проектов можно легко и в лет
очень шаткое положение занимает MSP430. Потому что 16 бит, простые проекты можно делать на простых аврках, а проекты по-сложнее на ARM, а MSP430 вроде как и не при делах. Хотя камень хороший, с этим не поспоришь.
не приделах он у русских разработчиков, которые везде пихают атмеги самых редких, труднодоступных и вычурных серий, потому что это единственное к чему можно легко загуглить документацию.
у msp430 огромная ниша — разберите настоящий мультиметр какой-нибудь, типа Fluke, угадайте что там стоит.
Данные можно сохранять в памяти, если например данные с датчика температуры снимаются 1 раз в 2 секунды, то памяти хватит на работу в течении 76 суток, прежде чем она заполниться. Другой вопрос — нужно найти хорошую батарею.
Хех. А я как-то подсел на ПЛИС в бытово-эксплуатационном плане. Тем более, с VHDL работаю только уж года как четыре.
Проект интересный. Неплохо было бы только еще дополнить магазин на сайте какими-то модулями (типа приведенных в статье) по приемлимым ценам. Это поспособствует начинающим. А то я помню как-то хотел сделать приемопередачу по Ethernet на плате Marsohod и был впечатлен ценой на Ethernet-board в Чип-и-Дипе. Пришлось самому делать в ПЛИСе приемопередатчик да еще и модуляцию физического уровня туда упихать. Как результат — передача кое как заработала, а прием, конечно, нет — согласующий трансформатор нужен как минимум )))
Модулями будем расширяться, это конечно, имел знакомство с плис, буквально помигался, ip ядро uart скачал, запустил — сложно, это более высокий уровень по сравнению с процессорами общего назначения.
Макетная плата MAT90USB162 с аппаратным USB, ЦАП, внешним АЦП и 32Mb DataFlash