이 매뉴얼은 JK전자(JK Electronics) 에 의해서 번역, 수정, 작성 되었고 소유권 또한
JK전자(JK Electronics)
의 것입니다. 소유권자의 허가를 받지 않고 무단으로 수정, 삭제하거나 배포 할 수 없습니다.

 

 

Cortex-M4 STM32F407IGT6 영상처리 개발보드 메뉴얼


 
* Update history

- 2012.4.25 : 초기 Release


 
* Cortex-M4 STM32F407IGT6 영상처리 개발보드
1. Cortex-M4 STM32F407IGT6 영상처리 개발보드 소개

2. Cortex-M4 STM32F407IGT6 영상처리 개발보드 사양
2.1 CPU보드의 H/W 구성 및 회로도
2.2 Bottom 보드의 H/W 구성 및 회로도
2.3 제공 S/W 사양

3. 기본 사용방법 및 다운로드 가이드
3.1 개발보드 기본사용 방법
3.2 프로그램 다운로드 가이드
3.3 개발보드 스위치, 점퍼 설명

4. S/W 테스트 방법
4.1 LED On/Off 테스트
4.2 LCD, ADC, UART3 테스트
4.3 4Phase Stepper motor simulation
4.4 임베디드 GUI 라이브러리 테스트
4.5 CAN 통신 테스트
4.6 Flash 파일 시스템 테스트 on SD Memory
4.7 Flash 파일 시스템 테스트 on NAND Flash
4.8 USB Mass Storage with internal RAM
4.9 USB HID
4.10 USB Mass Storage with SD Memory
4.11 USB Mass Storage with NAND Flash
4.12 USB HOST HID 키보드
4.13 USB HOST Storage

* 예제 4.3 ~ 4.24 까지는 KEIL RL-ARM 라이브러리가 필요 합니다.

4.14 HTTP Server
4.15 HTTP Server with File upload
4.16 Telnet Server
4.17 DNS
4.18 FTP Server
4.19 SNMP
4.20 SMTP Client
4.21 LED switch with TCP/UDP Network
4.22 BSD Network
4.23 TCP/UDP LED Client
4.24 BSD Client

* 예제 4.14 ~ 4.24 까지는 KEIL RL-ARM 라이브러리가 필요 합니다.

4.25 HTTP Server
4.26 TFTP Server
4.27 TCP Echo Server
4.28 UDP Echo Server
4.29 TCP Echo client
4.30 UDP Echo client

* 예제 4.25 ~ 4.30 까지는 KEIL RL-ARM 라이브러리가 필요 없습니다.

4.31 HTTP Server
4.32 HTTP Server with socket library
4.33 Echo Server

* 예제 4.31 ~ 4.33 까지 FreeRTOS를 이용한 예제 입니다.


4.34 OV9655 Camera Preview

* 예제 4.34는 RL-ARM 라이브러리가 필요한 예제 입니다.

5. 프로그래밍 가이드
5.1 Keil MDK 4.2x 이상

* ST Microelectronics Document
1. STM32F4 Datasheet
2. STM32F4 Referenc manual



   
  1. Cortex-M4 STM32F407IGT6 영상처리 개발보드 소개
Cortex-M4 STM32F407IGT6 영상처리 개발보드는 최대 168MHz 클럭 으로 동작 할 수 있습니다. 또한 이 제품에는 영상처리를 위하여 OV9655 130만 화소 카메라를 기본으로 제공하고 있고 영상처리 버퍼를 위해서 CPU모듈에 SRAM과 NAND 플래시를 내장하고 있어 고성능 영상처리를 위한 좋은 조건을 갖추고 있습니다.

2. Cortex-M4 STM32F407IGT6 영상처리 개발보드 사양
2.1 CPU보드의 H/W 구성 및 회로도

(1) CPU 모듈 H/W 구성

cortex-m4

(2) CPU 모듈 H/W 핀 배치도

VCC5 3.3V GND PG3 PG4 PG1 PF14 PF12 H-D+ PA0 PC4 PH7 PH2 PA1 PC3 PC1 PG11 PG14 PA8 PB14 PF10 PF7 PF5 PF3 PC13 PI9 PG9 GND
VCC5 3.3V GND VBUS_F VBUS_H PG0 PF13 PF15 H-D- H-ID PA7 PH6 PH3 PA2 PC5 PC2 RESET PG13 PB8 PI10 PF9 PF6 PF4 PG9 PF1 PF11 GND GND
                    GND GND
JP2                                         PE6 VBAT
                                                PE4 PE5
                    PE2 PE3
                            PH5 PD3
                            PE1 PE0
                            PB7 PB5
                        JTAG PG15 PB13
                        3.3V 3.3V PD7 PD6
                        TRST RESET PB4 PA4
                        TDI TDO PA15 PB3
                        TMS RTCK PA13 PA14
                        TCK GND PI3 PI2
                            PI1 PI0
                            PJ15 PA8
JP3                     JP4 PC7 PC6
                    GND GND
PD15 PD1 PE8 PE10 PE12 PE14 PD8 PD10 PD5 PF0 PG12 PF8 PD13 PD11 PH11 PH9 PA6 PB6 PI6 PA10 PA12 PI5 PC8 PC11 PH13 PD2 GND PG8
PD14 PD0 PE7 PE9 PE11 PE13 PE15 PD9 PG10 PD4 PI8 PG2 PG5 PD12 PH12 PH10 PH8 PB9 PI7 PA9 PA11 PH14 PI4 PC10 PC9 PC12 GND PG7

(3) CPU모듈 회로도 다운로드

2.2 Bottom 보드의 H/W 구성 및 회로도

(1) Bottom 보드의 H/W 구성

cortex-m4

(2) Bottom 보드 회로도 다운로드

2.3 카메라 보드의 H/W 구성 및 회로도

(1) OV9655 1.3M CMOS Camera 보드의 H/W 구성

cortex-m4

(2) 카메라 모듈 회로도 다운로드
(3) 카메라 모듈 데이터시트 다운로드

2.4 제공 S/W 사양

기본적으로 LED, Timer, RTC, USB, Camera, LCD, Ethernet, CAN, UART, Audio 등 샘플 예제를 제공 합니다. Keil MDK 4.2 에서 컴파일하고 테스트 하였습니다.
EWARM 6.2, RIDE7 예제 프로젝트 파일들도 업데이트하여 제공할 예정 입니다.

(1) 소프트웨어 디렉토리

기본적으로 Examples 폴더안에 예제 소스들이 있습니다. 각 예제 소스들의 구조는 아래표와 같습니다.

Basic Blinky
Blinky_ADC
RTX_Blinky
Demo
CAN
LED, UART, LCD, Touch, Button
CAN Self 테스트 등 기본 테스트
emWin GUIDemo
Template
Template_RTX
임베디드 GUI 라이브러리 예제
KEIL RL-ARM 라이센스 필요
FlashFS NAND_File
SD_File
 
USB Device
Host
HID
Memory
HID_Kbd
... 외 3종
Ethernet Http_demo
LEDClient
FTP_demo
... 외 9종
 
STM32F4x7_ETH_LwIP_V1.0.0
STM32F4xx_DSP_StdPeriph_Lib_V1.0.0
STM32F4xx_USART_IAP_V1.0.0
Camera, 기본 예제들
PC_based HID_Client
LEDSwitch
SNMPTest
sokit
TCPUDPDbg
Ethernet, USB 테스트용 PC용 클라이언트
VC++ 소스와 실행파일 함께 제공 합니다.

(2) 소프트웨어 소스 다운로드

- 2012.4.27 S/W 업데이트
- 소스의 용량이 너무 큰 관계로 개발보드와 함께 CD 미디어로 제공 하고 있습니다.


3. 기본 사용방법 및 다운로드 가이드
3.1 개발보드 기본사용 방법
(1) 전원 공급
개발보드에 전원을 공급하기 위한 방법은 3가지가 있습니다.

- J17 에 5V DC Adapter를 연결
- J18 USB OTG 포트에 Mini USB 케이블을 연결
- J19 USB Device 포트에 Mini USB 케이블을 연결

(2) 개발보드와 PC 의 UART 연결

- 하이퍼 터미널 설정


3.2 프로그램 다운로드 가이드

(1) 시리얼 통신을 이용한 방법(새창)
STM32F 시리즈에는 JTAG 다운로더가 없이 USART3 포트를 이용해서 프로그램을 다운로드 할 수 있는 ISP기능을 제공 합니다.
가장 비용이 적게드는 장점이 있지만 다운로드만 가능하고 코드 디버깅은 할 수 없습니다.

(2) ARM-JTAG 을 이용한 방법(새창)

Keil MDK, IAR Workbench 에서 ARM-JTAG를 이용한 다운로드 방법과 디버깅 방법

3.3 개발보드 스위치, 점퍼 설명

(1) Audio

PDN_HPx[1:0] J1 Stereo Out
00 Open Mute
Short Unmute
01 Open Unmute
Short Mute
10 Ignore Unmute
11 Ignore Mute


(2) CAN

Name JP7 CAN 동작
JP7 1 ●● 2 : Open
3 ●● 4 : Open
Open 상태에서는 USB 핀으로 사용 됩니다.
1 ●● 2 : Short
3 ●● 4 : Short
CAN을 사용하기 이해서는 JP7 을 Short 시켜야 합니다.


(3) Ethernet

Name JP7 CAN 동작
SW1 1 2 3
●●● : 1, 2 Short
Enable RMII mode
1 2 3
●●● : 2, 3 Short
Enable MII mode (default configuration)
SW2 1 2 3
●●● : 1, 2 Short
Only to provide the 25MHz external crystal for the PHY in MII mode
1 2 3
●●● : 2, 3 Short
In MII mode, 25MHz or RMII mode, the PA8 pin corresponding to the MCO to provide the 50MHz clock to the PHY (default configuration)
JP4 1 ●● 2 : Open Enable MII mode.
1 ●● 2 : Short Enable RMII mode
JP5 1 ●● 2 : Open RMII mode MCO connected to PA1 pin corresponding RMII_REF_CLK
1 ●● 2 : Short Default do not take short-circuit cap


- Note: PB14 can be set to 0 so that the network PHY into power down mode.

4. S/W 테스트 방법
* S/W 테스트시 반드시 CPU모듈의 ISP Mode 점퍼를 아래와 같이 Normal 로 설정하고 테스트를 해야 합니다.

* ISP모드와 일반 부팅 모드의 SW1, SW2 점퍼 세팅 방법

stm32f407igt6

4.1 LED On/Off 테스트
(1) /Examples/Basic/Blinky 디렉토리
(2) SysTick_Handler 를 이용해서 LED1을 반복적으로 On/Off 합니다.

stm32f407igt6

4.2 LCD, ADC, UART3 테스트

(1) /Examples/Basic/Blinky_ADC 디렉토리
(2) SysTick_Handler 를 이용해서 LED1을 반복적으로 On/Off 합니다.

stm32f407igt6

(3) PF9 포트를 이용해서 Bottom 개발보드에 있는 가변저항의 값을 ADC로 읽엇 LCD 화면과 UART3(115200bps) 를 통해서 출력 합니다.

stm32f407igt6stm32f407igt6

* UART3 사용시 주의 점

반드시 SW3, SW4 를 아래 그림과 같이 UART3쪽으로 점퍼를 Short 시켜야 UART3 통신을 할 수 있습니다.

stm32f407igt6


4.3 4Phase Stepper motor simulation

(1) /Examples/Basic/RTX_Blinky 디렉토리
(2) LCD화면상에 4Phase Stepper motor 동작을 시뮬레이션 합니다.

stm32f407igt6

4.4 임베디드 GUI 라이브러리 테스트

(1) /Examples/emWin/Template, Template_RTX, GUIDemo 디렉토리
(2) LCD화면상에 emWin 라이브러리를 이용한 GUI 화면을 Display 합니다.
(3) KEIL환경에서 컴파일시 RL-ARM 별도의 라이센스가 필요 하고, EWARM, RIDE7 에서는 컴파일이 되지 않습니다.

stm32f407igt6 stm32f407igt6

4.5 CAN 통신 테스트
(1) /Examples/Basic/CAN
(2) CAN의 self-test mode를 이용해서 Send data와 Receive data 를 LCD에 Display 하면서 PF9의 ADC Value 값도 같이 Display 합니다.

stm32f407igt6

4.6 Flash 파일 시스템 테스트 on SD Memory
4.7 Flash 파일 시스템 테스트 on NAND Flash
4.8 USB Mass Storage
4.9 USB HID
4.10 USB Mass Storage with SD Memory
4.11 USB Mass Storage with NAND Flash
4.12 USB HOST HID 키보드
4.13 USB HOST Storage

- USB 관련 예제 자세히 보기(새창)

4.14 HTTP Server
4.15 HTTP Server with File upload
4.16 Telnet Server
4.17 DNS
4.18 FTP Server
4.19 SNMP
4.20 SMTP Client
4.21 LED switch with TCP/UDP Network
4.22 BSD Network
4.23 TCP/UDP LED Client
4.24 BSD Client
4.25 HTTP Server
4.26 TFTP Server
4.27 TCP Echo Server
4.28 UDP Echo Server
4.29 TCP Echo client
4.30 UDP Echo client
4.31 HTTP Server
4.32 HTTP Server with socket library
4.33 Echo Server

- 네트워크 관련 예제 자세히 보기(새창)

4.34 OV9655 Camera Preview
(1) /Examples/STM32F4xx_DSP_StdPeriph_Lib_V1.0.0/Project/Camera/MDK-ARM
(2) 카메라 어플리케이션을 실행 시키면 QVGA(320*240) 사이즈로 LCD Preview 가 실행 됩니다.
(3) High contrast 영역에서 일부 green pixel 이 나타날 수 있습니다. 카메라 센서 주위의 조도를 너무 밝지 않도록 해서 테스트 하시기 바랍니다.
(4) DMA와 Camera전용 인터페이스를 사용해서 속도는 30fps 이상이 나오는것 같습니다.

5. 프로그래밍 가이드

Cortex-M4 코어를 지원하는 컴파일러로는 KEIL MDK 4.2 이상, EWARM 6.2 이상, RIDE7 등이 있습니다. 앞에서 나열한 컴파일러의 이전 버젼에서는 Cortex-M4 코어를 지원하지 않습니다.

5.1 Keil MDK 4.2x

프로그램 개발을 위한 Keil MDK 컴파일러 설정 방법과 컴파일(새창)