강 의  계 획 서

한국과학영재학교

2009학년도 제1학기

교과구분	정보과학과	학점	3	담당교원	이수성3	강의실	전산 2실
교과목명	논리회로	담당시수	3	연구실		수강대상
				창조관7층 연구실2(373)		07, 08 학번

1.  교과목의 개요

목 표	ARM 마이크로 컨트롤러용 LabVIEW Embedded 개발환경은 임베디드 설계를 위한 종합적인 그래픽 개발 환경이다. 이 교육 과정에서는 C 언어를 기반으로 하는 어려운 임베디드 개발환경을 탈피하고, LabVIEW기반의 그래픽 개발 환경을 이용하여 학생들로 하여금 쉽게 임베디드 시스템을 이해하고 프로그램할 수 있도록 한다. 교육과정에서 배우게 되는 임베디드 시스템은 최근 각광을 받고 있는ARM의 CoreTex-M3(32bit ARM Core)를 내장한 마이크로컨트롤러를 기반으로 하는 시스템이다. 이 교육과정에서는 학생들이 마이크로컨트롤러(MCU)의 설계와 제어를 위한 LabVIEW프로그래밍을 학습하고, 이를 이용한Cortex-M3기반 마이크로컨트롤러의 동작 및 제어 방법을 학습하여, 로봇 구동체 및 각종 주변장치(Peripheral) 들을 구동해 보도록 한다.
단 원	주 요 내 용
1. LabVIEW와 LabVIEW Embedded	LabVIEW와 LabVIEW Embedded의 소개 및 구성
2. labview프로그램의 구조	LabVIEW에서 사용되는 여러 가지 프로그래밍 구조와 파일 저장 방법
3. labview 임베디드 arm 마이크로 컨트롤러 개발활경	KEIL 컴파일러 개발툴 설치, LabVIEW Embedded Module 설치
4. labview 임베디드를 이용한 디지털 제어	hbe-mcu-multi 구동, 마이크로컨트롤러와 GPIO, 마이크로컨트롤러의 입출력 포트
5. labview임베디드를 이용한 아날로그제어	A/D 컨버터, 아날로그의 제반사항
6. labview 임베디드를 이용한 출력제어장치제어	출력장치에 대한 이해, OLED를 이용하여 그림그리기
8. labview임베디드를 이용한 타이머인터럽트	타이머와 인터럽트, 타임드 루프를 핸들러로 사용
9. 모터제어 실험실습	스텝모터 돌리기, 사용모듈과 회로도, 핀정보확인 및 실습, 구동 프로그램
10. labview임베디드를 이용한 시리얼통신	UART와 USART 통신포트를 이용한 예제 실습
11. labview임베디드를 이용한 이더넷 통신제어	Luminary 모듈의 TCP/IP를 이용해서 PC와 통신하는 프로그램 이해, PC가 보내는 메시지를 Luminary가 받아서 디스플레이
12. 마이크로 컨트롤러 활용	각종 센서를 이용한 장애물 감지

2. 교재 및 참고도서

아이디어를 작품으로 완성하는 LABVIEW, 강대진, INFINITY BOOKS

지능형 로봇 모터제어, 한백전자

3. 평가 내용

수행평가 (30%)		실기	기말평가	출 결	합 계	비 고
과제	텀프로젝트	20%	40%	10%	100%
15%	15%

1) 1회 결시시 3점 감하며, 20% 이상 결시(3회 지각은 1회 결시)시에는 성적은 "F"로 처리된다.

2) 과제는 진도에 맞는 개인 programming 과제로 하며, 기한을 어기면 감점 처리를 원칙으로 하며 미제출시에는 해당점수는“0점”처리한다. 다만 과제를 copy 할 경우 성적은 “F"로 처리된다.

3) 각 과제물은 상대평가하고, 창작을 원칙으로 하며, 만일 어떤 파일을 참고하였다면 참고파일의 출처를 정확히 표시하여야 하며 차별화를 설명해야한다.

4) 공결시에는 본인이 취득한 점수의 100%, 병결시에는 80%를 부여한다.

5) term project는 1학기에 걸쳐 진행되며, 개인과제를 원칙으로 평가한다.

6) 수업에 결석하거나 지각할 경우, 또는 수업에 방해되는 행동을 할 경우 출석 및 태도 점수를 감점한다.

4. 주별 강의내용

주 별	강의 및 활동내용	과제 및 기타 참고사항
제1주	LabVIEW 임베디드 소개 및 구성 - LabVIEW의 개요를 이해한다 - LabVIEW 임베디드 개발환경을 이해한다. LabVIEW 임베디드 개발환경을 구축한다.	이론/실습
제2주	LabVIEW 프로그래밍 1 - LabVIEW 프로그래밍 방법을 이해하고 실습한다. LabVIEW에서의 데이터 타입, 배열, 클러스터를 학습한다.	이론/실습
제3주	LabVIEW 프로그래밍 2 - LabVIEW 프로그래밍 방법을 이해하고 실습한다. LabVIEW에서의 연산방법, Sub Module, 제어구조 1을 학습한다.	이론/실습
제4주	LabVIEW 프로그래밍 3 - LabVIEW 프로그래밍 방법을 이해하고 실습한다. LabVIEW에서의 제어구조 2와 파일 입출력 방법을 학습한다.	이론/실습
제5주	CoreTex-M3 기반 마이크로컨트롤러 소개 및 디지털I/O 제어 - ARM CoreTex-M3 Core의 구조와 특징을 이해한다. - Coretex-M3 기반 마이크로컨트롤러의 구조 및 특징에 대해서 이해한다. - LabVIEW를 이용한 마이크로컨트롤러 제어를 위한 기초 예제를 통해 LabVIEW 임베디드 개발환경을 익힌다. - 마이크로컨트롤러의 디지털 I/O를 이해한다. - 기초 주변장치(LED, 7-Segment LED, Push Button, Dip-Switch등)의 구동 원리를 이해한다. 기본 주변장치를 이용하여 마이크로컨트롤러의 디지털 I/O 제어를 실습한다.	이론/실습

제6주	LabVIEW 임베디드를 이용한 마이크로컨트롤러 제어 (아날로그 I/O) - CoreTex-M3 기반 마이크로컨트롤러의 ADC 구조 및 제어 방법을 이해한다. - 마이크로컨트롤러의 ADC 기능을 이용하여 가변저항의 아날로그 입력 값을 읽어들이는 실습을 한다. - 온도 센서와CDS 센서의 구조와 구동 원리를 이해한다. - 마이크로컨트롤러를 이용하여 온도센서를 제어하고 온도값을 읽어들이는 실습을 한다. 마이크로컨트롤러를 이용하여 CDS센서를 제어하고 조도값을 읽어들이는 실습을 한다.	이론/실습
제7주	LabVIEW 임베디드를 이용한 마이크로컨트롤러 제어 (LCD 출력장치) - 마이크로컨트롤러의 외부 메모리 인터페이스를 이해하고 제어 방법을 익힌다. - Text LCD 의 구조 및 동작 원리를 이해한다 - OLED의 구조 및 동작원리를 이해한다. - 마이크로컨트롤러를 이용하여 LabVIEW로 Text LCD를 제어하는 실습을 한다. 마이크로컨트롤러를 이용하여 LabVIEW로 OLED를 제어하는 실습을 한다.	이론/실습
제8주	LabVIEW 임베디드를 이용한 마이크로컨트롤러 제어 (타이머, 인터럽트, PWM) - 마이크로컨트롤러의 인터럽트 기능에 대한 구동원리를 이해하고, 그 제어 방법을 습득한다. - 마이크로컨트롤러의 타이머 기능에 대한 구동원리를 이해하고, 그 제어 방법을 습득한다. - 마이크로컨트롤러의 PWM 기능에 대한 구동 원리를 이해하고, 그 제어 방법을 습득한다. - DC 모터의 구동원리를 이해하고, 그 제어 방법을 습득한다. 구동체의 DC 모터, Push-Button, LED등을 이용하여 인터럽트 및 타이머, 그리고 PWM 제어 방법을 실습한다.	이론/실습
제9주	LabVIEW 임베디드를 이용한 마이크로컨트롤러 제어 (시리얼 통신) - 마이크로컨트롤러의 UART 인터페이스 기능의 동작원리를 이해하고, 그 제어 방법을 습득한다. - 마이크로컨트롤러의 I2C 인터페이스 기능의 동작원리를 이해하고, 그 제어 방법을 습득한다. - 마이크로컨트롤러의 SPI 인터페이스 기능의 동작원리를 이해하고, 그 제어 방법을 습득한다. - LabVIEW 임베디드를 이용하여 온습도 센서를 제어하는 실습을 한다. LabVIEW 임베디드를 이용하여 PC와 UART 시리얼 통신을 하는 실습을 수행한다.	이론/실습
제10주	LabVIEW 임베디드를 이용한 마이크로컨트롤러 제어 (이더넷 통신) - 마이크로컨트롤러의 이더넷 통신기능의 동작원리를 이해하고 그 제어 방법을 습득한다. - TCP/IP 프로토콜등 기본 LAN 통신 원리를 이해한다. LabVIEW 임베디드를 이용하여 PC와 LAN 통신을 하는 실습을 수행한다.	이론/실습

제11주	LabVIEW 임베디드를 이용한 로봇 구동체 제어(로봇 이동제어) - DC 모터의 속도 제어 방법을 습득한다. - 로봇 구동체의 이동 제어 (전후진, 회전) 방법을 습득한다. - 적외선 센서의 구동원리를 이해하고 그 제어 방법을 습득한다. - 로봇 구동체를 원하는 방향과 원하는 속도로 이동시키는 실습을 실시한다. 적외선 센서를 이용하여 바닥의 라인을 감지하는 실습을 실시한다.	응용/실습
제12주	LabVIEW 임베디드를 이용한 로봇 구동체 제어(장애물 감지) - PSD 센서의 구동원리를 이해하고 그 제어 방법을 습득한다. - PSD를 이용하여 장애물을 감지하는 실습을 실시한다. 장애물 감지에 따라 로봇 구동체가 장애물을 회피하는 실습을 실시한다.	응용/실습
제13주	LabVIEW 임베디드를 이용한 응용실습(디지털 온도계) 온습도 센서와 Text LCD를 이용하여 디지털 온도계를 구현하는 실습을 실시한다.	응용/실습
제14주	LabVIEW 임베디드를 이용한 응용실습(디지털 액자) OLED를 이용하여 디지털 액자를 구현하는 실습을 실시한다.	응용/실습
제15주	LabVIEW 임베디드를 이용한 응용실습(이더넷 통신을 이용한 원격제어) 이더넷 통신을 이용하여 하드웨어를 원격 제어하는 실습을 한다.	응용/실습
제16주	LabVIEW 임베디드를 이용한 응용실습(라인트레이서) 적외선 센서와 구동체를 이용하여 라인트레이서를 구현하는 실습을 한다.	응용/실습