검색 전체 메뉴
PDF
맨 위로
OA 학술지
교육용 타겟보드 및 응용 프로그램 개발 Development of Educational Target Board and Application Programming
ABSTRACT
교육용 타겟보드 및 응용 프로그램 개발
ABSTRACT

Semiconductor equipment can be divided into pre-process equipment, post-process equipment, and test equipment. Domestic semiconductor equipment companies have used the Visual Studio development environment provided by MS to control such equipment. MFC technology support has been weakened since Microsoft opened the .NET, but as the MFC continues to provide functionality, semiconductor device control systems have been developed in the Visual C ++ / MFC development environment. However, due to the weak MFC technology support and the development of computer hardware technology, the development of new equipment control system in the Visual C # / WinForm (WPF) environment has recently been, and the MFC base is limited to maintenance and function improvement. Meanwhile, major domestic semiconductor equipment producers are expected to increase their investment in the semiconductor equipment industry in the memory sector. In order to cultivate SW development manpower for semiconductor device control, appropriate education tools are required at universities. Therefore, in this study, we developed a low-cost small educational target board and application for interface application that can practice hardware control in Visual Studio C # development environment. The devices and sensors mounted on the target board are 5-switch, 4-LED, 4-RGB LED, 4-FND, variable resistance, illuminance sensor, temperature / humidity sensor, piezo around the ARM® 32-bit Cortex®-M3 CPU. It is a port for controlling stepper motor and servo motor. And the application is a program for driving these parts. Learning about the field of equipment control with the results of this study is expected to be of great help to job seekers who want to enter this field.

KEYWORD
Semiconductor equipments , Target board , Interface applications , Protocol frame , Memory mapping table , Hardware control , Serial Communication
  • 1. 서 론

    반도체 장비 제조는 전자, 전기, 광학, 화학, 정밀가공기술, 기계설계 등 다양한 최첨단 기술의 종합으로 가능하며, 이러한 반도체 장비는 반도체 웨이퍼의 제조, 칩 제조, 조립 및 검사 뿐만 아니라 반도체 제조 장치가 설치되는 클린룸 및 반도체 공장전체 환경제어에 관련된 각 설비도 포함한다[1].

    반도체 장비는 전공정 장비, 후공정 장비 그리고 테스트 장비로 구분할 수 있으며, 국내 반도체 장비 기업은 이러한 장비의 제어를 위해서 MS사에서 제공하는 Visual Studio 개발환경을 많이 사용하여왔다[1][2]. MS사에서 닷넷을 오픈한 이후에 MFC 기술 지원이 약화되었지만 MFC 기능을 계속 제공함에 따라 Visual C++/MFC 개발 환경에서 반도체 장비 제어 시스템이 계속 개발되어 왔다.

    하지만 MS사의 MFC 기술지원 약세와 컴퓨터 하드웨어 기술의 발전으로 최근에는 Visual C#/WinForm(WPF)[3][4] 환경으로 신규 장비 제어 시스템을 개발하고 MFC기반은 유지 보수 및 기능 개선으로 한정되는 추세이다.

    2020년에 국내 주요 반도체 장비 생산 기업은 메모리 분야의 반도체 장비 산업에 투자를 늘릴 전망이며[5] 이럴 경우 장비 제어를 위한 개발 인력의 수요가 커질 것이다. 반도체 장비 제어를 위한 SW 개발 인력의 양성을 위해서 대학에서는 이에 대응 할 수 있는 적절한 교육도구가 요구된다.

    그래서 본 연구에서는 Visual Studio C# 개발 환경에서 하드웨어 제어를 실습할 수 있는 인터페이스 응용을 위한 저가의 소형 교육용 타겟보드와 응용 프로그램을 개발하였다.

    본 논문의 구성은 다음과 같다. 2장에서는 관련 연구에 대해 기술하고 3장에서는 타겟보드와 응용 프로그램 개발에 대해 기술한다. 그리고 4장에서는 결론은 언급한다.

    2. 관련 연구

    H전자[6]에서 공급하는 HBE-PC 기반 제어 키트는 32bit 고성능 프로세서를 탑재해서 Visual Studio VC++ 개발 환경에서 센서와 액츄에이터를 직접 제어할 수 있고, 8bit 프로세서와 연동을 통한 다양한 주변 장치를 센싱하고 구동할 수 있는 응용 프로그램의 구현이 가능하여 대학에서 하드웨어 인터페이스 응용 실습 도구로 사용할 수 있다. HS[7]에서도 ARM7, ARM9, Cortex-M 기반 프로세서의 C/C++ 개발 환경에서 하드웨어 제어 실습이 가능한 도구를 제공한다. 그러나 이들 교육용 키트의 가격이 고가이어서 교수자 및 학습자가 구매하여 사용하는 데는 비용면에서 부담이 있다.

    한편, [8,9]에서는 Visual Studio C++/MFC 환경에서 시리얼 통신을 이용한 하드웨어 인터페이스 응용 실습을 단단히 할 수 있도록 하는 교육용 미니보드와 응용프로그램을 개발하고 활용 방안을 제시한 바 있으며 여기서 소개한 개념을 Visual Studio C#/WinForm 기반으로 전환하는 연구[10]도 있었다. 본 논문에서는 이러한 전환 연구를 보다 구체적이고 완벽하게 구현하여 새로운 교육용 타겟 보드와 펌웨어를 포함한 응용 프로그램을 제시하였다.

    3. 교육용 타겟보드 및 응용 프로그램 개발

       3.1 교육용 타겟보드 개발

    본 연구에서는 소형의 보드에 다양한 부품들을 탑재하여 하드웨어 인터페이스 응용 실습이 가능 하도록 하였다. <그림 1>은 CPU 중심의 회로를 보인 것으로 120mm*90mm 크기의 보드에 다양한 부품들이 탑재되도록 PCB 아트워크[11] 설계하였다. 교육용 타겟 보드에 탑재되는 부품들은 <그림 2>처럼 ARM® 32-bit Cortex®-M3 CPU[12]를 중심으로 5-스위치, 4-LED, 4-RGB LED, 4-FND, 가변저항, 조도센서, 온도/습도센서, 피에조 그리고 스텝모터 제어용 드라이버와 서보모터 제어를 위한 포트이다. 그리고 외부와의 통신을 위해서 FT230xBasic UART[13]를 지원하는 마이크로 5핀 USB 포트를 장착하였다.

    RC 서보 모터와 피에조 그리고 온도/습도 센서는 CPU내 타입머 인터럽트를 이용한다. 이는 RC 서보 모터을 구동하기 위해서는 주기적인 펄스폭 변조(PWM: Pulse Width Modulation)신호가 필요하며, 피에조는 음계를 출력하기 위해서 구형파 주파수의 출력 유지 시간이 요구되고, 온도/습도 센서는 아날로그를 디지털 신호로 변환되는 시간이 계산되어야하기 때문이다. 4-RGB LED는 SPI(Serial Peripheral Interface) 버스로 연결되며 스텝모터와 4-FND 그리고 4-LED와 4-스위치는 GPIO에 연결된다. 스텝모터의 경우 각도에 따른 정밀한 제어를 위해서 별도의 장치로 제작하여 구동할 수게 하였다.

    <그림 3>은 위에서 언급한 회로와 부품을 가지고 제작된 교육용 타겟보드와 서보모터 및 스텝핑 모터를 보인 것이며, 기본적으로 전원은 마크로 5핀 USB를 통해 공급되며 스텝핑 모터 제어를 위해서 별도의 12V 어댑터 전원을 사용한다.

       3.2. 프로토콜 프레임 구성 및 정보

    응용 프로그램과 타겟 보드간의 데이터 송수신은 교육용 타겟 보드 용도에 맞게 기본적으로 RS-232C[14]와 같은 시리얼 통신 방식의 ModBus 프로토콜[15]을 변형하여 사용하며, 관련된 명령을 처리하기 위한 기능을 펌웨어에 내장하였다. 응용 프로그램에서 타겟 보드로 전송하는 자료 즉, 명령을 주고받기 위한 4바이트 크기의 프로토콜 프레임은 <그림 4>와 같다.

    응용 프로그램에서 타겟 보드를 제어하기 위한 프로토콜 프레임의 첫 번째 바이트에는 명령어 코드가 채워진다. 본 연구에서는 4종류의 명령어 코드 Write Bit(0x00), Read Bit(0x01), Write Word(0x02), Read Word(0x03)를 제공한다. 두 번째 바이트에는 <표 1>에서 제시한 CPU내 메모리 매핑 주소가 채워진다. 즉 제어하고자 하는 장치나 센서의 메모리 주소가 용도에 맞게 기입된다. 그리고 프로토콜 프레임의 세 번쨰와 마지막 바이트에는 장치 및 센서를 비트 단위로 제어할 경우 장치 및 센서의 비트 번호와 비트 데이터가 채워지며, 워드 단위로 제어할 경우에는 장치 및 센서의 상위 및 하위 데이터가 각각 채워진다.

    <그림 5>의 (a)는 비트 단위로 4개의 LED중 3번 비트에 연결된 LED만을 On/Off 하고자 할 경우의 프로토콜 프레임 즉 명령을 예시한 것이며 (b)는 워드 단위로 4개의 LED를 동시에 모두 켜고자 할 경우를 보인 것이다.

    한편, 타겟 보드에 장착된 장치들 중에 스위치와 온도/습도 그리고 조도/가변저항 장치를 사용하기 위해서는 먼저 응용 프로그램에서 워드 단위의 Write 명령어로 장치 활성화를 먼저 실행해야 하는데 매핑되는 메모리 주소는 각각 0x03, 0x10, 0x14 이다.

    [표 1.] 장치/센서와 메모리 주소간 매칭 테이블

    label

    장치/센서와 메모리 주소간 매칭 테이블

       3.3 Visual C# 기반의 하드웨어 제어

    본 연구에서 제안한 교육용 타겟 보드내 장치들은 MS사의 Visual Studio에 포함되어 있는 Visual C#/WinForm으로 구현된 응용 프로그램에 의해 구동된다. C#의 System.IO.Ports.SerialPort에서 제공하는 함수들을 이용하여 통신 포트를 Open/Close하며, 타겟보드로 자료를 송수신한다. <그림 6>은 타겟보드내 장치 제어 함수 호출시에 C# 기반 웅용과 SerialPort 객체 사이의 데이터 송수신 절차를 보인 것이다. 응용 프로그램에서 프로토콜 프레임 자료형으로 선언된 Query에 제어 명령을 채워서 SendQuery(Query)로 호출하면 SerialPort 객체에서는 My Comm.Write()를 통해서 제어 명령을 타겟보드에 전송한다. 타겟보드로부터 오는 자료는 Mycomm.DataReceived() 가 수신하여 MyComm.Read() 로 읽혀져서 등록된 함수를 호출한다. 스위치 관련 제어는 CallBack() 함수와 Delegate()함수를 통해 실행이 구현된다.

    응용 프로그램에서 SerialPort 객체를 통해 제어 명령이 타겟보드로 전송되면 타겟보드의 펌웨어에서 Serial Interrupt 발생하고 전송된 명령을 조합 및 분석하여 공유 메모리 영역을 변경(Read/Write)하여 하드웨어를 제어 업무(Task)를 수행한다. <그림 7>은 이러한 웨어의 실행 구조를 보인 것이며, <그림 8>은 우측 첫 번째 LED를 켜는 하드웨어 제어 예제에 대한 프로그램 실행 구조를 보인것이다.

       3.4. 실행예

    본 연구에서 개발한 타겟보드를 이용하면 각각의 부품 및 센서 동작 제어에 대한 간단한 기본 프로그램과 이들 장치들을 서로 연동한 다양한 응용 프로그램 구현을 통한 실습이 가능하다. <그림 9>는 시리얼 포트 8번으로 연결하여 4개의 LED를 각각 On/Off 할 수 있는 기본 프로그램의 실행화면으로 첫 번째와 두 번째 LED를 On시킨 예를 보인 것이다.

    4. 결 론

    닷넷이 출시된 다음 VS2008 이후부터는 MFC에 큰 기술적 진보가 없고 VS2015부터는 따로 패키지를 설치[16]해야 하면서부터 C# 기반으로 하드웨어를 제어하는 경우가 점점 늘어나고 있다. C#으로 장비 제어 시스템을 개발할 경우 과거 속도 저하에 대한 문제점이 언급되기도 했지만 PC의 성능이 매우 향상되었기에 Visual Studio 개발 환경내 선택사항으로 MFC를 사용할 수 있더라도 Visual C++/MFC 보다 Visual C# 기반으로 하드웨어를 제어 시스템을 개발하는 추세이다. 그럼으로써 SW 개발 시간을 단축시키는 효과를 얻을 수 있다.

    이에 본 연구에서는 최근 장비 제어 분야에서 많이 사용하고 있는 MS사의 Visual Studio C#/WinForm 개발환경으로 하드웨어를 제어하면서 인터페이스 응용문제를 실습할 수 있는 교육용 도구를 개발하여 이 분야에 진출하려는 취업 준비생에 조금이나마 도움을 주고자 하였다.

참고문헌
  • 1. 2017 Semiconductor equipment technology and market forecast Vol.50 google
  • 2. 2019 Microsoft corporation google
  • 3. 2017 C# programming google
  • 4. 2012 Pro WPF 4.5 in C#: windows presentation foundation in .NET 4.5, Apress google
  • 5. 2019 Semiconductor equipment industry : increased investment by 2020 google
  • 6. 2019 Hanbak electronics google
  • 7. 2019 HUINS google
  • 8. 2016 Making and application of educational mini-board under visual c++ development environment [Journal of Knowledge Information Technology and Systems] Vol.11 P.675-683 google
  • 9. 2017 A study on utilization of the mini-board based on visual c++ MFC [Proceedings of the 21st KKITS Spring Conference] Vol.11 P.56-59 google
  • 10. 2018 A study on education tool of visual interface application [Proceedings of the 26st KKITS Spring Conference] Vol.13 P.117-120 google
  • 11. 2016 PCB artwork google
  • 12. 2019 STMicroelectronics google
  • 13. 2019 Future Tech Devices International Ltd. google
  • 14. 2017 Serial port complete: COM ports, usb virtual COM Ports, and ports for embedded systems google
  • 15. 2015 Modbus:the everyman’s guide to modbus, CreateSpace Independent Publishing Platfrom google
  • 16. 2019 Namuwiki google
OAK XML 통계
이미지 / 테이블
  • [ 그림 1. ]  교육용 타겟보드 회로 일부
    교육용 타겟보드 회로 일부
  • [ 그림 2. ]  교육용 타겟보드의 하드웨어 구성도
    교육용 타겟보드의 하드웨어 구성도
  • [ 그림 3. ]  교육용 타겟보드와 주변 장치
    교육용 타겟보드와 주변 장치
  • [ 그림 4. ]  프로토콜 프레임
    프로토콜 프레임
  • [ 표 1. ]  장치/센서와 메모리 주소간 매칭 테이블
    장치/센서와 메모리 주소간 매칭 테이블
  • [ 그림 5. ]  프로토콜 프레임 예시
    프로토콜 프레임 예시
  • [ 그림 6. ]  C# 응용과 SeriallPort 객체간 송수신 절차
    C# 응용과 SeriallPort 객체간 송수신 절차
  • [ 그림 7. ]  펌웨어 실행 구조
    펌웨어 실행 구조
  • [ 그림 8. ]  프로그램 실행 구조(예시)
    프로그램 실행 구조(예시)
  • [ 그림 9. ]  LED 제어 기본 프로그램 실행 화면
    LED 제어 기본 프로그램 실행 화면
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.