
Как начать работать Ñ Microchip PIC32?
1. ПредÑказуемые вопроÑÑ‹ и ответы
Заранее отвечаю:
ВопроÑ: Рпочему бы школьникам и младшим Ñтудентам не иÑпользовать клаÑÑичеÑкий Ðрдуино?
Ответ: Микроконтроллер AVR в клаÑÑичеÑком Ðрдуино 8-битный, а Microchip PIC32 – 32-битный. PIC32 в неÑколько раз быÑтрее, чем 8-битный AVR, у PIC32 гораздо больше памÑти, он позволÑет пиÑать более интереÑные программы. Кроме Ñтого, опыт Ñ Ð¾Ñнованным на Ñдре MIPS M4K микроконтроллером PIC32 может быть иÑпользован при работе Ñ Ñтаршими Ñдрами MIPS, которые иÑпользуютÑÑ Ð² планшетах и Ñетевых уÑтройÑтвах.
ВопроÑ: Рпочему бы школьникам и младшим Ñтудентам не иÑпользовать Ðрдуино-подобную ÑиÑтему разработки MPIDE вмеÑто MPLAB X, иÑпользуемой в инÑтрукции?
Ответ: MPIDE – Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ ÑÐ»ÐµÐ³Ð°Ð½Ñ‚Ð½Ð°Ñ ÑиÑтема Ð´Ð»Ñ ÑˆÐºÐ¾Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð², хоббиÑтов, людей которые не любÑÑ‚ читать документацию, а также инженеров, которым нужно ÑмаÑтерить что-то небольшое быÑтренько. MPLAB X – макÑимально Ð³Ð¸Ð±ÐºÐ°Ñ Ð¿Ñ€Ð¾Ñ„ÐµÑÑÐ¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ ÑиÑтема, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ веÑÑŒ Ñпектр возможноÑтей, предоÑтавлÑемых PIC32. С моей точки зрениÑ, разница в уровне ÑложноÑти Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° работы Ñ MPIDE и MPLAB X недоÑтаточно велика, чтобы Ñначала учить MPIDE, а потом – MPLAB X. ЕÑли в конечном итоге человек ÑобираетÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ профеÑÑиональные навыки, лучше Ñразу начинать Ñ MPLAB X. ЕÑли же целью ÑвлÑетÑÑ Ñкажем научить программированию микроконтроллеров гуманитариев, то лучше иÑпользовать MPIDE и на нем оÑтаватьÑÑ.
ВопроÑ: Рзачем вы работаете Ñ ÑƒÑтройÑтвами ввода вывода прÑмо через региÑтры? Вот, Ñ Ð½Ð°ÑˆÐµÐ» в интернете библиотеку ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ SPI/UART/I2C и Ñ‚.д.
Ответ: Одна из целей данного ÑƒÐ¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ – научить работать именно на голом железе, без библиотек ввода-вывода. Ðто полезно не только Ð´Ð»Ñ Ð±ÑƒÐ´ÑƒÑ‰Ð¸Ñ… пиÑателей драйверов, но и Ð´Ð»Ñ Ñ‚ÐµÑ…, кто хочет научитьÑÑ Ð´ÐµÐ»Ð°Ñ‚ÑŒ ÑиÑтемы, ÑоÑтоÑщие из хардвера и Ñофтвера.
ВопроÑ: Рпочему вы иÑпользуете плату Cerebot MX3cK Ñ ÑƒÑтройÑтвами ввода-вывода Digilent Pmod, а не chipKit Uno32 c chipKit Basic I/O Shield, которую вы Ñами же рекомендуете Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² школах и вузах?
Ответ: Они программируютÑÑ Ð¾Ñ‡ÐµÐ½ÑŒ похоже, только пины и уÑтройÑтва ввода-вывода другие. ПуÑть примеры Ð´Ð»Ñ Uno32 Ñделают Ñами преподаватели Ð´Ð»Ñ ÑобÑтвенной практики, а их Ñтуденты не будут имет возможноÑть у Ð¼ÐµÐ½Ñ ÑпиÑывать. Uno32 лучше как универÑÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð°, чем Cerebot MX3cK, так как она ÑовмеÑтима по пинам Ñ Ðрдуино. Ð¥Ð¾Ñ‚Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„ÐµÑÑионального программиÑта вÑтроенных ÑиÑтем ценноÑть Ðрдуино-ÑовмеÑтимоÑти не очень велика, но Ð´Ð»Ñ ÑˆÐºÐ¾Ð»ÑŒÐ½Ð¸ÐºÐ¾Ð², кружковцев и гуманитариев Ñто предоÑтавлÑет возможноÑть иÑпользовать MPIDE и Arduino Shields. Иными Ñловами, Uno32 подходит и Ð´Ð»Ñ Ð¾Ð±ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ„ÐµÑÑионалов, и Ð´Ð»Ñ Ð¾Ð±ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐ¿Ñ€Ð¾Ñ„ÐµÑÑионалов, а Cerebot MX3cK Ð´Ð»Ñ Ð½ÐµÐ¿Ñ€Ð¾Ñ„ÐµÑÑионалов менее удобен.
ВопроÑ: Ркак наÑчет ARM?
Ответ: ЕÑли вам хочетÑÑ Ð¿Ð¾Ñта про ARM, то напишите его Ñами.
ВопроÑ: Ркак наÑчет Intel?
Ответ:Intel x86 плохо подходÑÑ‚ Ð´Ð»Ñ Ð²Ñтроенных приложений из-за плохой метрики производительноÑть / милливатт и много другого. Intel 8051 уÑтарел и кроме Ñтого плохо привÑзываетÑÑ Ðº курÑу компьютерной архитектуры, в отличие от конвейерного MIPS M4K / Microchip PIC32. КÑтати, один роÑÑийÑкий профеÑÑор Ñказал мне, что роÑÑийÑкое МиниÑтерÑтво ÐžÐ±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÐµÑ‚ учить Ñтудентов программированию микроконтроллеров иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÑоветÑкий аналог микроконтроллера Intel 8048 (предшеÑтвенника 8051) 😎
ВопроÑ: Ðто что, и еÑть FPGA / ПЛИС?
Ответ: Ðе, Ñто не имеет никакого Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ðº FPGA / ПЛИС-ам. Ðтот поÑÑ‚ про программирование, вÑтроенные Ñофтвер. ИÑпользование FPGA / ПЛИС – Ñто разработка хардвера, кроме ÑлучаÑ, когда процеÑÑор имплементируетÑÑ Ð½Ð° FPGA. Примерчик калькулÑтора на FPGA у Ð¼ÐµÐ½Ñ Ð±ÑƒÐ´ÐµÑ‚ в отдельном поÑте. FPGA и микроконтроллеры Ñто Ñтоль же разные материи, как конÑтруирование Ð°Ð²Ñ‚Ð¾Ð¼Ð¾Ð±Ð¸Ð»Ñ (хардвер) и его вождение (Ñофтвер).
ВопроÑ: Рможно ли Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ платой на Microchip PIC32 Ñделать не калькулÑтор, а игрушечного робота?
Ответ: Да, можно. Digilent продает набор Ð´Ð»Ñ Ð¸Ð·Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€ÑƒÑˆÐµÑ‡Ð½Ð¾Ð³Ð¾ робота, в который входит именно Ñ‚Ð°ÐºÐ°Ñ Ð¿Ð»Ð°Ñ‚Ð°, ÑенÑоры, моторчик, платформа из детÑкого конÑтруктора и колеÑики – Ñм. http://digilentinc.com/Products/Detail.cfm?NavPath=2,403,1135&Prod=SRK-LINE.
Continue reading →