Это платка STM32F429I-DISC1, с версией отладчика ST-LINK/V2-B (Mbed Enabled, т. е. совместимая со средой проектирования Arm® Mbed online [4]). На ней установлен микроконтроллер STM32F429ZIT6 в 144-выводном корпусе LQFP. На плате есть отладчик ST-LINK/V2 или ST-LINK/V2-B, кнопка сброса, кнопка пользователя, индикационные светодиоды, коннектор USB OTG, гироскоп ST-MEMS, акселерометр, магнитометр, различные коннекторы и перемычки.
Вот так выглядит плата STM32F429 Discovery (STM32F429-DISC1):
Рис. 2. Блок-схема аппаратного устройства STM32F429 Discovery.
Драйвер для ST-LINK/V2 (или V2-B) можно скачать на сайте st.com. Я скачал STSW-LINK009 (en.stsw-link009.zip), нужен логин (у меня была регистрация).
ST-LINK работает через miniUSB коннектор CN1 USB ST-LINK. После подключения к нему кабеля на компьютере кроме отладчика ST-Link Debug также появляется виртуальный COM-порт. Этот виртуальный COM-порт реализован на дополнительном маленьком микроконтроллере U2 STM32F103CBT6GH23Z (на нем же реализован и отладчик ST-Link). Сигналы UART U2 pin 12 (ST-LINK_TX) b pin 13 (ST-LINK_RX) соединяются с STM32F429 USART1 (PA9, PA10) для поддержки Mbed через мостики припоя SB11 и SB15.
Примечание: функции мостиков припоя платки STM32F429 Discovery см. в таблице 5 далее. Описание отладки через ST_Link можно посмотреть в документе UM1075 [3].
• Интерфейс Virtual COM через коннектор через коннектор CN1 USB ST-LINK. • Интерфейс к устройству хранения (Mass storage) через USB.
Особенности ST-LINK/V2-B:
• Интерфейс SWIM не поддерживается. • Минимальное поддерживаемое напряжение питания ограничено 3V. • Запрос по управлению питанием USB требует тока больше 100 mA.
Известное ограничение: активация защиты кода на целевом процессоре (readout protection) ST-LINK/V2-B, запрещает последующий запуск целевого приложения. Поэтому функция защиты readout protection должна быть отключена на платах ST-LINK/V2-B.
Есть два способа использовать ST-LINK/V2-B, в зависимости от состояния перемычек (см. таблицу 3):
• Программирование/отладка процессора платы STM32F429 Discovery, см. далее раздел "Использование STLINK/V2 (или V2-B) для программирования/отладки STM32F429ZIT6". • Программирование/отладка внешней платы, используя кабель, подключенный к коннектору CN2 SWD (см. секцию 6.3.5: "Using ST-LINK/V2 (or V2-B) to program/debug an external STM32 application" даташита [1]).
Таблица 3. Состояния перемычек CN4 отладчика ST-LINK.
Состояние перемычек
Описание
Обе перемычки CN4 установлены
Функции отладчика ST-LINK/V2 (или V2-B) разрешены для программирования/отладки микроконтроллера STM32F429ZIT6 на плате (по умолчанию).
Обе перемычки CN4 сняты
Отладчик ST-LINK/V2 (или V2-B) разрешен для программирования/отладки внешних устройств через коннектор CN3 (микроконтроллеров, поддерживающих интерфейс отладки SWD).
Демонстрационное ПО, примеры кода есть на страничке www.st.com/stm32f4-discovery. Разработку программ лучше всего начать с готовых примеров проектов. STM32F429 Discovery поддерживают следующие средства разработки:
• Keil® MDK-ARM (только на Windows). • IAR® EWARM (только на Windows). • GCC-based IDE, включая бесплатное SW4STM32 от AC6. • Arm® Mbed online [4].
[Использование STLINK/V2 (или V2-B) для программирования/отладки STM32F429ZIT6]
Чтобы запрограммировать STM32F429ZIT6, установленный на плате STM32F429 Discovery, просто установите обе перемычки CN4, как показано на рис. 7 (выделены красными прямоугольниками). Однако не используйте при этом коннектор CN2, потому что это нарушит связь отладчика ST-Link с процессором STM32F429ZIT6 платы STM32F429 Discovery.
Рис. 7. Состояние перемычек платы STM32F429 Discovery для отладки встроенного процессора через ST-Link.
Для отладки внешних устройств с помощью ST-LINK (через коннектор CN2 SWD) обе перемычки CN4 должны быть сняты.
[Варианты питания платы STM32F429 Discovery]
Питание может быть подано либо от USB-хоста PC через коннектор CN1 ST-LINK, либо от внешнего источника питания 5V.
Шины питания 5V и 3V выведены соответственно на выводы коннекторов расширения P1 и P2. Диоды D1 и D2 защищают выводы 5V и 3V от внешних источников питания:
• 5V и 3V можно использовать как выходы для подачи питания на другие платы, подключенные к коннекторам расширения P1 и P2. В этом случае потребление от 5V и 3V не должно превышать 100 mA.
• 5V и 3V можно использовать как входы питания, например когда коннекторы USB не подключены к PC. В этом случае плата STM32F429 Discovery должна получать питания от внешнего источника.
Примечание: питание на плату также можно подать через коннектор CN6 USB USER, и он защищен диодами D4 и D5, когда подключены оба разъема USB (в этом случае напряжение питания 5V составит около 4.4V).
[Светодиоды]
• LD1 COM: по умолчанию он светится красным, и переходит на зеленый, чтобы показать обмен данными между PC и ST-LINK/V2.
• LD2 PWR: светится красным, когда на плату подано питание.
• User LD3: зеленый светодиод, свечением которого может управлять пользователь через GPIO порт PG13 микроконтроллера STM32F429ZIT6.
• User LD4: красный светодиод, свечением которого может управлять пользователь через GPIO порт PG14 микроконтроллера STM32F429ZIT6.
• User LD5: зеленый светодиод, показывающий присутствие напряжения VBUS на коннекторе CN6 USB USER. Также уровень VBUS соединяется с GPIO портом PB13 микроконтроллера STM32F429ZIT6.
• User LD6: красный светодиод, показывающий превышение предельного тока от VBUS коннектора CN6 (ток, потребляемый подключенным к CN6 устройством USB). Светодиод LD6 подключен к GPIO порту PC5 микроконтроллера STM32F429ZIT6.
[Кнопки]
• B1 USER: кнопка пользователя, состояние которой можно опрашивать программно. Подключена к GPIO PA0 микроконтроллера STM32F429ZIT6.
• B2 RESET: кнопка подает импульс на NRST, используется для сброса (RESET) микроконтроллера STM32F429ZIT6.
[Поддержка USB OTG]
STM32F429ZIT6 поддерживает на этой плате только скорость full speed для USB OTG. Коннектор USB Micro-AB (CN6 USB USER) позволяет подключить либо хост USB (компьютер PC), либо устройство USB (мышь, клавиатура и т. д.). Состояние CN6 USB USER отображают светодиоды LD5 и LD6 (см. выше раздел "Светодиоды").
[Гироскоп]
Гироскоп MEMS (ST-MEMS L3GD20) это сверхкомпактный, мало потребляющий энергию, датчик изменения угла по трем осям координат (three-axis angular rate sensor). Включает чувствительный элемент и интерфейс I2C/SPI, предоставляя данные ускорения по трем осям координат. L3GD20 имеет полную шкалу ±245/±500/±2000 dps и может измерять угловые ускорения с полосой, выбираемой пользователем.
STM32F429ZIT6 управляет этим датчиком движения через интерфейс SPI.
[TFT LCD]
TFT LCD это экранчик с диагональю 2.41 дюйма, отображающий картинку в 262K цветов с разрешением QVGA (240 x 320 точек). LCD содержит контроллер ILI9341 и напрямую управляется от STM32F429ZIT6 по протоколу RGB. Напряжение питания контроллера ILI9341 2.8V ±0.3V.
[64-мегабит SDRAM (1 мегабит x 16 бит x 4 банка)]
Микросхема памяти IS42S16400J высокоскоростное динамическое ОЗУ (CMOS SDRAM), разработанное для питания от 3.3V. Оно содержит 67108864 бит ячеек памяти, сконфигурированные как 4 банка DRAM с синхронным интерфейсом. В каждом банке находится 16777216 бит, организованные как 4096 строк на 256 столбца по 16 бит. SDRAM включает функцию автообновления данных (auto-refresh), режимы пониженного энергопотребления и выключения (power-saving и power-down). Все сигналы регистрируются микросхемой SDRAM по положительному перепаду тактового сигнала CLK. STM32F429ZIT6 читает и записывает данные SDRAM на частоте 80 МГц.
[JP3 Idd]
Перемычка JP3 дает возможность измерить потребление тока STM32F429ZIT6. Для этого надо снять перемычку и подключить к её контактам миллиамперметр.
[Тактирование]
Основное тактирование (OSC clock). Следующая информация показывает все конфигурации для выбора тактирования платы.
• MCO от ST-LINK (от MCO STM32F429ZIT6). Эта частота не может быть изменена, она зафиксирована на 8 МГц, и подключена к ножке PH0-OSC_IN STM32F429ZIT6. Для этой конфигурации необходимо:
– Замкнуть SB18, разомкнуть SB19, выпаять R56. – SB20, R57, C20, C21, X3 = не имеет значения.
• Генератор на плате (от кварца X3). Для типовых частот и соответствующих им номиналов емкостей и резисторов обратитесь к даташиту на микроконтроллер STM32F429ZIT6. Для этой конфигурации необходимо:
• Тактирование от внешнего PH0 (внешний генератор, подключенный к контакту 10 коннектора P2). Для этой конфигурации необходимо:
– Замкнуть SB19, разомкнуть SB18, выпаять R56. – SB20, R57, C20, C21, X3 = не имеет значения.
• Без внешнего генератора (используется внутренний генератор HSI микроконтроллера STM32F429ZIT6). В этом случае ножки PH0 и PH1 можно использовать как порты GPIO. Для этой конфигурации необходимо:
– Разомкнуть SB18, замкнуть SB19 и SB20, выпаять R56 и R57. – C20, C21, X3 = не имеет значения.
Такты OSC 32 кГц. Следующая информация показывает все конфигурации для выбора тактов 32 кГц.
• Генератор на плате (от кварца X2, который по умолчанию не запаян). Для этой конфигурации необходимо:
• Генератор, подключенный к PC14 (внешний генератор, выход которого подан на вывод 9 коннектора P1). Для этой конфигурации необходимо:
– Замкнуть SB16, выпаять R53. – SB17, R54, C23, C24, X2 = не имеет значения.
• Без внешнего генератора (в этом случае ножки PC14 и PC15 могут использоваться как GPIO). Для этой конфигурации необходимо:
– Замкнуть SB16 и SB17, выпаять R53 и R54. – C23, C24, X2 = не имеет значения.
[Мостики припоя SBx]
Таблица 5. Назначение мостиков припоя (перемычек). Жирным шрифтом показаны состояния мостиков по умолчанию. OFF-разомкнуто, ON - замкнуто.
Мостик
Состояние
Версия ST-LIJNK
SB19, SB20 (кварц X3)
OFF
Тактирование предоставляется с помощью компонентов X3, C20, C21, R56 и R57, PH1 отключен от P2.
ON
PH0, PH1 подключены к P2. Следует выпаять только R56 и R57.
SB4, SB6, SB8, SB14 (по умолчанию)
ON
Зарезервировано, менять не следует.
SB3, SB5, SB7, SB13 (зарезервировано)
OFF
Зарезервировано, менять не следует.
SB22, SB23, SB24, SB25
OFF
Зарезервировано, менять не следует.
SB16, SB17 (часовой кварц X2)
OFF
Тактовая частота 32.768 кГц предоставляется с помощью X2, C23, C24, R53 и R54. PC14, PC15 не подключены к P2.
ON
PC14, PC15 подключены только к P2. Выпаяйте только R53 и R54.
SB1 (B2-RESET)
ON
Кнопка B2 подключена к ножке NRST микроконтроллера STM32F429ZIT6.
OFF
Кнопка B2 отключена от ножки NRST микроконтроллера STM32F429ZIT6.
SB2 (B1-USER)
ON
Кнопка B1 подключена к ножке порта PA0.
OFF
Кнопка B1 отключена от ножки порта PA0.
SB11, SB15 (RX, TX)
OFF
STM32F429 USART1 не подключен к ST-LINK, поэтому VCP запрещен (конфигурация по умолчанию 32F429IDISCOVERY).
ON
STM32F429 USART1 подключен к ST-LINK, VCP разрешен (конфигурация по умолчанию STM32F429I-DISC1).
SB12 (NRST)
ON
Сигнал NRST коннектора CN2 подключен к ножке NRST микроконтроллера STM32F429ZIT6.
OFF
Сигнал NRST не подключен.
SB9 (SWO)
OFF
Сигнал SWO не подключен.
ON
Сигнал SWO коннектора CN3 подключен к PB3.
SB10 (STM_RST)
OFF
Нет влияния на сигнал NRST микроконтроллера STM32F429ZIT6.
ON
Сигнал NRST микроконтроллера STM32F429ZIT6 подключен к GND.
SB21 (BOOT0)
ON
Сигнал BOOT0 STM32F429ZIT6 установлен на лог. 0 через подтягивающий резистор 510 Ом (pull-down).
OFF
Сигнал BOOT0 микроконтроллера STM32F429ZIT6 установлен на уровень лог. 1 через подтягивающий резистор 10 кОм (pull-up). Этот резистор не установлен.
SB26, SB27 (USB OTG)
OFF
PB14 и PB15 используются только для USB OTG, и не подключен к P2 (чтобы избежать лишних наводок).
ON
PB14 и PB15 подключены к P2.
SB18 (MCO)
OFF
Сигнал MCO микроконтроллера STM32F429ZIT6 не используется.
ON
Тактовый сигнал MCO от микроконтроллера STM32F429ZIT6 подключен к OSC_IN STM32F429ZIT6.
[Коннекторы расширения]
Через коннекторы P1 и P2 "папа" к плате STM32F429 Discovery можно подключать другие платы и устройства. На выводы этих коннекторов подключены порты GPIO микроконтроллера STM32F429ZIT6. Сигналы на контактах P1 и P2 можно наблюдать осциллографом, логическим анализатором или вольтметром.
Таблица 6. Выводы STM32F429ZIT6, контакты P1, P2 и соответствующие функции.
Ножка STM32
Коннекторы, функции платы
Функция
LQFP144
P1
P2
CN2
CN3
CN6
Периф. устройства, функции системы
BOOT0
138
21
-
-
-
-
BOOT0
NRST
25
-
12
5
-
-
NRST, сигнал сброса RESET для LCD-TFT, LCD-RGB, LCD-SPI, подключено к кнопке сброса B2.
PA0
34
-
18
-
-
-
Подключено к кнопке пользователя B1.
PA1
35
-
17
-
-
-
INT1
PA2
36
-
20
-
-
-
INT2
PA3
37
-
19
-
-
-
DB3 сигнал LCD-TFT, B5 сигнал LCD-RGB.
PA4
40
-
22
-
-
-
Сигнал VSYNC для LCD-TFT и LCD-RGB.
PA5
41
-
21
-
-
-
PA6
42
-
24
-
-
-
DB6 сигнал LCD-TFT, G2 сигнал LCD-RGB.
PA7
43
-
23
-
4
-
I2C_EXT_RST внешнего I2C.
PA8
100
53
-
-
3
-
Сигнал SCL внешнего I2C и тачскрина.
PA9
101
52
-
-
-
-
USART1_TX порта VCP.
PA10
102
51
-
-
-
-
USART1_RX порта VCP.
PA11
103
50
-
-
-
-
DB14 сигнал LCD-TFT, R4 сигнал LCD-RGB.
PA12
104
49
-
-
-
-
DB15 сигнал LCD-TFT, R5 сигнал LCD-RGB.
PA13
105
48
-
4
-
-
Сигнал интерфейса отладчика SWDIO.
PA14
109
47
-
2
-
-
Сигнал интерфейса отладчика SWCLK.
PA15
110
46
-
-
-
-
INT, сигнал тачскрина.
PB0
46
-
28
-
-
-
DB13 сигнал LCD-TFT, R3 сигнал LCD-RGB.
PB1
47
-
27
-
-
-
DB16 сигнал LCD-TFT, R6 сигнал LCD-RGB.
PB2
48
-
30
-
-
-
BOOT1
PB3
133
28
-
6
-
-
Сигнал интерфейса отладчика SWO.
PB4
134
25
-
-
-
-
PB5
135
26
-
-
-
-
SDCKE1 сигнал SDRAM.
PB6
136
23
-
-
-
-
SDNE1 сигнал SDRAM.
PB7
137
24
-
-
-
-
PB8
139
19
-
-
-
-
DB4 сигнал LCD-TFT, B6 сигнал LCD-RGB.
PB9
140
20
-
-
-
-
DB5 сигнал LCD-TFT, B7 сигнал LCD-RGB.
PB10
69
-
48
-
-
-
DB8 сигнал LCD-TFT, G4 сигнал LCD-RGB.
PB11
70
-
47
-
-
-
DB9 сигнал LCD-TFT, G5 сигнал LCD-RGB.
PB12
73
-
50
-
-
4
ID USB.
PB13
74
-
49
-
-
1
VBUS USB, зеленый светодиод.
PB14
75
-
52(1)
-
-
2
DM USB.
PB15
76
-
51(1)
-
-
3
DP USB.
PC0
26
-
14
-
-
-
SDNWE сигнал SDRAM.
PC1
27
-
13
-
-
-
CS гироскопа L3GD20.
PC2
28
-
16
-
-
-
Сигнал CSX для LCD-TFT, LCD-RGB и LCD-SPI.
PC3
29
-
15
-
-
-
PC4
44
-
26
-
-
-
PSO USB.
PC5
45
-
25
-
-
-
QC USB, красный светодиод.
PC6
96
57
-
-
-
-
Сигнал HSYNC для LCD-TFT и LCD-RGB.
PC7
97
56
-
-
-
-
DB10 сигнал LCD-TFT, G6 сигнал LCD-RGB.
PC8
98
55
-
-
-
-
PC9
99
54
-
-
1
-
Сигнал SDA для внешнего I2C и для тачскрина.
PC10
111
45
-
-
-
-
DB12 сигнал LCD-TFT, R2 сигнал LCD-RGB.
PC11
112
44
-
-
-
-
PC12
113
43
-
-
-
-
PC13
7
12
-
-
-
-
PC14
8
9
-
-
-
-
OSC32_IN
PC15
9
10
-
-
-
-
OSC32_OUT
PD0
114
42
-
-
-
-
D2 сигнал SDRAM.
PD1
115
41
-
-
-
-
D3 сигнал SDRAM.
PD2
116
40
-
-
-
-
PD3
117
39
-
-
-
-
DB11 сигнал LCD-TFT, G7 сигнал LCD-RGB.
PD4
118
38
-
-
-
-
PD5
119
37
-
-
-
-
PD6
122
36
-
-
-
-
DB0 сигнал LCD-TFT, B2 сигнал LCD-RGB.
PD7
123
35
-
-
-
-
PD8
77
-
54
-
-
-
D13 сигнал SDRAM.
PD9
78
-
53
-
-
-
D14 сигнал SDRAM.
PD10
79
-
56
-
-
-
D15 сигнал SDRAM.
PD11
80
-
55
-
-
-
TE сигнал LCD-TFT.
PD12
81
-
58
-
-
-
RDX сигнал LCD-TFT.
PD13
82
-
57
-
-
-
WRX сигнал LCD-TFT, DCX сигнал LCD-SPI.
PD14
85
-
60
-
-
-
D0 сигнал SDRAM.
PD15
86
-
59
-
-
-
D1 сигнал SDRAM.
PE0
141
17
-
-
-
-
NBL0 сигнал SDRAM.
PE1
142
18
-
-
-
-
NBL1 сигнал SDRAM.
PE2
1
15
-
-
-
-
PE3
2
16
-
-
-
-
PE4
3
13
-
-
-
-
PE5
4
14
-
-
-
-
PE6
5
11
-
-
-
-
PE7
58
-
37
-
-
-
D4 сигнал SDRAM.
PE8
59
-
40
-
-
-
D5 сигнал SDRAM.
PE9
60
-
39
-
-
-
D6 сигнал SDRAM.
PE10
63
-
42
-
-
-
D7 сигнал SDRAM.
PE11
64
-
41
-
-
-
D8 сигнал SDRAM.
PE12
65
-
44
-
-
-
D9 сигнал SDRAM.
PE13
66
-
43
-
-
-
D10 сигнал SDRAM.
PE14
67
-
46
-
-
-
D11 сигнал SDRAM.
PE15
68
-
45
-
-
-
D12 сигнал SDRAM.
PF0
10
7
-
-
-
-
A0 сигнал SDRAM.
PF1
11
8
-
-
-
-
A1 сигнал SDRAM.
PF2
12
5
-
-
-
-
A2 сигнал SDRAM.
PF3
13
6
-
-
-
-
A3 сигнал SDRAM.
PF4
14
3
-
-
-
-
A4 сигнал SDRAM.
PF5
15
4
-
-
-
-
A5 сигнал SDRAM.
PF6
18
-
3
-
-
-
PF7
19
-
6
-
-
-
DCX сигнал LCD-TFT.
PF8
20
-
5
-
-
-
SCK сигнал LCD-SPI и L3GD20.
PF9
21
-
8
-
-
-
SDA сигнал LCD-TFT, SDI/SDO сигнал LCD-SPI и MOSI сигнал L3GD20.
PF10
22
-
7
-
-
-
ENABLE сигнал LCD-TFT, DE сигнал LCD-RGB.
PF11
49
-
32
-
-
-
SDNRAS сигнал SDRAM.
PF12
50
-
31
-
-
-
A6 сигнал SDRAM.
PF13
53
-
34
-
-
-
A7 сигнал SDRAM.
PF14
54
-
33
-
-
-
A8 сигнал SDRAM.
PF15
55
-
36
-
-
-
A9 сигнал SDRAM.
PG0
56
-
35
-
-
-
A10 сигнал SDRAM.
PG1
57
-
38
-
-
-
A11 сигнал SDRAM.
PG2
87
-
62
-
-
-
PG3
88
-
61
-
-
-
PG4
89
62
-
-
-
-
BA0 сигнал SDRAM.
PG5
90
61
-
-
-
-
BA1 сигнал SDRAM.
PG6
91
60
-
-
-
-
DB17 сигнал LCD-TFT, R7 сигнал LCD-RGB.
PG7
92
59
-
-
-
-
DOTLCK сигнал LCD-TFT, CLK сигнал LCD-RGB.
PG8
93
58
-
-
-
-
SDCLK сигнал SDRAM.
PG9
124
33
-
-
-
-
PG10
125
34
-
-
-
-
DB7 сигнал LCD-TFT, G3 сигнал LCD-RGB.
PG11
126
31
-
-
-
-
DB1 сигнал LCD-TFT, B3 сигнал LCD-RGB.
PG12
127
32
-
-
-
-
DB2 сигнал LCD-TFT, B4 сигнал LCD-RGB.
PG13
128
29
-
-
-
-
Пользовательский зеленый светодиод.
PG14
129
30
-
-
-
-
Пользовательский красный светодиод.
PG15
132
27
-
-
-
-
SDNCAS сигнал SDRAM.
PH0
23
-
10
-
-
-
OSC_IN
PH1
24
-
9
-
-
-
OSC_OUT
-
-
22
-
-
-
-
Питание VDD.
-
-
-
1
-
5
-
Питание 3V.
-
-
-
2
-
-
-
-
-
1
-
-
8
-
Питание 5V.
-
-
2
-
-
-
-
-
-
63
11
3
7
5
GND
-
-
64
29
-
-
-
-
-
-
63
-
-
-
-
-
-
-
-
-
-
Примечания:
(1) Если перемычка SB27 замкнута. (2) Если перемычка SB26 замкнута.