![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Мне задали вопрос, какую плату для разработок на микропроцессоре PIC32 я мог бы посоветовать для начинающих. И я впал в некоторый ступор. Однозначный ответ никак не получается. В конце концов я решил составить список самых интересных из плат, с которыми я имел дело, и коротенько описать их особенности. Цена указана с сайта производителя, без учёта доставки. Все эти платы я использую для разных целей, некоторые активно, остальные время от времени. Чаще всего в дело идет Max32: к ней легко подключиться проводками. Pinguino-Micro хороша для демонстраций: крохотный Unix впечатляет.
Все перечисленные платы имеют встроенный bootloader. Прошивка делается через интерфейс USB. Для плат Uno32 и Max32 используется утилита avrdude из комплекта chipKIT MPIDE, для остальных - программа pic32prog.
1. SparkFun UBW32, или USB 32-bit whacker. Цена $40. Максимальное количество доступных для управления сигналов - 78 штук. Хорошо дружит с breadboard.

2. eflightworks PIC32 64pin on a DIP. Цена $35. Примерно как UBW32, но компактнее и меньше сигналов. Плата поставляется без bootloader, его можно взять по ссылке (http://retrobsd.googlecode.com/svn/trunk/sys/pic32/dip/boot.hex) и прошить с помощью программатора pickit2 или pickit3.

3. chipKIT Uno32. Цена $27. Совместимость с Arduino. Изготовитель поставляет бесплатную среду разработки MPIDE - расширенный вариант Arduino. Соответственно, подходит вся соответствующая литература и т.п. В отличие от других плат, порт USB здесь (и в Max32) подключен не непосредственно к PIC32, а порту UART через преобразователь FT232R. В этом есть свои плюсы и минусы. К платам Uno32 и Max32 подходят многие из ардуинных нашлёпок (shields).

4. chipKIT Max32. Цена $50. Памяти в четыре раза больше, чем в Uni32, сигналов тоже раза в два больше. На этой плате можно запустить RetroBSD, если добавить Ethernet shield R3. В остальном аналогично Uno32. Но раскладка сигналов по разъёмам у них существенно отличается, так что программной совместимости нет.

5. Olimex Duinomite. Цена €20. Совместимость с Arduino и периферийными модулями в стандарте Olimex UEXT. Много сигналов выведено на боковой 26-контактный разъём. Можно запускать RetroBSD.

6. Olimex Duinomite-Mini. Цена €20. Очень компактный размер. Есть разъёмы VGA и PS/2, для использования в качестве Basic-компьютера Maximite. Совместимость с периферийными модулями в стандарте Olimex UEXT. Много сигналов выведено на боковой 26-контактный разъём. Можно запускать RetroBSD.

7. Olimex Duinomite-Mega. Цена €30. За отдельные деньги поставляется корпус. Есть разъёмы VGA, PS/2, видео и аудио выходы для использования в качестве Basic-компьютера Maximite. Совместимость с Arduino и периферийными модулями в стандарте Olimex UEXT. Много сигналов выведено на боковой 26-контактный разъём, плюс разъём CAN. Можно запускать RetroBSD.

8. Olimex Pinguino-MX220. Цена €10. Самая дешёвая из Arduino-совместимых плат. Плюс разъём для периферийных модулей в стандарте Olimex UEXT.

9. Olimex Pinguino-Micro. Цена €13. Очень компактная и красивая плата. Мне по спец.заказу поставили микроконтроллер MX795, так что на ней даже RetroBSD идёт. Жаль, в breadboard не лезет: ножки расположены чуть шире чем надо.

10. Olimex PIC32-T795. Цена €20. Примерно как UBW32, но с разъёмом UEXT и контактами питания для breadboard.

В этот список по разным причинам не вошли: Maximite, Explorer16, USB Starter Kit, Multimedia Expansion board, MX7 Muiltimedia board, Duinomite-eMega, PIC32-Pinguino, Microstick II, nedoCPU-32.
Все перечисленные платы имеют встроенный bootloader. Прошивка делается через интерфейс USB. Для плат Uno32 и Max32 используется утилита avrdude из комплекта chipKIT MPIDE, для остальных - программа pic32prog.
1. SparkFun UBW32, или USB 32-bit whacker. Цена $40. Максимальное количество доступных для управления сигналов - 78 штук. Хорошо дружит с breadboard.

2. eflightworks PIC32 64pin on a DIP. Цена $35. Примерно как UBW32, но компактнее и меньше сигналов. Плата поставляется без bootloader, его можно взять по ссылке (http://retrobsd.googlecode.com/svn/trunk/sys/pic32/dip/boot.hex) и прошить с помощью программатора pickit2 или pickit3.

3. chipKIT Uno32. Цена $27. Совместимость с Arduino. Изготовитель поставляет бесплатную среду разработки MPIDE - расширенный вариант Arduino. Соответственно, подходит вся соответствующая литература и т.п. В отличие от других плат, порт USB здесь (и в Max32) подключен не непосредственно к PIC32, а порту UART через преобразователь FT232R. В этом есть свои плюсы и минусы. К платам Uno32 и Max32 подходят многие из ардуинных нашлёпок (shields).

4. chipKIT Max32. Цена $50. Памяти в четыре раза больше, чем в Uni32, сигналов тоже раза в два больше. На этой плате можно запустить RetroBSD, если добавить Ethernet shield R3. В остальном аналогично Uno32. Но раскладка сигналов по разъёмам у них существенно отличается, так что программной совместимости нет.

5. Olimex Duinomite. Цена €20. Совместимость с Arduino и периферийными модулями в стандарте Olimex UEXT. Много сигналов выведено на боковой 26-контактный разъём. Можно запускать RetroBSD.

6. Olimex Duinomite-Mini. Цена €20. Очень компактный размер. Есть разъёмы VGA и PS/2, для использования в качестве Basic-компьютера Maximite. Совместимость с периферийными модулями в стандарте Olimex UEXT. Много сигналов выведено на боковой 26-контактный разъём. Можно запускать RetroBSD.

7. Olimex Duinomite-Mega. Цена €30. За отдельные деньги поставляется корпус. Есть разъёмы VGA, PS/2, видео и аудио выходы для использования в качестве Basic-компьютера Maximite. Совместимость с Arduino и периферийными модулями в стандарте Olimex UEXT. Много сигналов выведено на боковой 26-контактный разъём, плюс разъём CAN. Можно запускать RetroBSD.

8. Olimex Pinguino-MX220. Цена €10. Самая дешёвая из Arduino-совместимых плат. Плюс разъём для периферийных модулей в стандарте Olimex UEXT.

9. Olimex Pinguino-Micro. Цена €13. Очень компактная и красивая плата. Мне по спец.заказу поставили микроконтроллер MX795, так что на ней даже RetroBSD идёт. Жаль, в breadboard не лезет: ножки расположены чуть шире чем надо.

10. Olimex PIC32-T795. Цена €20. Примерно как UBW32, но с разъёмом UEXT и контактами питания для breadboard.

В этот список по разным причинам не вошли: Maximite, Explorer16, USB Starter Kit, Multimedia Expansion board, MX7 Muiltimedia board, Duinomite-eMega, PIC32-Pinguino, Microstick II, nedoCPU-32.
no subject
Date: 2012-07-17 09:44 (UTC)Eсть нюанс - все эти конструкторы от MCHP логично заточены (и стекаются) под продукты MCHP, а именно - MPLAB IDE (8.xx и новый X) и их компиляторы . (Графическая библиотека в составе MAL (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784) имеет примеры и конфигурации, заточенные под все продаваемые графические модули и дисплеи с microchipdirect.com.)
Если Explorer16 может программироваться совместимым или родным Pickit2,3 ICD2,3 ICE, то Starter Kit обыкновенно имеет на борту урезанный программатор типа pickit2/3 и соответвенно драйвер в IDE для него. Другими словами - target чипы можно шить как угодно, но инструментами MCHP.
Ну и цена не всегда демократична =) Для любителей-одиночек становится неинтересно. А для даже мелкой компании безболезненно купить коробку таких игрушек и методом тыка, на примерах понять что к чему и какие возможности.
no subject
Date: 2012-07-17 21:01 (UTC)Но по поводу firmware и софта имею к уважаемой фирме несколько претензий.
1) Explorer16 имеет USB-порт со встроенным отладчиком, который поставляется без прошитого firmware. Хорошо, добрые люди уже сделали для него pickit2-совместимую прошивку (http://www.paintyourdragon.com/downloads/PK2_Explorer16_V0210007-BL.hex).
2) На плате USB Starter Kit тоже есть USB-порт с отладчиком, но ни софта, ни документации. Bootloader тоже почему-то не поставляется, приходится городить свой (http://retrobsd.googlecode.com/svn/trunk/sys/pic32/starter-kit/boot.hex).
3) Плата Microstick II имеет встроенный pickit3, но прошивка зачем-то сделана несовместимой. Лечится загрузкой прошивки от стандартного pickit3 scripting, с небольшой правкой, снимающей изначальный reset (http://vak-opensource.googlecode.com/svn/trunk/microcontrollers/ms2upgrade/pk3img020000-microstick2.hex).
4) Официальный софт для pickit2 не поддерживает pic32mx5/6/7 и mx1/2. Софт для pickit3 всё еще не поддерживает mx1/2. При том что аппаратных проблем нет, это чисто софтверно-маркетинговая заморочка.
5) Среда MPLABX всё еще нещадно глючит. В Линуксе более-менее ничего, но под Mac OS X не видит собственные драйверы, а под Windows шрифты кривеют до полной невозможности.
Поэтому софтом от Microchip я лично стараюсь не пользоваться. Благо, есть хороший GCC toolchain от chipKIT, для прошивки - pic32prog (http://code.google.com/p/pic32prog/), а для отладки я сделал свой gdb proxy, скоро выложу.
no subject
Date: 2012-07-17 22:58 (UTC)no subject
Date: 2012-07-19 20:27 (UTC)no subject
Date: 2012-07-19 21:19 (UTC)Схему можно скомбинировать из Starter Kit Expansion board (http://ww1.microchip.com/downloads/en/DeviceDoc/51950A.pdf) и Explorer16 board (http://ww1.microchip.com/downloads/en/DeviceDoc/Explorer%2016%20User%20Guide%2051589a.pdf).
no subject
Date: 2012-08-16 17:57 (UTC)http://oboguev.livejournal.com/2613791.html
Собираюсь приобрести и посмотреть на новую российскую
Date: 2013-02-16 07:58 (UTC)