KEIL Mbed 기반 Cortex M4 플랫폼 [Cortex - M4 KEIL Platform]
KEIL Mbed 기반의 센서 제어 및 MCU 실습 플랫폼
- - 84 MHz 동작 속도를 가지며, Floating Point Unit (FPU)이
내장된 Arm Cortex-M4F 프로세서 사용
- 512 kbytes 플래시 메모리 내장
- 10 채널까지 사용 가능한 2.4 Mpbs 12 bit ADC 내장
- 최대 10개의 타이머 지원
- 최대 3개의 I2C, 3개의 USARTs, 4개의 SPIs, 1개의 SDIO 지원 가능
- On-chip PHY를 갖는 Full Speed USB 2.0
- 96 bit Unique ID
제품소개
· Cortex - M4 KEIL Platform 보드는 CPU 모듈로 Mbed 지원 플랫폼인 Nucleo F401RE 보드가 사용되고 있습니다.
Nucleo F401RE 보드는 Arm 사의 Cortex - M4F 디바이스를 적용한 STM32F401RE 마이크로 컨트롤러를 사용하고 있으며,
뛰어난 성능과 풍부한 기능을 제공합니다. 또한, ST Morpho headers와 Arduino 호환 커넥터를 함께 제공하여
외부 확장성을 폭 넓은 외부 확장성을 지원합니다.
· 베이스 보드에는 18종에 이르는 다양한 센서류와 주변장치를 제공함으로써 원하는 형태의 센싱 시스템을 구축할 수 있습니다.
이를 통해 실생활에 이미 적용되고 있거나 새롭게 응용할 수 있는 시스템을 쉽게 모델링 하여 프로토타입 형태의 제품으로
확장할 수 있습니다. 또한 다양한 종류의 상용 및 무료 오퍼레이팅 시스템을 적용할 수도 있습니다.
◼ 제품 특징 ◼
1) KEIL MDK-ARM
· STM32에 디바이스를 완벽 지원
· 산업표준 ARM C/C++ Compiler 내장
2) MBED 라이브러리
· MBED는 웹 인터페이스를 통해 Cortex-M 디바이스 기반의 하드웨어 플랫폼을 지원하는 일종의 개발 플랫폼이자
OS입니다. 또한 MBED에서 지원하는 디바이스를 IoT(Internet of Things) 디바이스 라고도 합니다.
3) 2종류의 확장 리소스
· Arduino Uno Revision 3 connectivity
· ST Microelectronics Morpho extension pin headers: STM32F401RE의 모든 I/O에 액세스.
4) 다양한 보드 전원
· USB VBUS 혹은 외부 전원 소스 (3.5V, 5V, 7V-12V)
5) PC와 인터페이스 하는 USB 포트를 통해 세 가지 기능 제공
· 온-보드 ST-LINK/V2.1 Debugger
· PC와 UART 통신 채널을 구성하는 Virtual COM Port
· 드래그-앤-드롭 프로그래밍을 가능하게 하는 Mass storage (USB 디스크 드라이버)
◼ 센서 및 액추에이터 ◼
OLED | Bluetooth | Wi-Fi 모듈 (ESP8266) | |||
적외선 거리센서 | 초음파 센서 | 적외선 인체감지 센서 | |||
사운드 센서 | 기압 센서 | ADXL 345 가속도 센서 | |||
조도 센서 | 자외선 센서 | RGB LED | |||
온습도 센서 | 심박 센서 | DC 모터 | |||
부저 | 조이스틱 |
구성도/블럭도
-
제품 구성
-
시스템 블럭도
제품사양
Item | Specification |
H/W | |
MCU | LQFP64 패키지 타입의 STM32F401RET6 |
FPU를 포함한 ARM®32-bit Cortex®-M4 CPU | |
최대 84MHz 클럭 주파수 | |
1.7 V에서 3.6 V VDD 사용 | |
512KB Flash | |
96KB SRAM | |
외부 인터럽트를 수용할 수 있는 GPIO (50) | |
16-채널 12-bit ADC | |
RTC | |
Advanced-control Timer | |
General Purpose Timers (7) | |
Watchdog Timers (2) | |
USART / UART (4) | |
I2C (3) | |
SPI (3) | |
SDIO | |
- USB 2.0 OTG FS | |
MCU 보드 | 두 가지 타입의 확장 커넥터 지원 - Arduino Uno Revision 3 Connectivity / STMicroelectronics Morpho Extension Pin Headers - SWD 방식의 온-보드 ST-LINK / V2-1 Debugger / Programmer |
유연한 보드 전원 - USB VBUS 또는 External Source (3.3 V, 5 V, 7 - 12 V) | |
User LED (LD2) | |
2개의 푸시 버튼: USER와 RESET | |
USB를 통한 세 가지 인터페이스 지원 Virtual Comport, 드래그 앤 드롭 방식의 프로그래밍을 위한 Mass Storage (USB Disk drive), 디버그 포트 | |
주변장치 | 128x64 OLED 디스플레이, BLE (Bluetooth Low Energy), CAN (Controller Area Network), 자외선 센서/심박(Heartbeat) 센서, 기압/고도/온도 센서, 소리 감지 센서, 인체 감지 센서, 근접 센서, 온/습도 센서, 조도 센서, 가속도 센서, 스위치, DC 모터, 부저, RGB LED |
S/W | |
개발 툴 | KEIL MDK-ARM |
라이브러리 | Mbed 라이브러리 |
소프트웨어 | Mbed 라이브러리를 이용한 프로젝트 템플릿 코드 |
각각의 주변장치를 제어할 수 있는 예제 프로그램 |
< 실습 과정 >
구분 | 실습내용 | |
01장 | 마이크로 컨트롤러 및 실습 플랫폼 소개 | 마이크로 컨트롤러의 활용 및 이해 |
실습 플랫폼의 기능 및 특징 | ||
02장 | 개발환경 소개 | 웹 컴퍼일러 및 MDK-ARM 개발환경 소개 |
툴 설치 및 설정 | ||
03장 | 프로젝트 생성 및 환경 설정 | LED 제어 및 응용 |
타겟 보드 실행 및 관찰 | ||
디버거 환경 설명 | ||
04장 | Wearable 센서 기술 및 구동 | 자외선, 기압, 가속도, 심박, 불루투스, 디스플레이 장치 |
자외선, 조도, 기압 센서 등 | ||
05장 | 데이터 인터페이스 기술 | PWM 통신 |
SPI 통신 | ||
I2C 통신 | ||
06장 | 타이머를 이용한 함수 | 타이머 함수의 종류 |
타이머 함수를 이용한 코딩 | ||
07장 | Mbed Cloud 이용하기 | 클라우드 서버를 통한 센서 정보 데이터 수집 및 모니터링 |
08장 | RTOS 사용하기 | 프로젝터로 FreeRTOS import하기 |
FreeRTOS를 이용한 예제 프로그램 작성과 실행 |