5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... ·...

20
3 - 1

Transcript of 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... ·...

Page 1: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 1

3장. 실습 보드를 이용한 프로그램 작성 방법

3.1 실습보드 상세 설명

3.1.1 실습 보드 소개

본 교재에서는 실습을 위해 (주)휴인스의 Cortex-M3 NXP 보드를 사용한

다. 이 보드는 NXP사의 LPC1768 마이크로컨트롤러를 사용한다. 따라서 이

실습보드를 이용하면 LPC17xx 디바이스 계열에 대한 어플리케이션 프로그

램을 생성해서 테스트해 볼 수 있다. 아래의 <그림 3-1-1>은 실습에 사용하

는 Cortex-M3 NXP 보드를 나타낸다.

<그림 3-1-1> Cortex-M3 NXP 보드

1) 실습 보드의 주요 기능

본 실습 보드는 다음과 같은 주요 기능을 가지고 있다.

- USB 2.0 풀 스피드 인터페이스

USB 통신을 필요로 하는 어플리케이션에 대해 보드에서는 USB

Client, USB-OTG, USB Host, USB-to-UART 표준 커넥터들을 지

원한다. 이들은 D+ D- 점퍼 핀 설정을 통해 장치를 활성화(Enable)

또는 비활성화(Disable) 할 수 있다. 또한 VBUS 점퍼 핀 설정을 통

해 USB 클라이언트에서 5V 전원을 입력 받을 수 있다.

Page 2: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 2

- 듀얼 시리얼 포트

표준 DB9 커넥터는 시리얼 포트를 위해 두 개가 존재한다. 어플리케

이션에서 이 포트 둘 다를 사용 할 수도, 하나만 사용 할 수도 있다.

- 듀얼 CAN 포트

CAN 통신을 필요로 하는 어플리케이션을 위해 DB9 커넥터가 두 개

존재한다. 어플리케이션에서 이 포트 둘 다를 사용할 수도, 하나만 사

용 할 수도 있다.

- LCD 디스플레이

탈·부착 가능한 2.83” 240*320 QVGA TFT 컬러 LCD. 실시간 디

버그 정보나 프로그램 상태 메시지를 표시하는 데 사용할 수 있다.

- MicroSD 카드 커넥터

MicroSD 카드에 액세스하는 어플리케이션 개발을 위한 커넥터. 2GB

용량까지 사용 가능하다.

- 조이스틱(Joystick)

5-position 조이스틱. 어플리케이션에서 포트 핀 입력을 제어하기 위

해 사용할 수 있다.

- 스피커 커넥터

LPC1768 디바이스의 D/A 출력이 LF(Loop Filter) 증폭기(Amplifier)

에서 증폭되어 스피커 커넥터에 연결되어 있다. 사용자는 사운드를 발

생하는 데 이를 사용할 수 있다. 이들은 J6 점퍼 핀 설정을 통해 장치

를 활성화 또는 비활성화 할 수 있다.

- 포텐셔미터(Potentiometer)

LPC1768 디바이스의 아날로그 입력을 디지털 출력 특성을 테스트하

기위해 조정 가능한 아날로그 전압 소스가 보드 위에 존재한다. 점퍼

핀 설정을 통해 장치를 활성화 또는 비활성화 할 수 있다.

- JTAG과 Cortex/ETM 다운로드 및 디버깅

Page 3: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 3

Cortex-M3 NXP 보드는 JTAG 인터페이스와 Cortex Debug +

ETM 인터페이스 제공한다. ULINK2 USB-JTAG 어댑터를 함께 사

용하면 Serial Wired JTAG 인터페이스는 플래시 프로그래밍과 디버

깅을 사용할 수 있다. ULINK Pro 어댑터를 사용하면 Cortex 디버그

/ETM 인터페이스로 플래시 프로그래밍과 명령 트레이스 디버깅을

사용할 수 있다.

- 확장 커넥터

Cortex-M3 NXP 보드는 확장 커넥터를 제공한다. 사용자는 이 커넥

터를 통해 휴인스에서 제공하는 다양한 확장 모듈을 연결해서 하드웨

어와 소프트웨어 개발에 활용할 수 있다. 확장 모듈에는 FND 모듈,

키패드 모듈, 센서 모듈, 스텝 모터모듈, 서보 모터 모듈이 있다.

2) 필요한 하드웨어

Cortex-M3 NXP 보드를 사용하려면 아래와 같은 하드웨어가 필요하다.

- 2 개의 USB 포트를 가지는 PC가 요구된다. 다운로드를 위한 USB

포트와 보드에 전원을 공급하기 위한 USB 포트 또는 5V 어댑터가

필요하다.

- 다운로드와 디버깅을 하려면 다음 중 하나가 필요하다.

∙ Keil ULINK USB-JTAG 어댑터 (JTAG Only – no serial wire

mode)

∙ Keil ULINK2 USB-JTAG 어댑터

∙ Keil ULINK Pro USB-JTAG 어댑터.

∙ Keil ULINK-ME USB-JTAG 어댑터

- USB를 사용하기 위한 1개의 USB A-B 케이블

- JTAG을 사용하기위한 1개의 USB A – miniOTG 케이블 또는 USB

A-B 케이블

3) ULINK USB-JTAG 어댑터 패밀리

Keil USB-JTAG 어댑터는 사용자 PC의 USB 포트와 대상 시스템을

연결하고 하드웨어에서 실행되는 프로그램을 디버깅 할 수 있게한다.

ULINK 어댑터로 다음과 같은 작업을 할 수 있다.

Page 4: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 4

- 하드웨어로 프로그램을 다운로드

- 메모리와 레지스터 내용 보기 및 변경

- 프로그램의 싱글-스텝 기능 및 다수의 브레이크 포인트 삽입

- JTAG과 Serial Wire 모드를 사용해서 대상 하드웨어와 연결

- 실행 중 Cortex-Mx 디바이스에 대한 디버깅

- Cortex-M3로부터 트레이스 정보 수집

① ULINK Pro

USB를 통해 실시간으로 데이터와 명령 스트리밍을 트레이스 할 수 있

는 새로운 디버그 유니트. ARM7, ARM9, Cortex-Mx 디바이스를 지원하

며, Cortex-M3 시스템의 경우 데이터와 명령을 트레이스 할 수 있다. 또

한 고속으로 플래시 다운로드가 가능하다.

② ULINK2

다양한 종류의 8051 디바이스와 C166, ARM7, ARM9, Cortex-Mx 디바

이스를 지원한다.

③ ULINK-M3

ULINK2의 기능 일부를 지원한다. NXP LPC900, ARM7, ARM9,

Cortex-Mx 디바이스를 지원하며, Keil의 스타트 키트의 일부로 제공된다.

4) 소프트웨어 사양

Cortex-M3 NXP 보드를 사용하려면 아래 소프트웨어가 설치되어 있어야

한다.

① 지원 플랫폼

- Microsoft Windows 2000

- Microsoft Windows XP

- Microsoft Windows Vista

② 사용 툴

- Keil MDK-ARM 평가판 혹은 정품

3.1.2 실습 보드 설정하기

Cortex-M3 NXP 보드의 설정은 쉽다. 보드의 연결과 구성 절차를 따로

Page 5: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 5

구분해서 설명하도록 한다. Cortex-M3 NXP 보드는 호스트 PC와

ULINK-USB 어댑터를 연결할 USB 포트와 전원 공급을 위한 USB 포트 혹

은 5V 전원 어댑터가 필요하다. 시작하기 전에 소프트웨어와 하드웨어 요구

조건을 만족하는지 확인한다.

1) 보드 설정하기

Cortex-M3 NXP 보드는 USB 포트나 5V 전원 어댑터로 전원을 공급한다.

<그림 3-1-2> 전원 및 ULINK 연결그림

<그림 3-1-2>처럼 Cortex-M3 NXP 보드는 Keil ULINK USB-JTAG 어

댑터를 사용해서 Keil uVision 디버거와 직접 연결된다. 따라서 보드 위에

별도의 소프트웨어가 필요하지 않다.

2) 보드 주변장치

아래 <그림 3-1-3>은 Cortex-M3 NXP 보드의 인터페이스와 하드웨어 구

성 요소를 보여준다.

Page 6: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 6

<그림 3-1-3> Cortex-M3 NXP 보드와 컴포넌트 설명

3) JTAG 연결하기

ULINK JTAG 어댑터를 통해 최상의 성능을 얻으려면 Cortex-M3 NXP

보드의 JTAG 클럭 설정이 중요하다. 다음은 클럭 설정 방법을 나타낸다.

① ARM Cortex-M3 보드에 전원을 인가한다.

② uVision에서 Project -> Options for Target -> Debug 를 선택하고

Debugger를 설정한다.

OptionsforTarget툴 바를 사용해서 Debug 창을 열기 위해

Debug 탭을 클릭한다.

③ Use 라디오 버튼을 선택한 다음, ULINK-JTAG 어댑터를 디버거 툴

로 선택하기 위해 드롭-다운 리스트에서 ULINK Cortex Debugger

를 선택한다.

<그림 3-1-4> Debug 탭

Settings 버튼을 클릭하여 Cortex-M Target Driver Setup 창을 연

다. SWJ 체크박스를 체크하고 Single Wire mode 인터페이스를 사

Page 7: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 7

점퍼 상태 설명

D-

Client Short USB Line D-를 Client mode로 활성화

HOST Short USB Line D-를 HOST mode로 활성화

OTG Short USB Line D-를 OTG mode로 활성화

D+

Client Short USB Line D+를 Client mode로 활성화

HOST Short USB Line D+를 HOST mode로 활성화

OTG Short USB Line D+를 OTG mode로 활성화

UMODE Short P2.0를 통해서 software restart를 발생하여 USB 디

바이스의 soft-connection을 허용한다

Speaker Short LF 증폭기를 통해서 AOUT (P0.26)을 스피커로 연

결. 스피커 활성화

VBAT Short 보드 위의 RTC를 위한 코인 배터리 전원공급

VDDIO Short VDDIO 핀에 3.3V DC 전원 공급

VDDREG Short VDDREG 핀에 3.3V DC 전원 공급

VBUS Short USB Client(USB-B)에서 5V DC 전원 공급

J5 Short 포텐셔미터를 AD0.2에 연결해서 아날로그 입력 제공

포텐셔미터 활성화

INT Short INT 푸시 버튼 활성화

RST Short Reset 활성화

용하기 위해 Port 항목에서 SW 옵션을 선택한다.

Max JTAG Clock 드롭-다운 리스트는 대상 보드와 통신하는데

사용될 가장 높은 JTAG clock으로 설정한다. Cortex-M3 NXP 보드

는 1MHz에서 가장 잘 동작한다.

<그림 3-1-5> Debug 탭 Settings

4) 보드 구성하기

Cortex-M3 NXP 보드는 <표 3-1-1>에 설명되어 있는 점퍼를 사용해서

구성된다.

Page 8: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 8

ISP Short In-System Programming을 비활성화

LED Short P1.28, P1.29, P1.31, P2.2 ∼ P2.6 LEDs 활성화

EXT TTL0 Short EXT IO 커넥터에 UART0 TTL Level 인가

EXT TTL1 Short EXT IO 커넥터에 UART1 TTL Level 인가

EXT UART0 Short EXT IO 커넥터에 UART0 인가

EXT UART1 Short EXT IO 커넥터에 UART1 인가

<표 3-1-1> 점퍼의 기능별 종류

3.1.3 실습 보드의 구성 요소

이번 절에서는 Cortex-M3 NXP 보드의 하드웨어를 설명한다. 이것은

Cortex-M3 NXP 보드의 구성과 I/O 인터페이스를 어떻게 사용하는 지를 이

해하는 데 도움이 된다. Cortex-M3 NXP 보드는 매우 유용하며 활용도가

높은 보드이며, 하드웨어 프로토 타입을 만들기 위해 확장될 수 있다.

1) 블록도

<그림 3-1-6>의 하드웨어 블록 다이어그램은 입력, 전원 시스템, 사용자

I/O 등을 나타낸다. 이 그림은 Cortex-M3 NXP 보드의 컴포넌트를 이해하

는 데 도움이 된다.

Page 9: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 9

구 분 특 성

LPC1768 32bit MCU, Speed : 100MHz, Flash : 512KB, SRAM : 64KB,

100Pin LQFP

Power 5V DC 어댑터 또는 5V USB 디바이스 전원

CAN CAN 2.0B DB9 2 Port

USB USB 2.0 풀 스피드 Device/Host/OTG 각 1포트

Jumper 하드웨어 활성화/비활성화를 위한 환경 설정 점퍼

Switch 리셋 Tact 스위치 1개, 인터럽트 Tact 스위치 1개, 조이스틱 스위치 1개

Ethernet 10/100Mbit, IEEE 802.3 이더넷 1포트

MicroSD Micro SD 카드 슬롯 1개, Up to 2GB

JTAG ULINK2 또는 ULINK-ME를 사용하여 다운로드, 디버깅 1포트

ADC 12Bit ADC를 테스트하기 위한 포텐셔미터 1개

UART RS232 DB9 2포트

TFTLCD 2.83” 240*320 QVGA TFT 컬러 LCD 1개

LED GPIO LED 8개, 상태 표시 LED(전원, 이더넷, USB)

Speaker 10bit DAC를 이용한 스피커 1포트

Extension EXT IO A, B, C 각 1포트에 확장 모듈(FND, 키패드, 센서, 스텝 모터,

서보 모터)을 삽입하여 사용

<그림 3-1-6> Cortex-M3 NXP 보드의 블록도

2) 마이크로 컨트롤러

Cortex-M3 NXP 보드의 NXP LPC1768 마이크로 컨트롤러는 하이엔드

LPC17xx 디바이스로 ADC, CAN, USB 기능을 갖는다. 12.0MHz 크리스탈

은 CPU에 대해 클럭 신호를 제공한다.

<그림 3-1-7> LPC1768 마이크로 컨트롤러

3) 전원

표준 USB B 커넥터를 사용하는 사용자 PC에서 Cortex-M3 NXP 보드로

Page 10: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 10

전원이 공급된다. 또는 5V 전원 어댑터를 통해서 전원을 공급 할 수도 있다.

전원 레귤레이터 U10은 3.3V DC를 만든다. 전원 레귤레이터 U5는 스텝

모터 동작을 위한 12V DC를 만든다. 전원 레귤레이터 U3은 아날로그 사용

(VDDA와 VREF)을 위한 3.3V DC와 TFT LCD 동작을 위한 2.8V DC를 만

든다. 전원 LED는 보드에 전원이 공급되는 지를 표시한다.

CR2032 코인 배터리는 RTC(Real-Time Clock) 주변장치에 전력을 제공하

기 위한 3V DC를 공급한다. VBAT 점퍼로 RTC(Real-Time Clock) 전원 인

가여부를 결정할 수 있다.

※ 주의 : USB로만 전원을 공급할 때 스텝 모터 등 모터 종류를 동작 시키지

않아야 한다. 모터의 강한 전류로 인해 PC가 다운될 수 있다.

<그림 3-1-8> 전원부 (좌측 DC Jack, 배터리, 레귤레이터 전원, 우측

USB전원)

4) JTAG 인터페이스

JTAG 인터페이스 커넥터는 NXP LPC17xx 디바이스에 대해 디버깅과 에

뮬레이터 지원을 제공한다. JTAG 인터페이스는 어플리케이션 디버깅,

on-chip 혹은 off-chip 플래시 디바이스 프로그래밍을 가능하게 한다.

Cortex 디버그 커넥터는 Cortex-M3 디바이스의 Serial Wire JTAG 기능

에 대한 지원을 제공한다. Serial Wire JTAG은 Serial Wire 출력으로 하드

웨어 디버깅뿐만 아니라 표준 JTAG처럼 어플리케이션 프로그래밍과

on-chip, off-chip 플래시 디바이스 디버깅을 가능하게 한다.

Page 11: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 11

<그림 3-1-9> JTAG 인터페이스 포트에 ULINK-ME 디버거 연결

5) ETM 인터페이스

ETM 인터페이스 커넥터는 Cortex 디버그+ETM 커텍터로 LPC1700 디바

이스에 대해 명령어 수준의 트레이스 디버깅을 지원한다.

<그림 3-1-10> ETM 인터페이스

20 핀 헤더는 Cortex 디버그와 ETM 트레이스 하드웨어에 대한 연결을

포함한다.

6) LED

Cortex-M3 NXP 보드의 LED는 다음과 같다.

Page 12: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 12

- POWER LED D3은 보드의 전원 상태를 표시한다.

- D13~D20으로 표시된 8포트 LED는 점퍼 J18이 연결되면 LED가 포트

핀으로 연결된다. 이 같은 LED는 어플리케이션을 테스트하는 동안 프

로그램의 상태를 표시하는데 유용하다. 점퍼 LED를 Open 하면 LED

구동 칩 U17이 비활성화 된다.

- 100M LED D4는 100Mbit 이더넷 LAN 연결을 가리킨다.

- 이더넷 커넥터의 주황색 LED는 LAN 트래픽이 있음을 표시한다.

- 이더넷 커넥터의 녹색 LED는 LAN과의 연결 상태가 좋음을 가리킨다.

- USC LED D11은 p2.9의 USB 소프트 커넥트를 가리킨다.

- UGL LED D12는 USB 링크 상태가 좋음을 가리킨다.

<그림 3-1-11> LED (상단 좌측부터 전원, GPIO, 이더넷(Ethernet),

하단 USB LED)

7) 푸시 버튼

Cortex-M3 NXP 보드는 두 개의 Tact 스위치가 있다.

- RESET Tact 스위치는 리셋 회로에 연결되어 마이크로 컨트롤러 를

리셋 한다. RST 점퍼를 제거하면 이 버튼이 비활성화 된다.

- INT 푸시 버튼은 마이크로 컨트롤러의 외부 인터럽트 0 (INT0)에 연결

된다. INT 점퍼를 제거하면 이 버튼이 비활성화 된다.

Page 13: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 13

<그림 3-1-12> Reset 스위치와 INT 스위치 와 점퍼 핀

8) 조이스틱

Cortex-M3 NXP 보드의 5-포지션 조이스틱 제어는 조이스틱 제어 핸들이

어디에 위치하느냐에 따라 5개의 포트 핀 중 하나를 접지 상태로 만든다. 제

어 핸들은 왼쪽, 오른쪽, 위, 아래, 혹은 보드 쪽으로 눌려(push)질 수 있다.

- 조이스틱의 왼쪽은 핀 C를 LPC1768 디바이스의 포트 핀 p1.26에 연결

해서 접지한다.

- 조이스틱의 오른쪽은 핀 B를 LPC1768 디바이스의 포트 핀 p1.24에 연

결해서 접지한다.

- 조이스틱의 위쪽은 핀 A를 LPC1768 디바이스의 포트 핀 p1.23에 연결

해서 접지한다.

- 조이스틱의 아래쪽은 핀 D를 LPC1768 디바이스의 포트 핀 p1.25에 연

결해서 접지한다.

- 조이스틱의 선택 위치는 핀 Ctrl 핀을 LPC1768 디바이스의 포트 핀

p1.20에 연결해서 접지한다.

<그림 3-1-13> 조이스틱

9) 포텐셔미터

Cortex-M3 NXP 보드의 포텐셔미터는 AD0.2 점퍼가 활성화 될 때, 포트

Page 14: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 14

0.25(AD0.2)를 연결한다. 전압 범위는 0.0 ∼ 3.3V 이다.

<그림 3-1-14> 포텐셔미터와 점퍼 핀

10) 스피커

Cortex-M3 NXP 보드는 D/A 컨버터 출력 핀에 스피커를 연결하여 사용

한다. LM386M 전압 파워 증폭기(U12)는 D/A 출력을 증폭하여 스피커를 구

동한다.

SPK 점퍼는 D/A 출력 (port 0, 핀 26, p0.26/AOUT)을 LM386M 증폭기

입력에 연결한다. 이 점퍼를 제거하면 스피커가 비활성화 된다.

<그림 3-1-15> 스피커 커넥터(CON18), 점퍼(J6), 증폭기(U12)

11) 시리얼 포트

Cortex-M3 NXP 보드는 on-chip 시리얼 UART TX핀인 P2.0, P0.2를

SP3232(U16)에 연결하여, 신호 레벨을 RS-232 전압 레벨로 변환한다.

UART0는 디버깅이나 플래시 다운로드를 위해 다른 유틸리티를 다운로드하

는 부트스트랩 모드에서 사용될 수 있다.

- EXT TTL0 점퍼(J11)를 연결시킬 경우 EXT IO A, B, C와 신호레벨의

UART0가 연결됨

Page 15: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 15

- EXT TTL1 점퍼(J12)를 연결시킬 경우 EXT IO A, B, C와 신호레벨의

UART1가 연결됨

- EXT UART0 점퍼(J13)를 연결시킬 경우 EXT IO A, B, C와 RS232

전압 레벨의 UART0가 연결됨

- EXT UART1 점퍼(J14)를 연결시킬 경우 EXT IO A, B, C와 RS232

전압 레벨의 UART1가 연결됨

<그림 3-1-16> UART0와 UART1 포트

UART0 DB9 커넥터는 표준 3-wire 인터페이스를 사용하고 DTR과 RTS

핀을 보드의 다른 컴포넌트에 연결하지 않는다.

<그림 3-1-17> UART0 DB9 핀 맵

UART1 DB9 커넥터는 표준 3-wire 인터페이스와 함께 DTR 핀을 통해

보드 리셋을 할 수 있도록 연결되어 있고, 아래 그림처럼 RTS 핀을 통해

In-System programming (ISP)이 가능하다.

Page 16: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 16

<그림 3-1-18> UART1 DB9 핀 맵

12) CAN 인터페이스

두 개의 CAN 인터페이스는 TJA1040 CAN 드라이버 (CAN0 – U8,

CAN1 – U9)와 termination 저항 (CAN0 – R28, R30. CAN1 – R39, R40)

을 사용한다.

CAN0과 CAN1 DB9 커넥터는 같이 연결되어 있고 (핀2는 CANL 신호,

핀7은 CANH 신호) 각각은 TJA1040 CAN 구동 칩에 연결되어 있다.

<그림 3-1-19> CAN0, CAN1 핀 맵

(참고) CAN termination 저항

CAN termination 저항은 Cortex-M3 NXP 보드를 CAN 네트워크에 연결하기 쉽

게 만들지만 항상 필요한 것은 아니다. Cortex-M3 NXP 보드를 CAN 네트워크에

연결할 때 termination 저항을 제거해야 할 경우가 있을 수 있다.

<그림 3-1-20> CAN0, CAN1 사진

13) USB 인터페이스

Cortex-M3 NXP 보드는 표준 USB “B” 커넥터를 포함하고 있으며, USB

B 커넥터를 통해 보드에 5V DC 전원을 공급할 수 있고, USB Client 로 동

작될 수 있다.

Page 17: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 17

Cortex-M3 NXP 보드는 두 개의 USB 커넥터를 추가로 포함하고 있다.

- USB-OTG(ON-The-Go) 어플리케이션을 위한 USB“micro-AB” 커넥터

- USB Host 어플리케이션을 위한 USB A 커넥터

D+와 D- 점퍼 커넥터로 OTG, Device, Host 어플리케이션을 선택하여 연

결 또는 단락 시킬 수 있다.

<그림 3-1-21> 상위부터 USB Client, USB Host, USB OTG

USB type 선택을 위한 점퍼

14) 이더넷 인터페이스

Cortex-M3 NXP 보드의 이더넷 인터페이스는 10/100 Fast 이더넷 3.3V

National Semiconductor DP83848 (U11)을 사용한다.

<그림 3-1-22> 10/100 Ethernet port, DP83848(U11)

15) MicroSD 커넥터

Page 18: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 18

Cortex-M3 NXP 보드는 하나의 MicroSD 메모리 카드 커넥터를 지원하여

메모리 카드를 연결할 수 있도록 해준다. Micro SD 는 2GB 용량까지 사용

할 수 있다.

<그림 3-1-23> MicroSD 커넥터

16) LCD 디스플레이

2.83인치 QVGA TFT-LCD 컬러 그래픽 디스플레이 패널은 240x320 픽셀

스크린을 포함하고 SPI 인터페이스를 사용해서 연결한다. LCD 패널은

Cortex-M3 NXP 보드의 30-PIN 헤더에 연결된다.

<그림 3-1-24> TFT-LCD

17) 확장 IO 모듈

① FND 모듈

7-segment 4digit 2개에 GPIO의 출력을 사용하여 8개의 숫자를

출력 할 수 있는 모듈

Page 19: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 19

<그림 3-1-25> FND 모듈

② 키패드 모듈

16개의 메트릭(Matrix) 키패드를 GPIO의 입력과 출력을 사용하여

16개의 Tact 스위치 상태 값을 받을 수 있는 모듈

<그림 3-1-26> 키패드 모듈

③ 센서 모듈

온도, 조도 습도, 음향, 가속도, 기울기, 진동, 가스, 인체감지, 초음

파 모듈에서 나오는 아날로그 데이터를 12Bit ADC를 통해 센서 데

이터를 수집할 수 있는 모듈

<그림 3-1-27> 센서 모듈

④ 서보 모터 모듈

서보 모터 2개에 PWM 신호를 주어 모터의 수직, 수평 움직임을

구현 할 수 있는 모듈

Page 20: 5장 실습보드 상세 설명ael.chungbuk.ac.kr/lectures/undergraduate/임베디드SW... · 2018-09-13 · 3 - 1 !"#$ %&' " ( )*+,-'./0123!"#$%&45' !'#67( )* 89' :;?@'ab/c

3 - 20

<그림 3-1-28> 서보 모터 모듈

⑤ 스텝 모터 모듈

스텝 모터 GPIO 신호를 주어 정밀한 모터의 움직임을 구현 할 수

있는 모듈

<그림 3-1-29> 스텝 모터 모듈