Skip to content

board_olimex_pinguino_mx220_ru

Serge Vakulenko edited this page Aug 26, 2015 · 1 revision

Плата Pinguino-MX220 (schematics, manual) представляет собой простую отладочную платформу, совместимую с Arduino, но построенную на основе 32-битного микроконтроллера Microchip PIC32MX220 с архитектурой MIPS.

Основные характеристики:

  • Микроконтроллер PIC32MX320F032D с частотой 40 MHz (архитектура MIPS)
  • 28 сигналов ввода-вывода общего назначения
  • Совместимость с платами расширения Arduino
  • Порт miniUSB
  • Разъем внешнего питания
  • Питание от USB или от внешней литиевой батареи 3.7V
  • Два программно-управляемых светодиода
  • Кнопка Reset
  • Программно-управляемая кнопка
  • Разъем 2x5 для подключения внешней периферии в стандарте Olimex UEXT

Память:

  • 32 кбайт памяти программ (Flash)
  • 3 кбайт дополнительной Flash-памяти для загрузчика
  • 8 кбайт памяти данных (RAM)

Цифровые выходы обеспечивают ток до 18 mA. Имеется богатый набор периферийных функций: UART, SPI, I2C, ADC, таймеры. Опорный кварц 8 MHz. Питать плату можно от miniUSB, или от внешней батареи 3.7V.

Сигналы

Разъемы Digital CON5, CON4

Signal PIC32
AREF --
GND --
D13 RB15 - LED1, SCK2
D12 RB13
D11 RB5
D10 RA1
D9 RA10 - LED2, TMS
D8 RB7 - кнопка
D7 RC7
D6 RC6
D5 RC5
D4 RC4
D3 RC3
D2 RC2
D1 RC9
D0 RC8

Разъем Analog

Signal PIC32 Analog Input
A0 RC0 AN6
A1 RC1 AN7
A2 RB0 AN2
A3 RB1 AN3
A4 RB2 - SDA2 AN4
A5 RB3 - SCL2 AN5

Разъем UEXT

Pin Signal PIC32
1 +3.3v --
2 GND --
3 U1TX RB4
4 U1RX RA4
5 SCL1 RB8
6 SDA1 RB9
7 SDI1 RA8 - TDO
8 SDO1 RA9 - TDI
9 SCK1 RB14
10 /CS RA7 - TCK

Разъем питания

Signal Function
RST MCLR
3V3 VCC +3.3
5V0 VCC +5.0
GND GND
GND GND
VIN External supply voltage

Сигналы UART, SPI и I2C

Следующие периферийные блоки можно программным способом назначить на любые сигналы ввода-вывода.

  • UART1: сигналы U1RX, U1TX
  • UART2: сигналы U2RX, U2TX
  • SPI1: сигналы SDI1, SDO1
  • SPI2: сигналы SDI2, SDO2
SPI I2C PIC32 Connector
SCK1 -- RB14 9 - UEXT
SCK2 -- RB15 D13 - Digital
-- SDA2 RB2 A4 - Analog
-- SCL2 RB3 A5 - Analog
-- SDA1 RB9 6 - UEXT
-- SCL1 RB8 5 - UEXT

Светодиоды

LED PIC32 Signal
LED1 зеленый RB15 D13 - Digital
LED2 красный RA10 D9 - Digital

Порт JTAG

JTAG PIC32 Signal
TMS - синий RA10 D9 - Digital
TCK - зеленый RA7 /CS - UEXT 10
TDO - желтый RA8 SDI1 - UEXT 7
TDI - красный RA9 SDO1 - UEXT 8

Графический дисплей LCD4884

Характеристики:

  • Графический дисплей 84x48 типа Nokia 5110 (на Amazon.com, на SainSmart.com.
  • Интерфейс SPI, совместимый с Philips PCD8544
  • 5-кнопочный джойстик с вводом через аналоговый сигнал A0.
  • Кнопка Reset
  • Управление подсветкой
Signal Function PIC32
D2 SPI_SCK RC2
D3 SPI_MOSI RC3
D4 LCD_DC RC4
D5 SPI_CS RC5
D6 LCD_RST RC6
D7 LCD_BL RC7
A0 KEY_IN RC0 - AN6

Примеры uOS

В каталоге examples/mips-pinguino-mx220 находятся примеры сборки uOS для Pinguino-mx220. Их можно скомпилировать командой "make".

  • test-leds.hex - Проверка светодиодов основной платы.
  • test-lcd.hex - Проверка вывода на графический дисплей и джойстика.
  • test-task.hex - Проверка формирования задач.
  • test-timer.hex - Проверка драйвера таймера.
  • philosophers.hex - Пять обедающих философов.
  • tetris.hex - Игра "Тетрис".

test-leds.c

  • Проверка светодиодов основной платы. Микроядро отсутствует. Программа поочередно мигает двумя светодиодами.

test-lcd.c

  • Проверка драйвера графического индикатора. Микроядро отсутствует. Программа выдаёт на экран LCD текст, рисует прямоугольники и окружности. Кнопками LEFT и RIGHT можно переключать варианты теста, кнопкой DOWN отключать подсветку, кнопкой UP регулировать контраст.

test-task.c

  • Проверка переключения задач. Одна задача пользователя, циклически печатающая свой общий размер стека и размер свободной части, затем ждущая нажатия клавиши. Вывод производится на экран LCD.

test-timer.c

  • Проверка драйвера таймера. Одна задача: программа пользователя, которая выдаёт на экран LCD время в минутах и секундах с момента старта системы.

philosophers.c

tetris.c

  • Игра "Тетрис" на экране LCD. Микроядро uOS не используется. Кнопка LEFT вращает падающую фигуру, кнопки UP и DOWN сдвигают её влево-вправо, кнопка RIGHT роняет фигуру. При заполнении стакана игра начинается заново.

Текстовый дисплей 1602 LCD

Характеристики:

  • Текстовый дисплей 16x2 стандартного типа (на Amazon.com, на SainSmart.com).
  • Параллельный интерфейс Hitachi HD44780
  • 5 кнопок управления
  • Кнопка Reset
  • Управление подсветкой
  • Ручная подстройка контраста

Принципиальная схема: PDF.

Исходно плата рассчитана на работу с 5-вольтовым интерфейсом Arduino. Чтобы переделать ее на +3.3V для PIC32, надо выкусить резистор 2кОм, расположенный над кнопкой Reset, и впаять резистор 2кОм между левой стороной кнопки Right и +3.3V - второй слева ножкой разъема питания.

Signal Function PIC32
D4 LCD_DB4 RC4
D5 LCD_DB5 RC5
D6 LCD_DB6 RC6
D7 LCD_DB7 RC7
D8 LCD_RS RB7
D9 LCD_E RA10
D10 LCD_BL RA1
A0 KEY_IN RC0

Примеры uOS

test-lcd2.c

  • Проверка драйвера текстового индикатора. Микроядро отсутствует. Программа выдаёт на экран LCD список всех символов, разбитый на "страницы". Кнопками LEFT и RIGHT можно переключать страницы, кнопкой SELECT перерисовывать текущую страницу. Кнопка UP стирает экран. Кнопка DOWN прокручивает длинную строку.
You can’t perform that action at this time.