Сообщение от
shkal
Пришлам и мне пора взять в руки мелкоконтроллеры. Опыт в этой области отсутствует напрочь. Уже месяц читаю различную литературу, даташиты и т.д. - голова пухнет, ясность не наступает. Задачи такие.
1) Получить опыт работы с МК на будущее. Писать софт хотелось бы на С, а не на ассемблере.
2) И собсно первая практическая задача - панель управления прибора. Нужно
а) Получать состояние нескольких (6-8) кнопок.
б) Получать и считать импульсы от валкодера.
в) Отображать информацию на LCD 3x16 символов.
г) Управлять 10 шт. рэле в приборе.
д) Работать частотомером в режиме измерения интервалов, входная частота опоры желательно 10МГц
е) Выдавать по SPI данные на ЦАП
ж) Очень хотелось бы иметь в контроллере аппаратно USB (device) и бесплатный софтверный УСБ-стэк. Это скорее на будущее.
Давайте ограничимся PIC-ами (нельзя обьять необьятное)
Насколько я смог понять, минимально для меня семейство PIC18.
Хочу пойти простейшим путем и купить отладочную плату. А теперь вопросы.
1) Какую плату выбрать?
2) На чью инегрированную среду ориентироваться?
И вообще приму любые советы, мнения, подсказки и личный опыт.
Заранее спасибо.
Если возиться с PIC, то IMHO сразу бери серию PIC24.
Резоны:
1. Нормальный 16-битный процессор, за небольшие деньги и с богатым выбором периферии (напр. 500 кГц АЦП 10/12 бит), не крохоборский по памяти. C хорошей арифметикой (к примеру, умножитель 17х17 позволяет без танцев с бубном корректно множить как 16, так и 32-битовые числа со знаком).
2. В рамках одного семейства есть и сверхэкономичные версии, сравнимые с MSP430 (PIC24F), и быстрые (PIC24H).
3. Общий компилятор и средства отладки для PIC24 и DsPIC33 (это гибрид микроконтролера и low-end DSP, на них хорошо делать приборы, где не нужна особо тяжелая обработка сигналов).
Минус один - нормальный комплект софта для полноценной работы с PIC18/PIC24/DsPIC33 от Microchip вылетает около $900+, это дороговато для любителя. Легальные IAR/Keil не дешевле.
Подешевле - лично не работал, но народ неплохо отзывался о продукции конторы http://www.mikroe.com. У них IDE с компилятором стоит $250, есть демоверсия, но с лимитом кода всего 2К. В РФ торгует Терраэлектроника. Для мелких и средних проектов - судя по описанию и скриншотам, их инструменты должны быть "очень даже", поудобнее MPLAB.
Однако, если речь об описанной в топике задаче, из разряда в основном "дрыгать ножками", где нет особой математики, а в перспективе нужна будет "аналоговая" периферия - то IMHO для любительских целей стоит посмотреть в сторону процессоров C8051Fxxx от Silabs.
У них очень хороший выбор аналоговой периферии (много лучше, чем у Atmel AVR, и не хуже, чем у AD ADuC-8XX), куча полезных фич (например, почти произвольное переназначение ног), и при этом они предельно просты и дешевы в освоении - полный комплект для работы на С из демоборда с In-Circuit программатором/внутрисхемным отладчиком, без каких-либо ограничений или "урезаний", при использовании SDCC укладывается в $120, а "бюджетный" - когда вместо демоплаты покупается USB Tool Stick - всего около $30.
Это пожалуй, единственный вариант, позволяющий среднему любителю "стартовать" с нуля на С вообще без посторонней помощи, при этом одновременно получив в руки не урезанный инструментарий (причем пригодный не только для процессоров от Silabs, но и других X51, а также HC08 и отчасти мелких PIC - 16F84, 18F452). Ну и еще при освоении немаловажно то, что кода и готовых библиотек для X51 написано, пожалуй, больше, чем для любых других контроллеров.
Offтопик:
Силабсы, кстати, еще и вполне экономичны по критерию мощность потребления/производительность, сравнимы с MSP430. И достаточно быстры практически для всех "любительских" применений - при тактовой 50 реально получается порядка 33-38 MIPS (не DMIPS, конечно). Есть и 100-МГц чипы.
Если говорить про популярные 32-битники, то обычные ARM7/ARM9 для систем жесткого управления аппаратурой не слишком хороши (нет жестких времен выполнения кода и выдачи сигналов на ножки, не особо быстрая реакция на прерывания и пр.). Идеальный вариант для задач управления - процы MIPS (в контроллерном виде - PIC32) или очень похожая на них SH-серия контроллеров от Renesas (мировой лидер).
Но если смотреть в сторону 32-битных процов, то наиболее легко сейчас доступны переработанные под задачи управления "железом" версии ARM7 - CortexM0/M3 (ST STM32, NXP LPC11XX, LPC13XX, LPC17XX etc). Их делают несколько фирм, соответственно есть конкуренция, что обеспечивает богатый выбор и невысокие цены. В перспективе эта архитектура, скорее всего, окажется наиболее востребованной.
p.s. Для Cortex от NXP недавно появился очень дешевый (~$30) вариант (cпасибо -=KiV=- за указание). Суть дела в том, что для LPC11XX и LPC13XX недавно стали доступны средства программирования и отладки серии LPCEXPRESSO http://ics.nxp.com/lpcxpresso/, по конструкции похожие на упомянутый выше Tool Stick. Ограничения, накладываемые в поставляемом софте на размер компилируемого и отлаживаемого кода (32...128K) - для любительских целей IMHO несущественны.
Социальные закладки