Полная версия этой страницы:
посоветуйте микроконтроллер
sketch
Mar 24 2013, 16:56
Здравствуйте!
Посоветуйте/порекомендуйте дешевый микроконтроллер.
Требования:
- 1 uart, 115200 bps;
- 20 GPIO pins
_Артём_
Mar 24 2013, 17:17
Цитата(sketch @ Mar 24 2013, 18:56)

Требования:
- 1 uart, 115200 bps;
- 20 GPIO pins
Atmega48.
Если хватит 18 ног, то lpc8xx.
Возможно у ST найдётся что-нибудь подходящее из stm32f0.
Ещё на Kinetis-ы можно посмотреть.
sketch
Mar 24 2013, 17:24
_Артём_,
спасибо.
А у техаса или микрочипа есть что нибудь?
igorle
Mar 24 2013, 17:24
MSP430G2553IPW28
Это относительно "навороченный". Стоит доллар. Есть еще дешевле.
sketch
Mar 24 2013, 17:27
igorle,
спасибо,
рассмотрю этот вариант
Цитата(sketch @ Mar 25 2013, 00:24)

А у техаса или микрочипа есть что нибудь?
У Микрочипа, например,
PIC16F1512. Если цена важнее, то может удасться сделать программный UART на
PIC16F57.
andrewlekar
Mar 25 2013, 07:50
Вот самый дешёвый контроллер ever: STM8S003
http://www.st.com/web/catalog/mmc/FM141/SC...10/LN2/PF251792По 10 руб. продают.
sketch
Mar 25 2013, 10:41
andrewlekar,
dinam,
спасибо, рассмотрю эти варианты
Думаю по цена/качество, да и просто по цене мало кто сможет соперничать с STM8S003F3
Harbinger
Apr 6 2013, 05:00
003-му кварц нужен, для работы UART в широком температурном диапазоне. Т.е. дополнительные аж 10 центов.
Цитата(Harbinger @ Apr 6 2013, 09:00)

003-му кварц нужен, для работы UART в широком температурном диапазоне. Т.е. дополнительные аж 10 центов.

Любому кварц будет нужен.
toweroff
Apr 6 2013, 11:04
Цитата(kan35 @ Apr 6 2013, 12:59)

Любому кварц будет нужен.
ну тоже не факт. NXP вот предлагает M0 с 1% внутренним 12МГц генератором (LPC81x)
В еррате про температурный диапазон ничего пока не говорится
QUOTE (toweroff @ Apr 6 2013, 14:04)

ну тоже не факт. NXP вот предлагает M0 с 1% внутренним 12МГц генератором (LPC81x)
В еррате про температурный диапазон ничего пока не говорится

Для uart, 115200 bps; 1% никак не годиться.
Все внутренние, как правило не кварцевые, также хорошо плывут по температуре.
Подтверждаю, что STMы в лидерах.
toweroff
Apr 6 2013, 12:42
Цитата(Aner @ Apr 6 2013, 15:39)

Для uart, 115200 bps; 1% никак не годиться.
мдя.. я его к 9600 подгонял

а так да, без кварца никак...
Цитата(Aner @ Apr 6 2013, 17:39)

Для uart, 115200 bps; 1% никак не годиться.
а чем 1% ошибки для 9600 принципиально отличается от 1% для 115200?
Цитата(_pv @ Apr 6 2013, 18:33)

а чем 1% ошибки для 9600 принципиально отличается от 1% для 115200?

Если связь через драйверы RS-232 и линию, то таки очень даже отличается
toweroff
Apr 6 2013, 15:30
Цитата(_pv @ Apr 6 2013, 18:33)

а чем 1% ошибки для 9600 принципиально отличается от 1% для 115200?

калькулятор в руки
Берем в руки калькулятор.
Допустим, формат передачи - старт, 8 битов данных, два стопа.
Пусть середину старта нашли, программно или аппаратно. От этого момента до середины последнего стопа проходит 10 интервалов bps. Если момент выборки уползет с последнего стопа вперед или назад, получаем ошибку приема. То есть, за 10 интервалов можно измениться максимум на ±0.5 интервала, или на ±5%. Еще можно учесть, что берется не одна выборка в каждом бите, а, например, 3 подряд, и мажоритарным способом определяется истинное значение.
Таким образом, для работы UART достаточно стабильности, ну, возьмем с запасом, ±2.5%. От абсолютной частоты не зависит.
Но всякие там джиттеры, шум, скорости нарастания фронтов, задержка работы программы могут внести свои неопределенности на высоких скоростях.
Цитата(aaarrr @ Apr 6 2013, 20:40)

Если связь через драйверы RS-232 и линию, то таки очень даже отличается

не верю (с)
даже на 115200 фронты в 1 мкс ничего страшного не сделают, а это 200м линии, чего на 115200 и физическом уровнем RS-232 по стандарту и близко не может быть.
Цитата(_pv @ Apr 6 2013, 23:21)

не верю (с)
даже на 115200 фронты в 1 мкс ничего страшного не сделают, а это 200м линии, чего на 115200 и физическом уровнем RS-232 по стандарту и близко не может быть.
Речь шла о том, что при использовании драйверов с медленным нарастанием (раньше в дешевые материнские платы такие любили ставить), нагруженных на приличную емкость, 1% погрешности может быть приемлемым для 9600 и смертельным для 115200.
Про 1мкс фронт в 200м линии ничего не понял, если честно.
если из 5% максимально допустимых, 4% уже съедено заваленными фронтами и оставшийся 1% ухода частоты всё окончательно доломает, то такая ситуация не соответствует стандарту на физ уровень rs232. использующий его в таких условиях сам себе злобный буратино.
А причем тут стандарт, если изначально вопрос был об эквивалентности последствий 1% ошибки на разных скоростях? Эквивалентны они только у сферического RS-232 в вакууме.
По стандарту, кстати, скорость нарастания ограничена значением 30V/us. На 115200 один такой фронт/спад займет уже 11.5% времени битового периода.
Заваленный фронт не страшен, если его переходы правильно обнаруживаются.
Даже если бы он дал неопределенность обнаружения в 11.5% на период бита, то и на 11-м бите она останется той же.
Вот если уровни малые, фронты заваленные и все шумит и в помехах - тогда возможны проблемы.
Цитата(ViKo @ Apr 7 2013, 12:45)

Заваленный фронт не страшен, если его переходы правильно обнаруживаются.
Именно что "если". На деле же обнаруживается, что длительности нулей и единиц начинают заметно расходится на высоких скоростях.
Как раз из-за неодинаковости или самих фронтов/спадов, или определения моментов переходов. К чему это может привести, догадаться
нетрудно.
В приемниках гистерезис есть, если память не изменяет. Из-за них длительности могут расходиться.
Зависит от того как семплируете, если поток непрерывный то требования выше. В +/-2.5% уложиться для 115200 поблемно. Делитель вносит ошибку, хотя она и мала. Еще + задержки, разброс по уровням в формирователе, согласование.
Цитата(Aner @ Apr 7 2013, 20:22)

Зависит от того как семплируете, если поток непрерывный то требования выше.
А надо каждый старт заново искать. Тогда ошибка накапливаться не будет.
Если разбить поток на пулы то вероятность сбоя будет меньше или нет?
Ruslan1
Apr 9 2013, 09:22
Цитата(Aner @ Apr 8 2013, 00:35)

Если разбить поток на пулы то вероятность сбоя будет меньше или нет?
Если Вы просто хотите таким образом что-то сэкономить- не идите таким путем. Ставьте кварц. Избавите себя от очень многих проблем.
Если у Вас нет места даже на кварц в микросмдультрачип корпусе- то обсуждение неуместно, сами себя загнали в угол-сами и выкарабкивайтесь, припарки помогут в частном случае и с ограничениями (кстати, кварцы в нормальных корпусах сильно дешевле чем эти нестандартные микро)
А по поводу самого топика- классический подход начинающего, что супердешевый микроконтроллер родит супердешевый продукт. Да ничего подобного! Не этой деталькой определяется стоимость, если вы, конечно, не делаете изделие, состоящее из одной детали и без корпуса и без затрат на разработку и без затрат на производство и без затрат на поддержку. Ну не стоит сейчас ядро микроконтроллерное ничего, считайте его стоимость хоть равной нулю- ничего не изменится в финальных расчетах. А вот если благодаря Вашей экономии увеличится время производства (например, добавится калибровка)- то финальная стоимость изделия тут же увеличится, хотя детальку Вы сэкономили.
Нельзя так узко подходить, нужно все в сумме считать.
ar__systems
May 7 2013, 13:35
Цитата(Ruslan1 @ Apr 9 2013, 04:22)

А по поводу самого топика- классический подход начинающего
Нельзя так узко подходить, нужно все в сумме считать.
В принципе, конечно, правильно, что надо в сумме все считать, в остальном рассуждения о нулевой стоимости ядра не понял.
Использовать УАРТ на 115200 без кварца вполне возможно, вопрос на какие растояния сигнал передается. Несколько метров - будет работать 100% без каких либо проблем. Даже при 3% отклонении частоты. Вообще есть масса вариантов при которых это будет работать.
Кстати, а где люди берут кварцы по 10 центов? Я бы прикупил. Самые дешевые керамические резонаторы которые я видел стоят порядка 13-16 центов.
За HC49-US( или USMD) 10 американских копеек это много, больше чем за 6 никогда не покупали, причем качественные. А про уарт, что будет без кварца работать на несколько метров вы поэксперементируйте потом про 100% пишите, или почитайте, пощитайте "туман про метры" рассеиться.
barabek
May 7 2013, 22:13
Цитата(Aner @ May 8 2013, 04:24)

А про уарт, что будет без кварца работать на несколько метров вы поэксперементируйте потом про 100% пишите, или почитайте, пощитайте "туман про метры" рассеиться.
У меня на silabs c8051f410 работает без кварца на 115200 и нормально работает. Правда не RS232, а RS-485 (метров 100-200). Но тут говорят и о UART просто, и о UART+RS232, так что мой пример в силе.
ar__systems
May 8 2013, 02:50
Цитата(Aner @ May 7 2013, 12:24)

За HC49-US( или USMD) 10 американских копеек это много, больше чем за 6 никогда не покупали
Где вы их покупаете по таким ценам?
Цитата(Aner @ May 7 2013, 12:24)

А про уарт, что будет без кварца работать на несколько метров вы поэксперементируйте потом про 100% пишите, или почитайте, пощитайте "туман про метры" рассеиться.
Да миллион раз я эксперементировал иначе бы писать не стал. Вы сами поэксперементируйте и сами посчитайте.
редактор
May 8 2013, 06:48
Цитата
У меня на silabs c8051f410 работает без кварца на 115200 и нормально работает.
Они на заводе откалиброваны, максимальное отклонение 2% (24,5 +/-0,5 МГц).Но это без учета температуры.
Всяко бывает. Грабельками в лоб МЫ получили.
На серии c8051f040, более точный внутренний генератор +/- 0,5% под CAN заточен, но на температуре уплыл (-25..30 на улице было).
Два устройства на силабсе друг-друга видели (CAN, 250 кбит, провода метров 10-15), а другой девайс их не всегда воспринимал, ошибки сыпал. После 10-15 минут работы все восстанавливалось (устройства прогревались). При комнатной температуре нареканий не было никогда. Второе устройство тактировалось от кварца, силабсы от внутреннего генератора.
А AVR XMEGA E series с внешним часовым кварцем (KX-26 например) и автоподстройкой sysclk НЕ ?
barabek
May 10 2013, 04:23
Цитата(редактор @ May 8 2013, 16:48)

Они на заводе откалиброваны, максимальное отклонение 2% (24,5 +/-0,5 МГц).Но это без учета температуры.
Хм. Но у них таблица с параметрами генератора написана для условий -40 - +85. Так что температуру, вроде как, учитывают. Но с практикой, конечно, не поспоришь. А может это то, третье устройство загоняло у Вас? Вы тогда не проверяли уход частоты чем либо?
toweroff
May 10 2013, 09:11
Цитата(ar__systems @ May 8 2013, 06:50)

Где вы их покупаете по таким ценам?
http://www.rct.ru/warehouse/80013516/8180.html
редактор
May 13 2013, 08:16
начинается OFF TOP
Цитата
А может это то, третье устройство загоняло у Вас? Вы тогда не проверяли уход частоты чем либо?
Нет, уход частоты не проверяли. Приборы все закрытые внутри машины были.
Третье устройство было - плата в формате PC-104 (вроде адвантек), не помню точно.
В настройках CAN c полем SJW пошаманили чтоб работало, а на будующее решили кварц ставить. Тем более у серии c8051f040 номинал внутреннего генератора "странный" - 24,5 МГц. Для формирования скоростей CAN не очень удобный.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.