Гутен так
Купил сегодня для теста MSP430F2001 в ssop20 корпусе, посмотреть что за зверь. Чуть больше тетрадной клеточки =) 53 рубля, что в три раза дешевле tiny3213 и tiny13 (по Краснодару).
Характеристики не фонтан ( но жить можно )
16mhz, 1k flash, 128 ram. Один в один tiny13.
10 GPIO, 2 16-бит таймера, usart и 4 компаратора.
особо радует питание : 1.8 - 3.6 V, и 220uA на двух часовых таблеточках можно разгуляться.
В общем контроллер является братом tiny13, без ацп (что поправимо через жопу), но с 10ю пинами GPIO
у кого какой опыт общения с MSP430 есть ?
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Сделал недавно на MSP реальный проект для заказчика. На самом дешевом F2001 есть вариант и на G - впечатления от работы положительные, это микроконроллер моей мечты. ПисалОсь на IAR С. Микроконтроллер показался проще чем PIC AVR. От заказчика остался на шару эмулятор MSPLink http://www.evodbg.com/index.php?option= ... &Itemid=42
В иаре эмулятор работает,скорость разработки устройства повышена на 10 порядков (под атмел эмулятора у меня нет) . Единственно все остальные MSP у нас дорого, но планирую использовать старшие кристаллы для единичных проектов - ну очень удобно. По удобству - это отдельнаяя тема.
Микроконтроллеры нельзя сравнивать только по внешним признакам типа число ног или об'ем памяти. Все зависит от конкретного приложения. Для простых приложений типа мигания светодиодами или часов разницу между МК заметить сложно. Вы не ометили такой "пустяк" как тиньки 8-битные, а MSP 16-битные. Однако, в приложениях, где доминируют 8-битные операции (например те-же часы) разницу опять-таки увидеть будет трудно.
Тем не менее, если сравнивать ТОЛЬКО тиньки и MSP, сравнение будет не совсем честным, т.к. эти девайсы выступают в разных весовых категориях. Тиньки - это МК начального уровня. Тем не менее, я вижу только одно преимущество тинек: у них в таймере имеется двойная буферизация, что очень удобно при реализации ШИМ с часто меняющейся скважностью (у некоторых моделей MSP430 имеется Timer-B, тоже с двойной буферизацией, но не у МК F2001). Насколько это сушественно для Ваших приложений можете ответить только Вы сами.
Лично мне нравится у MSP430 следующее. Опять-же для многих конкретных конструкций это может быть не важно.
1. Возможность работать на частоте 16 мгц от внутреннего генератора и при напряжении питания 3.3В. Максимальная частота внутреннего генератора у тинек 8 мгц и при 3.3В максимальная частота по паспорту 12.8 мгц (может быть конкретные экземпляры и тех и другие можно разогнать, но я обсуждаю паспортные данные). Для работы на большей частоте нужны внешние элементы генератора.
2. Отсутствие такой глупости как фьюзы. Здесь добрая треть форума обсуждает эти вопросы. Если что-то пойдет криво, перепрограммировать фьюзу у тинек можно только при параллельном программировании. А что если SMD корпус уже впаян в плату? Сильно попахивает позавчерашней примитивной технологией.
3. Все МК серии MSP430 разработки последних лет программируются через SPI-Bi-Wire интерфейс, для которого программатор/ОТЛАДЧИК от TI официально стоит 4.30 USD. Я не беру в расчет, что в Вашей области он может быть дороже из-за "накруток" и не рассматриваю AVR "программаторы" типа 5 проводков. Для внутрисхемного программирования у AVR задействовано 4 провода помимо питания, у SPI-Bi-Wire лишь 2. Кроме того, у MSP выводы для программирования эксклюзивные, а у AVR они совмещены по функциям с портами. Это может быть как (слабый) недостаток (больше "лишних" выводов у корпуса), так и преимущество, особенно проявляющееся при внутрисхемной отладке.
4. Гораздо более гибкая система тактирования МК. Достаточно посмотреть сооветствующий раздел в MSP430F2xx User Guide.
5. Гораздо более гибкая система управления экономичными режимами (см. даташит). Для меня важно токопотребление в режиме сна с прериодическим пробуждением от таймера. Тиньки кушают в 3.9 мка (Sut-Down mode, 3.3В) с работающим WDT (который кстати можно включить только через фьюз !!!???). У MSP в режиме LPM3 этот параметр 0.6 мкА с работающим VLO.
6. Гораздо более продвинутя система команд процессора и режимов адресации. Например, любой регистр может быть использован в качестве поинтера (у тинек их всего 3: X, Y, Z). Кроме того, у тинек в 2-местных операциях (типа сложение) один из аргументов всегда должен быть регистр, а другой либо регистр либо (8-битная!) константа (с 2 исключениями ADIW и SBIW). MSP могут работать с операндами в памяти. Конечо, на это требуется больше циклов, процессора но не забывайте, что операции у MSP 16-битные. Для приложений где есть много 16-битных или 32-битных вычислений тиньки (и другие 8-битные МК) начинают заметно проигрывать.
Этот список можно продолжать и продолжать. Мне уже надоело писать. Кроме того по многим позициям здесь можно поспорить, чего я делать не собираюсь, поскольку в большинстве случаев (если не во всех) все будет зависеть от конкретного приложения. Отмечу напоследок о том, сколько имеется моделей МК в сериях AVR8 и MSP430. Это просто несопоставимо. MSP позволяет лучше подобрать МК под конкретное приложение, оптимизировав его по цене и пр. параметрам.
Последний раз редактировалось Ser60 Пн сен 12, 2011 00:59:18, всего редактировалось 1 раз.
черт. Так значит в отличии от AVR, MSP430 имеет фоннеймановскую архитектуру!!??
читаю даташит, но не во всё втираю из-за плохого знания языка. Я так понял что у них каждый модуль переферии тактуется отдельно ?
Где найти более-менее нормальный мануал на русском ?
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Кислый писал(а):Так значит в отличии от AVR, MSP430 имеет фоннеймановскую архитектуру!!??
В фоннеймовской архитектуре используется одна и та-же память для программ и данных, т.е. обе они (программа и данные) находятся в одном адресном пространстве и могут быть прочитаны одними и теми-же операциями. В гардвардовской архитектуре память под данные и программу (и соответственно их адреса) разделены физически. Разделение памяти у AVR, например, приводит к необходимости введения специальных операций для чтения чисел из области данных (LDS) и программ (LD/LDD). Сказать какой подход лучше однозначно нельзя без рассмотрения всей архитектуры в целом, т.к. оба имеют свои преимущества и недостатки.
Кислый писал(а):читаю даташит, но не во всё втираю из-за плохого знания языка. Я так понял что у них каждый модуль переферии тактуется отдельно ?
Не совсем. У MSP есть 3 источника тактирования (MCLK, ACLK, SMCLK), каждый со своими скоростями настраиваимые отдельно. Для периферийных модулей как правило программист имеет выбор от какого из этих источников его тактировать. В некоторых случаях к этим трем добавляется еще внешний источник тактирования. У AVR все периферийные модули тактируются от одного источника (CLK_io).
Кислый писал(а):Где найти более-менее нормальный мануал на русском ?
как я понял, данные изделия заточены больше под профессионалов?
как стартануть новичку (действительно новичку, а не имеющему профильное образование и электронщику с опытом)?
новичку надо мануал на русском (родном) языке,
желательно простой кристалл по типу корпуса: DIP или типа того,
простой язык программирования (компилятор) типа Паскаля\Бейсика,
дешевый софт и дешевый программатор-отладчик если кому надо отладка в самом кристалле)
что из этого есть у данных МК?
ps
как я понял, дешевый только программатор
есть среда бесплатная или демо с подходящими под освоение ограничениями
но она на Си (терпеть не могу Сишную кодирню с точечками, рюшечками)
aleksandr-zh писал(а):как я понял, данные изделия заточены больше под профессионалов?
как стартануть новичку (действительно новичку, а не имеющему профильное образование и электронщику с опытом)?
новичку надо мануал на русском (родном) языке,
желательно простой кристалл по типу корпуса: DIP или типа того,
простой язык программирования (компилятор) типа Паскаля\Бейсика,
дешевый софт и дешевый программатор-отладчик если кому надо отладка в самом кристалле)
что из этого есть у данных МК?
DIP корпуса есть
Почитайте на русском: http://we.easyelectronics.ru/blog/msp430/
цитата: Хочу сразу предупредить — данный тип МК несколько тяжеловат для рядового пользователя. Его используют в основном профессиональные разработчики, но… Я хочу сделать его доступным для всех. Так, что смотрим и не боимся.(c)
компилятор, похоже только Си - это не страшно Кто желает, может скачать новый IAR (текущая версия набора 5.20, среда разработки Embedded Workbench — 6-й версии), без необходимости заполнения анкеты как на сайте http://www.iar.com. Самый свежий. При этом, официально бесплатный, правда с ограничением в 4 Кб кода. Для наших уроков это не проблема — данного объёма вполне хватит.(с)
Спасибо=)
ОФФтоп: Си это это стандарт. А ваш паскаль\бейсик, это пережиток из-за боязни нового. А рюшечки.. вы бы знали как мне было тяжело начинать кодить на python! Там вообще нет рюшечек, фигурных скобок и принадолежность чего-либо к какой-либо функции определяется табами.
Я портировал программы на паскале и совсем немного на бейсике, на язык си.. Наплевался ппц. Си гораздо удобнее, и гибче.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Кислый писал(а):Я портировал программы на паскале и совсем немного на бейсике, на язык си.. Наплевался ппц. Си гораздо удобнее, и гибче.
[/color]
Есть люди которые и сегодня пишут весьма нехилые программы на Фортране, которые работают на суперкомпьтерах
Так что давайте не углубляться в тему которая рано или поздно сходиться к фразам типа "на вкус и цвет товарищей нет".
Было бы корректней, если бы вы написали, что Вам Си гораздо удобнее.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)