> 전자회로 > ARM

 

 

AT070TN92V.1 LCD 7인치 + STM32F407 보드 =>구매는 제품구입 

 

예제 프로그램 설명

1)     Menu1은 표시한 것이며 전원을 ON 시 나타낸다. RTC rtc.c 의 함수 void RTC_TimeRegulate(void) 설정된 시간 값이다. 가운데 박스는 통신 입력을 받으면 입력된다. 프로그램은 정수 십 단위로 되어 있다. 그 옆에는 화면 밝기로 를 누르면 어두워지고, +를 누르면 밝아진다.  이 부분은 I2c 에 저장이 되어 전원을 다시 ON 하면 저장된 값을 가지고 밝기를 나타낸다. 오른쪽 이미지는 Disp_LCDBmp16(710, 60, 50, 50, menu_16_1); BMP픽셀 50 x50 로 된 이미지를 나타낸 것이며 다른 이미지도 좌표 값과 이미지만 다르며 내용은 동일하다.   Menu1 메뉴는 한 화면에 RTC, 통신, 화면밝기, 메뉴터치 등을 동시에 구동할 수 있게 Multi Thread 방식을 사용한다. 이 방식을 사용하지 않으면 RTC만 구동한다든지, 통신만 되든지 뿐만 아니라, 다른 메뉴로 이동되지 않을 수도 있기 때문에 Multi Thread 방식을 사용한다.

2)     Menu2는 중앙 왼쪽 Data 1 아래 3개 값을 통신포트를 통해 보낸다. 먼저 바꾸고자 하는 값이 그림처럼 XY 1 Data 1값을 누르면 0이 파란색에서 적색으로 바뀐다. 그림 오른쪽에서 데이터 값을 예를 들어 568을 누르고 Enter 를 누르면 0 자리에 568로 바뀌면 RS232 통해 데이터를 보낸다. 데이터 전송은 Enter 를 클릭할 때만 보낸다. 아래 오른쪽은 터치시 좌표값을 나타낸다. 개발 후에는 삭제하는 것이 좋다.

 

아래는 전송 후 모습이다,

3) Menu3는 기본 메뉴이다.

4) Menu4 1G SD 카드가 있을 때 800 x 480 이미지를 나타낸다.

* 구성품

1) 보드

a) LM2576사용 => 9~24V (1A이상) 전원 인가

b) CPU STM32F407ZGT6(144pin)

c) I2C AT24C512 사용

d) Max232 USART1 통신 포트, 프로그램 다운로드 가능

e) NAND,SRAM 추가 가능 (현 부품 미삽)

f) NOR 메모리 부착

g) AT070TN92V.1 LCD및 컨트롤러 SSD1963 부착

h) sd card(메모리 카드 포함), usb 커넥터 부착

i) 터치 FT506 사용 (인체 터치시만 인식)

j) LCD 화면 백라이트 IC

2) SD카드(사용설명서, 지원프로그램, 샘플 이미지 )

프로그램( Keil uVsion5.15)에 다음과 같은 내용 코딩

- RTC 디스플레이, 24C512 읽고, 쓰기

- 터치 FT506 I2C 좌표값

- AT070TN92V.1 LCD및 컨트롤러 SSD1963 구동 프로그램

- USART1 프로그램, 메뉴 관련 통신

- NAND, SRAM, NOR 메모리 초기화

- usb 파일 읽고 쓰기

- SD Card 초기화 관련

- 한글, 영문, 그림 이미지 디스플레이 관련

- 화면 메뉴 및 관련 기법

///////////////////////////////////////////////////////

 

 

STM32F103 ( STM32F103RCT6, STM32F103RET6 )
32비트 임베디드 ARM사에서 새로운 코어가 Cortex 다. ARM7, ARM9 많이 사용되었는데, 그 다음 ARM11 대신 그를 초과하는 내부 코어를 ARMv5로 교체하고 많은 부분을 개선한 후 새로운 이름 "Cortex" 새로 사용되고 있다. 통신 포트와 JTAG 포트 둘다 다운로드 할 수있다. ARM 내부에 통신 포트로 프로그램 다운로드 할 수 있게 되어 편하다.
STM32F103드 실물사진(STM32F103 Main 보드 SUB (TFTLCD 포함 )보드)



1. 프로그램 설치 관련
μvision 사용하는 이유는 로직기능, 통신 기능으로 미리 알아볼수있다. 하드웨어가 없이도 알 수있다. 이런 막강한 기능을 사용해 볼수 있다.

 

2. 응용 프로그램 관련 실습편
1) GPIO_LED => LED 깜빡이기

2) GPIO_LED=> LED 2개 깜빡이기

3) SysTick => Timer 이용 LED 깜빡이기
위의 2번과 동일하며 Timer delay 를 사용함. 이후부터는 모든 delay는 이 함수를 사용하자.=>효율과 정확성을 위해서

4) USART => 시리얼 포트로 문자 전송

1.디버그 시작과 끝 2. UART 선택한다. 3. 시뮬레이션 결과를 실행 할려면 클릭 4.프로그램을 작성한 것을 출력 해
볼 수 있다. 5.리셋을 클릭해 다시 실행된 결과를 볼 수 있다. 지금까지 테스트 해 본 결과 하드 디버깅도 편하고 다운로드를 안하고도 미리 알수 있어 개발에 편리하다. 환경설정은 위 1번 gpiop1.PDF 참고

5) ADC_USART => 시리얼 포트로 ADC 값 전송 (소스 다운 받기)   ( Keil 보다 환경 설정이 간단하다. 프로그램 설치 후 5분이면 LED 구동회로 프로그램 작성)     

  2. 최신 디바이스 지원 STM32F4 시리즈 지원(최신 프로그램 업데이트 받아 설치 가능 )          

  3. 다른 무료 컴파일 처럼 회원가입이나, 일주일 사용이 아닙니다.                                      

  4. 컴파일 Tool 없으신 분에게 권장합니다.                                                                      

*****************************************************************************


제품내용

1) Main Board( STM32F103RCT6 (flash 256KB ) 구성 )

STM32F103RET6, RS3232, 리셋, 전원(3.3V 출력), USB 단자로구성


 

 

관련 테스트를 할 수 있다.   

 

ov7670카메라 이미지

 

그림BMP 파일 디스플레이

3) SD 메모리 카드 제공 (1개)

BMP 파일을 TFT LCD에 디스플레이 할 때 사용한다.

① 메뉴얼 (PDF 파일)  ( 236페이지 이상 분량의  보드 사용에 관련 사항, 다음 아래는 목차 )

stm32f103.pdf  <=PDF 보기  

목   차           
제1장 프로그램 개발 환경 8
1.1  Keil 프로그램 설치    8
1.2  Keil 환경설정            13
1.3  CooCox 설치              18
1.4  CoIDE 환경설정       26
1.5  프로그램 다운로드 33
1.5.1 Serial,USB               33
1.5.2 ST-LINK/V2             39
1.5.3 H-JTAG 패럿포트 52
1.6 프로그램 시뮬레이션 56

제2장 하드웨어 구성       62
2.1 Main Board                    62
2.2 Sub Board                      73

제3장 STM32 실습 114
3.1 GPIO_LED          114
3.2 GPIO_LED          119
3.3 SysTick               124
3.4 USART                126
3.5 ADC_USART     128
3.6 TFT_LCD            129
3.7 TFT_ADS7843  137
3.8 TFT_OV7670    138
3.9 JoyStick Mouse 140
3.10 uCOS                 143
3.11 ENC28J60        154

제4장 STM32 내부기능 158
4.1 PWR(Power control)   158
4.2 RCC         162
4.3 GPIO        173
4.4 SysTick    180
4.5 USART     183
4.6 ADC          189
4.7 DAC          191
4.8 NVIC        194
4.9 RTC          202
4.10 TIM        207
4.11 SPI          214
4.12 I2C         220
4.13 참고       225
4.13.1 Bit Banding 225
4.13.2 assert_failed 229
4.13.3 GPIO JTAG 229
4.13.3 FSMC           230    

⑤ 보드 관련 데이타 시트 ( 그외 STM32 관련 참고 자료  )

⑥ 샘플이미지 제공(1.BMP~5.BMP)

  

 

1.       RC, RE보드프로그램

프로그램은 동일하고 디바이스만 설정해 주면 된다.

3_소스 프로그램(RC보드) => STM32F103RC 디바이스 소스

3_소스 프로그램(RE보드) => STM32F103RE 디바이스 소스

 

 

    1) 보드에 카메라 부분은 회로  2가지 프로그램으로 되어 있다.

      (회로도는  4. 회로도  => stm32_sub2.pdf  또는  매뉴얼 69페이지 참고 )

      A. 첫번째 회로도는 프로그램=> 8_A_OV7670_1

      B. 두번째 회로도는 프로그램=> 8_A_OV7670_2 (보드에 사용 )

      C. OV7725 사용할 OV7670 1~16핀과 맵이 같아  부분만 사용한다. (카메라만

교체하면  된다.)

     서브보드에 교체하기 쉽게 되어 있다.

  

2) 프로그램 TFT-LCCD 2종인데 프로그램 구별 방법( 부착된 [CASIO] COM26T2844VTX)

A=> ILLUMINANT I-2810-7IMT2432A, B=> [CASIO] COM26T2844VTX

C=> TG028HBZ43(Gemini Technology co., LTD)

8_A_*** => TFTLCD 2.8인치240x320 => ILLUMINANT I-2810-7IMT2432A(ILI9328) (J5커넥터 사용)

 8_B_ *** => TFTLCD 2.6인치 240x400 => [CASIO] COM26T2844VTX (J6커넥터 사용)     

 8_C_ *** => TFTLCD 2.8인치 240x320 => [Gemini Technology]TG028HBZ43-HX8347-G  (J5커넥터 사용)    

3) 8_B_TFT_bmp_2G 에서 2G SD메모리카드의 BMP파일의 이미지를 디스플레이 하고 

8_B_TFT_bmp_8G 에서 8G SD메모리카드의 BMP 파일의 이미지를 디스플레이 한다.

8_B_TFT_bmp_16G 에서 16G SD메모리카드의 BMP 파일의 이미지를 디스플레이 한다.

이미지는  320 * 240 사이즈

 

4) 소스 12),13) 예제는 서브보드  프로그램으로 참고만  주세요 ^^

 

 

2.  전원 투입 방법

1)  메인 보드만 사용시 전원 투입 방법

a.    USB 사용시 J2 USB 연결한다. (총사용 전류 500mA 이하 권장)

b.   5V 아답터 사용시는 CN2 커넥터에 5V 인가한다. (총사용 전류 500mA 이상 권장)

2)   메인보드와 서브보드 사용시 전원 투입 방법

a. 서브 보드의 J14 미니 USB 연결한다. (총사용 전류 500mA 이하 권장1)

b.  메인보드의 J2 USB 연결한다. (총사용 전류 500mA 이하 권장2)

c.   5V 아답터 사용시는 CN2 커넥터에 5V 인가한다. (총사용 전류 500mA 이하 권장3)

=>CN2 전원 사용시 J2, J14 USB 커넥터는 연결하지 않아야 된다전원 충돌 때문

(메인보드와 서브보드는 메인보드와 서브보드를 커넥터로 결합된 상태를 의미한다.

메인보드는 서브보드를 사용하지 않는 경우를 말한다. )

 

3.         프로그램 다운로드 방법

메인보드의 S2 스위치를 DN 으로 놓으면 프로그램 다운로드   쓰이고평상시는 EX(실행)으로위치해 놓고 통신 포트로 사용한다.

 

1) 메인보드만 사용시 다운로드 방법

a. PC 시리얼 포트 사용시

J6  TX0, RX0, GND  PC  시리얼포트의 D-SUB 9 커넥터 2, 3, 5

 순서대로 연결한다

 

b. USB 포트 사용시

USB  RS-232신호를 변환을 장치를 이용하여 사용한다

 

2)     메인 보드와 서브보드 사용시 다운로드 방법

   서브보드에USB  RS-232신호를 변환 회로가 내장되어다운로드와 통신을 사용한다