МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра «Електронних обчислювальних машин»
/
КУРСОВА РОБОТА
з дисципліни «Мікропроцесорні системи»
на тему:
«Мікрокомп’ютер цифрового USB-осцилографа»
АНОТАЦІЯ
В курсовій роботі розроблений мікрокомп’ютер цифрового USB-осцилографа на базі мікроконтролера STM32F105, який призначений для вимірювання напруги та передачі результатів вимірювання через інтерфейс USB до комп’ютера.
Також поданий опис внутрішньої структури ядра мікроконтролера, його програмна модель, виводи, система команд та інші компоненти. Були розроблені схеми електрична функціональна та електрична принципова мікрокомп’ютера, на яких наведено підключення вузлів синхронізації та скиду, пам’яті і периферії.
ЗМІСТ
Початкові дані на проектування…………………………………………………..5
1.РОЗРОБКА СТРУКТУРНОЇ СХЕМИ…………………………………………..6
1.1. Функціональне призначення мікрокомп’ютера 6
1.2. Структурна схема мікрокомп’ютера 6
2.РОЗРОБКА ФУНКЦІОНАЛЬНИХ ВУЗЛІВ МІКРОКОМП’ЮТЕРА………...8
2.1. Технічні характеристики мікропроцесора 8
2.2. Функціональна блок-схема мікропроцесора 9
2.2.1.Опис основних функціональних вузлів мікропроцесора 10
2.3. Регістри мікропроцесора 16
2.4. Призначення виводів 17
2.5. Структура пам’яті 23
2.6. Система команд мікропроцесора 25
2.7. Розробка схеми електричної функціональної 26
2.8. Розробка схеми електричної принципової 29
2.8.1. Система живлення 29
2.8.2. Вузол синхронізації 29
2.8.3. Система PLL 31
2.8.4. Вузол Reset 32
2.8.5. Підключення зовнішньої пам’яті 32
2.8.6. Проектування модуля виводу 33
2.8.7. Проектування модуля вводу 35
3.РОЗРОБКА ПРОГРАМНОЇ ЧАСТИНИ МІКРОКОМП’ЮТЕРА……………36
3.1. Вибір середовища розробки ПЗ 36
3.2. Процес створення проекту за допомогою програми STM32CubeMX 37
3.3. Програма початкової ініціалізації мікрокомп’ютера 39
3.4. Драйвер вводу-виводу 40
ВИСНОВКИ……………………………………………………………………….41
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ…………………………………….42
ДОДАТКИ…………………………………………………………………………43
Додаток А. Схема електрична функціональна 43
Додаток Б. Схема електрична принципова 44
Додаток В. Перелік елементів до схеми електричної принципової 45
Додаток Д. Блок-схема алгоритму роботи програми 46
Додаток Е. Лістинг програми 47
ПОЧАТКОВІ ДАНІ НА ПРОЕКТУВАННЯ
Тип мікропроцесора: STM32F105;
Оперативна пам’ять: M25P10-А;
Підсистема вводу-виводу (периферійний пристрій): USB.
1.РОЗРОБКА СТРУКТУРНОЇ СХЕМИ
1.1. Функціональне призначення мікрокомп’ютера
Мікрокомп’ютер використовується в якості USB-осцилографа, основним призначенням якого є вимірювання вхідного аналогового сигналу, перетворення його у цифрову форму та передача через інтерфейс USB до комп’ютера, на якому за допомогою спеціального програмного забезпечення відбувається відображення результатів виміру.
Дані, отримані персональним комп'ютером, після певної обробки (зміна масштабу, коректування нуля) виводяться на монітор комп’ютера в графічному вигляді.
Значною перевагою використання даного мікрокомп’ютера є можливість збереження отриманих значень досить великого обсягу в зовнішній пам'яті пристрою з подальшим їх аналізом.
Основні технічні характеристики мікрокомп’ютера:
- вхідний опір: 100 кОм;
- максимальна частота дискретизації: 9 МГц;
- мінімальна напруга вимірювання: 0,25 В;
- максимальна напруга вимірювання: 25 В;
- напруга живлення: 3,3В.
1.2. Структурна схема мікрокомп’ютера
На (рис.1) представлена структурна схема мікрокомп’ютера, яка складається з таких основних вузлів:
вузол живлення - призначений для забезпечення стійкої та надійної роботи мікрокомп’ютера;
вузол синхронізації - призначений для формування тактових сигналів, які забезпечують функціонування усіх вузлів мікропроцесора;
вузол скиду - призначений для встановлення усіх вузлів мікрокомп’ютера у нормальний режим. Він складається з RC-ланки, яка затримує сигнал скиду на певний інтервал часу;
ОЗП - зовнішня оперативна пам’ять, яка призначена для зберігання отриманого цифрового сигналу. Підключається до мікроконтролера за допомогою послідовного інтерфейсу SPI;
вузол вводу - для отримання числового значення напруги, поданої на його вхід. Цей результат зберігається в регістрі даних АЦП.
вузол виводу - призначений для передачі цифрового сигналу з зовнішньої пам’яті до комп’ютера через інтерфейс USB.
/
Рис.1.1. Структурна схема мікрокомп’ютера
2.РОЗРОБКА ФУНКЦІОНАЛЬНИХ ВУЗЛІВ МІКРОКОМП’ЮТЕРА
2.1. Технічні характеристики мікропроцесора
Ядро: 32-х бітне Cortex-M3 з частотою 72 МГц;
Флеш-пам’ять: 256 Кбайт;
Оперативна пам’ять (SRAM): 64 Кбайт;
Напруга живлення: 2,0 - 3,6 В;
Інтерфейси:
I2Cs – 2шт;
SPI – 3шт;
I2Ss – 2шт;
USARTs – 5шт;
USB OTG FS – 1шт;
CANs – 2шт.
Корпус: LQFP64.
2.2. Функціональна блок-схема мікропроцесора
На (рис.2.1) представлена електрична функціональна схема мікропроцесора STM32F105./
Рис.2.1. Електрична функціональна схема мікроконтролера STM32F105
2.2.1. Опис основних функціональних вузлів мікропроцесора
Ядро ARM Cortex-M3.
/
Рис.2.2. Ядро мікроконтролера
Енергоефективне 32-х бітне ядро ARM Cortex-M3 працює на тактовій частоті 72Мгц, що забезпечує високу продуктивність.
Вбудована флеш-пам'ять.
У мікроконтролері є вбудована флеш-пам’ять для зберігання програм і даних обсягом 256 Кб.
/
Рис.2.3. Флеш-пам’ять
Вбудована SRAM.
У мікроконтролері є 64 Кбайт статичної оперативної пам'яті з довільним доступом.
/
Рис.2.4. Оперативна пам’ять
Схема електроживлення.
Діапазон напруги живлення мікроконтролера: від 2,0 до 3,6 В.
/
Рис.2.5. Схема живлення.
Канал DMA використовується для обміну даними між пристроєм і основною пам'яттю без участі центрального процесора.
/
Рис.2.6. Канали DMA
У мікроконтролері є 12-канальні DMA загального призначення (7 каналів для DMA1 і 5 каналів для DMA2), що використовують такі види управління як пам'ять - пам'ять, периферійний пристрій - пам'ять і пам'ять - периферійний пристрій.
Контролери DMA підтримують кругове управління буфером, усуваючи необхідність втручання коду користувача, коли контролер досягає кінця буфера.
RTC (годинник реального часу) і резервні регістри.
/
Рис.2.7. RTC і резервні регістри
Резервні регістри використовуються для зберігання байт даних програми користувача обсягом до 84 байт.
Годинник реального часу забезпечує набір безперервно працюючих лічильників, які можуть бути використані з відповідним програмним забезпеченням для забезпечення синхронізації календаря, також забезпечення переривання сигналу тривоги і періодичних переривань. Він генерується зовнішнім кварцовим резонатором, що працює на частоті 32.768 кГц .
Віконний сторожовий таймер.
/
Рис.2.8. Window WDG
Таймер побудований на використанні 7-бітного лічильника, який може бути використаний в якості перезавантажувального пристрою при виникненні проблеми. Таймер працює на частоті від головного годинника.
Розширений таймер для контролю (TIM1).
Розширений таймер для контролю (TIM1) є трифазним мультиплексором на 6 каналів.
/
Рис.2.9. Таймер TIM1
Якщо таймер налаштований як стандартний 16-розрядний таймер, він має ті ж функції, як таймер TIMx. Якщо ж налаштований в якості як 16-розрядного генератора PWM, тоді він має повну можливість модуляції (0-100%).
Таймери загального призначення (TIMx).
Таймери здатні виробляти запити переривань, переключаючи процесор на їх обслуговування з подій і звільняючи його від необхідності періодичного опитування стану таймерів. Вони призначені для синхронізації ланцюжка подій.
/
Рис.2.10. Таймери загального призначення
Загальні таймери TIM6 і TIM7.
Ці таймери в основному використовуються для генерації тригера ЦАП.
/
Рис.2.11. Таймери загального призначення TIM6 і TIM7
Незалежний сторожовий таймер (Independent watchdog).
Незалежний сторожовий таймер побудований на основі 12-бітного лічильника, який використовується для скидання пристрою при виникненні проблеми.
/
Рис.2.12. Незалежний сторожовий таймер
Універсальні синхронно-асинхронні приймачі-передавачі.
Мікроконтролер STM32F105 має три універсальні синхронно-асинхронні передавача-приймача (USART1, USART2 і USART3) і два універсальних асинхронних передавача-приймача (UART4 і UART5). Ці інтерфейси забезпечують обмін даними зі швидкістю до 4,5 Мбіт/с.
/
Рис.2.13. Інтерфейси USART, UART
Послідовний периферійний інтерфейс (SPI).
Інтерфейси SPI здатні передавати дані до 18 Мбіт/с у дуплексному і симплексному режимах зв'язку.
/
Рис.2.14. Інтерфейси SPI.
Мережа контролерів (CAN).
Стандарт, призначений для організації високонадійних та недорогих каналів зв'язку у розподілених системах керування.
/
Рис.2.15. Мережа контролерів CAN
Дані канали можуть приймати і передавати стандартні кадри з 11-бітних ідентифікаторів, а також розширені кадри з 29-бітових ідентифікаторів.
Універсальний послідовний інтерфейс USB OTG FS.
Мікроконтролер STM32F105 має інтерфейс USB OTG, який працює на швидкості 12 Мбіт/с, який сумісний зі специфікацією USB 2.0 і 1.0.
/
Рис.2.16. Інтерфейс USB OTG
Інтерфейси вводу-виводу загального призначення GPIOs.
Використовуються для додаткового цифрового управління.
/
Рис.2.17. Інтерфейси GPIOs
ADC (аналого-цифровий перетворювач) та DAC (цифро-аналоговий перетворювач).
У мікроконтролер STM32F105 вбудовано два 12-розрядних аналого-цифрових перетворювача, які використовуються для перетворення аналогового сигналу в цифровий, а також два 12-розрядних цифро-аналогових перетворювача, які використовуються для перетворення цифрового сигналу в аналоговий.
/ /
Рис.2.18. АЦП та ЦАП
Датчик температури.
Датчик температури генерує напругу, яка змінюється лінійно зі збільшенням температури. Діапазон перетворення становить від 2 до 3,6 В. Він використовується для перетворення вихідного сигналу датчика напруги в цифрове значення.
/
Рис.2.19. Датчик температури
2.3. Регістри мікропроцесора
У процесорі є два 32-х розрядні регістра даних, які використовуються в якості вхідних регістрів при записі нових даних в калькулятор CRC; додатковий 16 розрядний регістр зберігання даних, а також 32-х розрядний регістр для встановлення обчислювального блоку CRC в комбінацію FFFF FFFFh.
/
Рис.2.20. Структура регістрів процесора
2.4. Призначення виводів
На (рис.2.21(а)) та (2.21(б)) зображено виводи мікроконтролера STM32F105, у корпусах LQFP100 та LQFP64 відповідно.
/
Рис.2.21(а). Корпус LQFP100
/
Рис.2.21(б). Корпус LQFP64
У таблиці 1 наведено призначення виводів мікроконтролера.
Табл.1 Призначення виводів мікроконтролера
Виводи
Назва виводу
Тип
Рівень I/0
Призначення
Додаткове призначення
BGA100
LQFP64
LQFP100
По замовчуванню
Призначення
A3
-
1
PE2
I/O
FT
PE2
TRACECK
-
B3
-
2
PE3
I/O
FT
PE3
TRACED0
-
C3
-
3
PE4
I/O
FT
PE4
TRACED1
-
D3
-
4
PE5
I/O
FT
PE5
TRACED2
-
E3
-
5
PE6
I/O
FT
PE6
TRACED3
-
B2
1
6
VBAT
S
-
VBAT
-
-
A2
2
7
PC13-TAMPER- RTC
I/O
-
PC13
TAMPER-RTC
-
A1
3
8
PC14- OSC32_IN
I/O
-
PC14
OSC32_IN
-
B1
4
9
PC15- OSC32_OUT
I/O
-
PC15
OSC32_OUT
-
C2
-
10
VSS_5
S
-
VSS_5
-
-
D2
-
11
VDD_5
S
-
VDD_5
-
-
C1
5
12
OSC_IN
I
-
OSC_IN
-
-
D1
6
13
OSC_OUT
O
-
OSC_OUT
-
-
E1
7
14
NRST
I/O
-
NRST
-
-
F1
8
15
PC0
I/O
-
PC0
ADC12_IN10
-
F2
9
16
PC1
I/O
-
PC1
ADC12_IN11/ ETH_MII_MDC/ ETH_RMII_MDC
-
E2
10
17
PC2
I/O
-
PC2
ADC12_IN12/ ETH_MII_TXD2
-
F3
11
18
PC3
I/O
-
PC3
ADC12_IN13/ ETH_MII_TX_CLK
-
G1
12
19
VSSA
S
-
VSSA
-
-
H1
-
20
VREF-
S
-
VREF-
-
-
J1
-
21
VREF+
S
-
VREF+
-
-
K1
13
22
VDDA
S
-
VDDA
-
-
G2
14
23
PA0-WKUP
I/O
-
PA0
WKUP/USART2_CTS ADC12_IN0/TIM2_CH1_ETR TIM5_CH1/ ETH_MII_CRS_WKUP
-
Виводи
Назва виводу
Тип
Рівень I/0
Призначення
Додаткове призначення
BGA100
LQFP64
LQFP100
По замовчуванню
Призначення
H2
15
24
PA1
I/O
-
PA1
USART2_RTS/ ADC12_IN1/ TIM5_CH2 /TIM2_CH2/ ETH_MII_RX_CLK/
ETH_RMII_REF_CLK
-
J2
16
25
PA2
I/O
-
PA2
USART2_TX/ TIM5_CH3/ADC12_IN2/ TIM2_CH3 / ETH_MII_MDIO/
ETH_RMII_MDIO
-
K2
17
26
PA3
I/O
-
PA3
USART2_RX/ TIM5_CH4/ADC12_IN3 / TIM2_CH4/ ETH_MII_COL
-
E4
18
27
VSS_4
S
-
VSS_4
-
-
F4
19
28
VDD_4
S
-
VDD_4
-
-
G3
20
29
PA4
I/O
-
PA4
SPI1_NSS/DAC_OUT1 / USART2_CK(7) / ADC12_IN4
SPI3_NSS/I2S3_WS
H3
21
30
PA5
I/O
-
PA5
SPI1_SCK/ DAC_OUT2 / ADC12_IN5
-
J3
22
31
PA6
I/O
-
PA6
SPI1_MISO/ADC12_IN6 / TIM3_CH1
TIM1_BKIN
K3
23
32
PA7
I/O
-
PA7
SPI1_MOSI/ADC12_IN7 / TIM3_CH2/
ETH_MII_RX_DV/ ETH_RMII_CRS_D
TIM1_CH1N
G4
24
33
PC4
I/O
-
PC4
ADC12_IN14/ ETH_MII_RXD0(8)/ ETH_RMII_RXD0
-
H4
25
34
PC5
I/O
-
PC5
ADC12_IN15/ ETH_MII_RXD1(8)/ ETH_RMII_RXD1
-
Виводи
Назва виводу
Тип
Рівень I/0
Призначення
Додаткове призначення
BGA100
LQFP64
LQFP100
По замовчуванню
Призначення
J4
26
35
PB0
I/O
-
PB0
ADC12_IN8/TIM3_CH3/ ETH_MII_RXD2
TIM1_CH2N
K4
27
36
PB1
I/O
-
PB1
ADC12_IN9/TIM3_CH4(/ ETH_MII_RXD3
TIM1_CH3N
G5
28
37
PB2
I/O
FT
PB2/BOOT1
-
-
H5
-
38
PE7
I/O
FT
PE7
-
TIM1_ETR
J5
-
39
PE8
I/O
FT
PE8
-
TIM1_CH1N
K5
-
40
PE9
I/O
FT
PE9
-
TIM1_CH1
-
-
-
VSS_7
S
-
-
-
-
-
-
-
VDD_7
S
-
-
-
-
G6
-
41
PE10
I/O
FT
PE10
-
TIM1_CH2N
H6
-
42
PE11
I/O
FT
PE11
-
TIM1_CH2
J6
-
43
PE12
I/O
FT
PE12
-
TIM1_CH3N
K6
-
44
PE13
I/O
FT
PE13
-
TIM1_CH3
G7
-
45
PE14
I/O
FT
PE14
-
TIM1_CH4
H7
-
46
PE15
I/O
FT
PE15
-
TIM1_BKIN
J7
29
47
PB10
I/O
FT
PB10
I2C2_SCL(8)/USART3_TX/ ETH_MII_RX_ER
TIM2_CH3
K7
30
48
PB11
I/O
FT
PB11
I2C2_SDA(8)/USART3_RX/ ETH_MII_TX_EN/ ETH_RMII_TX_EN
TIM2_CH4
E7
31
49
VSS_1
S
-
VSS_1
-
-
F7
32
50
VDD_1
S
-
VDD_1
-
-
K8
33
51
PB12
I/O
FT
PB12
SPI2_NSS(8)/I2S2_WS(8)/ I2C2_SMBA(8) /
USART3_CK/ TIM1_BKIN / CAN2_RX/ ETH_MII_TXD0/ ETH_RMII_TXD0
-
Виводи
Назва виводу
Тип
Рівень I/0
Призначення
Додаткове призначення
По замовчуванню
Призначення
BGA100
LQFP64
LQFP100
J8
34
52
PB13
I/O
FT
PB13
SPI2_SCK / I2S2_CK / USART3_CTS/
TIM1_CH1N/CAN2_TX/ ETH_MII_TXD1/ ETH_RMII_TXD1
-
H8
35
53
PB14
I/O
FT
PB14
SPI2_MISO / TIM1_CH2N / USART3_RTS(7)
-
G8
36
54
PB15
I/O
FT
PB15
SPI2_MOSI / I2S2_SD / TIM1_CH3N(7)
-
K9
-
55
PD8
I/O
FT
PD8
-
USART3_TX/ ETH_MII_RX_DVETH_RMII_CRS
J9
-
56
PD9
I/O
FT
PD9
-
USART3_RX/ ETH_MII_RXD0/ ETH_RMII_RXD0
H9
-
57
PD10
I/O
FT
PD10
-
USART3_CK/ ETH_MII_RXD1/ ETH_RMII_RXD1
G9
-
58
PD11
I/O
FT
PD11
-
USART3_CTS/ ETH_MII_RXD2
K10
-
59
PD12
I/O
FT
PD12
-
TIM4_CH1 / USART3_RTS/ ETH_MII_RXD3
J10
-
60
PD13
I/O
FT
PD13
-
TIM4_CH2
H10
-
61
PD14
I/O
FT
PD14
-
TIM4_CH3
G10
-
62
PD15
I/O
FT
PD15
-
TIM4_CH4
F10
37
63
PC6
I/O
FT
PC6
I2S2_MCK/
TIM3_CH1
E1
38
64
PC7
I/O
FT
PC7
I2S3_MCK
TIM3_CH2
F9
39
65
PC8
I/O
FT
PC8
-
TIM3_CH3
E9
40
66
PC9
I/O
FT
PC9
-
TIM3_CH4
D9
41
67
PA8
I/O
FT
PA8
USART1_CK/OTG_FS_SOF / TIM1_CH1(8)/MCO
-
Виводи
Назва виводу
Тип
Рівень I/0
Призначення
Додаткове призначення
BGA100
LQFP64
LQFP100
По замовчуванню
Призначення
C9
42
69
PA9
I/O
FT
PA9
USART1_TX/ TIM1_CH2/ OTG_FS_VBUS
-
D10
43
69
PA10
I/O
FT
PA10
USART1_RX/ TIM1_CH3/OTG_FS_ID
-
C10
44
70
PA11
I/O
FT
PA11
USART1_CTS / CAN1_RX / TIM1_CH4(/OTG_FS_DM
-
B10
45
71
PA12
I/O
FT
PA12
USART1_RTS / OTG_FS_DP / CAN1_TX / TIM1_ETR
-
A10
46
72
PA13
I/O
FT
JTMS-SWDIO
-
PA13
F8
-
73
-
-
E6
47
74
VSS_2
S
-
VSS_2
-
-
F6
48
75
VDD_2
S
-
VDD_2
-
-
A9
49
76
PA14
I/O
FT
JTCK-SWCLK
-
PA14
A8
50
77
PA15
I/O
FT
JTDI
SPI3_NSS / I2S3_WS
TIM2_CH1_ETR / PA15 SPI1_NSS
B9
51
78
PC10
I/O
FT
PC10
UART4_TX
USART3_TX/ SPI3_SCK/I2S3_CK
B8
52
79
PC11
I/O
FT
PC11
UART4_RX
USART3_RX/ SPI3_MISO
C8
53
80
PC12
I/O
FT
PC12
UART5_TX
USART3_CK/ SPI3_MOSI/I2S3_SD
-
-
81
PD0
I/O
FT
PD0
-
OSC_IN(9)/CAN1_RX
-
-
82
PD1
I/O
FT
PD1
-
OSC_OUT(9)/CAN1_TX
B7
54
83
PD2
I/O
FT
PD2
TIM3_ETR / UART5_RX
C7
-
84
PD3
I/O
FT
PD3
-
USART2_CTS
D7
-
85
PD4
I/O
FT
PD4
-
USART2_RTS
Виводи
Назва виводу
Тип
Рівень I/0
Призначення
Додаткове призначення
BGA100
LQFP64
LQFP100
По замовчуванню
Призначення
B6
-
86
PD5
I/O
FT
PD5
-
USART2_TX
C6
-
87
PD6
I/O
FT
PD6
-
USART2_RX
D6
-
88
PD7
I/O
FT
PD7
-
USART2_CK
A7
55
89
PB3
I/O
FT
JTDO
SPI3_SCK / I2S3_CK
PB3 / TRACESWO/ TIM2_CH2 / SPI1_SCK
A6
56
90
PB4
I/O
FT
NJTRST
SPI3_MISO
PB4 / TIM3_CH1/ SPI1_MISO
C5
57
91
PB5
I/O
-
PB5
I2C1_SMBA / SPI3_MOSI / ETH_MII_PPS_OUT / I2S3_SD ETH_RMII_PPS_OUT
TIM3_CH2/SPI1_MCAN2_RX
B5
58
92
PB6
I/O
FT
PB6
I2C1_SCL/TIM4_CH1
USART1_TX/CAN2_TX
A5
59
93
PB7
I/O
FT
PB7
I2C1_SDA/TIM4_CH2
USART1_RX
D5
60
94
BOOT0
I
-
BOOT0
-
-
B4
61
95
PB8
I/O
FT
PB8
TIM4_CH3/ ETH_MII_TXD3
I2C1_SCL/CAN1_RX
A4
62
96
PB9
I/O
FT
PB9
TIM4_CH4
I2C1_SDA / CAN1_TX
D4
-
97
PE0
I/O
FT
PE0
TIM4_ETR
-
C4
-
98
PE1
I/O
FT
PE1
-
-
E5
63
99
VSS_3
S
-
VSS_3
-
-
F5
64
100
VDD_3
S
-
VDD_3
-
-
2.5. Структура пам’яті
Програмна пам'ять, пам'ять даних, регістри і порти введення-виведення організовані в межах одного лінійного адресного простору.
Байти кодуються в пам'яті в форматі від молодшого до старшого (Little Endian).
Адресний простір пам'яті ділиться на 8 основних блоків, кожен з 512 МБ. В таблиці 2 наведено адресацію пам’яті.
Табл.2 Адресація пам’яті
Адреса
Вузол
0x5000 0000 - 0x5000 03FF
USB OTG FS
0x4003 0000 - 0x4FFF FFFF
Зарезервовано
0x4002 8000 - 0x4002 9FFF
Ethernet
0x4002 3400 - 0x4002 7FFF
Зарезервовано
0x4002 3000 - 0x4002 33FF
CRC
0x4002 2000 - 0x4002 23FF
Інтерфейс флеш-пам’яті
0x4002 1400 - 0x4002 1FFF
Зарезервовано
0x4002 1000 - 0x4002 13FF
Сигнал «reset»
0x4002 0800 - 0x4002 0FFF
Зарезервовано
0x4002 0400 - 0x4002 07FF
DMA2
0x4002 0000 - 0x4002 03FF
DMA1
0x4001 8400 - 0x4001 7FFF
Зарезервовано
0x4001 8000 - 0x4001 83FF
SDIO
0x4001 4000 - 0x4001 7FFF
Зарезервовано
0x4001 3C00 - 0x4001 3FFF
ADC3
0x4001 3800 - 0x4001 3BFF
USART1
0x4001 3400 - 0x4001 37FF
TIM8
0x4001 3000 - 0x4001 33FF
SPI1
0x4001 2C00 - 0x4001 2FFF
TIM1
0x4001 2800 - 0x4001 2BFF
ADC2
0x4001 2400 - 0x4001 27FF
ADC1
0x4001 2000 - 0x4001 23FF
GPIO Port G
0x4001 1C00 - 0x4001 1FFF
GPIO Port F
0x4001 1800 - 0x4001 1BFF
GPIO Port E
0x4001 1400 - 0x4001 17FF
GPIO Port D
0x4001 1000 - 0x4001 13FF
GPIO Port C
0x4001 0C00 - 0x4001 0FFF
GPIO Port B
0x4001 0800 - 0x4001 0BFF
GPIO Port A
0x4001 0400 - 0x4001 07FF
EXTI
0x4001 0000 - 0x4001 03FF
AFIO
0x4000 7800 - 0x4000 FFFF
Зарезервовано
0x4000 7400 - 0x4000 77FF
DAC
0x4000 7000 - 0x4000 73FF
Power control PWR
Адреса
Вузол
0x4000 6C00 - 0x4000 6FFF
Допоміжні регістри
0x4000 6800 - 0x4000 6BFF
Зарезервовано
0x4000 6400 - 0x4000 67FF
bxCAN1
0x4000 6800 - 0x4000 6BFF
bxCAN2
0x4000 6000(1) - 0x4000 63FF
USB/CAN SRAM 512 bytes
0x4000 5C00 - 0x4000 5FFF
USB FS
0x4000 5800 - 0x4000 5BFF
I2C2
0x4000 5400 - 0x4000 57FF
I2C1
0x4000 5000 - 0x4000 53FF
UART5
0x4000 4C00 - 0x4000 4FFF
UART4
0x4000 4800 - 0x4000 4BFF
USART3
0x4000 4400 - 0x4000 47FF
USART2
0x4000 4000 - 0x4000 3FFF
Зарезервовано
0x4000 3C00 - 0x4000 3FFF
SPI3/I2S
0x4000 3800 - 0x4000 3BFF
SPI2/I2S
0x4000 3400 - 0x4000 37FF
Зарезервовано
0x4000 3000 - 0x4000 33FF
Сторожовий таймер (IWDG)
0x4000 2C00 - 0x4000 2FFF
Сторожовий таймер (WWDG)
0x4000 2800 - 0x4000 2BFF
RTC
0x4000 1800 - 0x4000 27FF
Зарезервовано
0x4000 1400 - 0x4000 17FF
TIM7
0x4000 1000 - 0x4000 13FF
TIM6
0x4000 0C00 - 0x4000 0FFF
TIM5
0x4000 0800 - 0x4000 0BFF
TIM4
0x4000 0400 - 0x4000 07FF
TIM3
0x4000 0000 - 0x4000 03FF
TIM2
2.6. Система команд мікропроцесора
Мікроконтролер STM32F105 містить набір команд, які можна поділити на такі групи:
команди доступу до пам’яті;
Приклади:
ADR – завантаження даних з регістру;
STR – збереження даних в регістр.
арифметичні команди;
Приклади:
ADD – додавання;
MUL – множення.
команди пересилання;
Приклад:
MOV – переміщення.
логічні команди;
Приклади:
AND – логічне «І»;
OR – логічне «АБО».
команди зсуву;
Приклади:
LSL – логічний зсув вліво;
ASR – арифметичний зсув вправо.
команди порівняння та управління;
Приклади:
CBZ – перейти «якщо нуль»;
IT – операція умови;
2.7. Розробка схеми електричної функціональної
Мікрокомп’ютер складається з зовнішньої пам’яті, мікроконтролера, вузла скиду і синхронізації, а також з вузла вводу-виводу. Для підключення зовнішньої пам’яті використовується інтерфейс SPI.
Вузол синхронізації призначений для формування тактових сигналів, які забезпечують функціонування усіх вузлів мікропроцесора. Він підключається до мікропроцесора за допомогою виводів XTAIL1 і XTAIL2.
Вузол скиду призначений для затримки сигналу на деякий час, для того, щоб вузли мікропроцесора встигли перезавантажитись та встановитись в початковий режим роботи. Сигнал RESET використовується для початкового скидання та ініціалізації процесора.
На (рис.2.22)