오픈소스와 16bit 마이컴을 활용하여 임베디드 기술 교육을 위한 통합개발보드(IDB)를 설계 및 개발하였다. 하드웨어는 일본 르네사스사의 16bit MCU인 H8/300H를 기반으로 하여 LED, LED Matrix, 모터, 센서 등 다양한 I/O 회로, SCI를 통한 컴퓨터와의 연결 및 $16{\times}2$ 캐릭터 LCD를 제어회로가 포함된 통합개발보드를 설계 및 구현하였다. 또한 소프트웨어는 오픈소스로 제공되는 어셈블러와 H8-C 컴파일러로 개발환경을 구축하였다. 그리고 리얼타임 OS인 TRON 과 마이컴용 리눅스인 uClinux를 도입할 수 있도록 메모리 확장 등을 고려하였다. 개발된 보드의 검증을 위해서 PCB 설계와 PCB 가공기를 이용하여 통합개발보드를 제작하였고 기본적인 I/O 제어 프로그램을 통해 기능을 확인하였다.
오픈소스와 16bit 마이컴을 활용하여 임베디드 기술 교육을 위한 통합개발보드(IDB)를 설계 및 개발하였다. 하드웨어는 일본 르네사스사의 16bit MCU인 H8/300H를 기반으로 하여 LED, LED Matrix, 모터, 센서 등 다양한 I/O 회로, SCI를 통한 컴퓨터와의 연결 및 $16{\times}2$ 캐릭터 LCD를 제어회로가 포함된 통합개발보드를 설계 및 구현하였다. 또한 소프트웨어는 오픈소스로 제공되는 어셈블러와 H8-C 컴파일러로 개발환경을 구축하였다. 그리고 리얼타임 OS인 TRON 과 마이컴용 리눅스인 uClinux를 도입할 수 있도록 메모리 확장 등을 고려하였다. 개발된 보드의 검증을 위해서 PCB 설계와 PCB 가공기를 이용하여 통합개발보드를 제작하였고 기본적인 I/O 제어 프로그램을 통해 기능을 확인하였다.
By the use of open source and 16bit Microcomputer, IDB(Integrated Development Board) for embedded technical education was designed and developed. Based on 16bit MCU H8/300H, LED, LED Matrix, motors, sensors and various I/O circuitry, and the connection to a computer via the SCI, and $16{\times}...
By the use of open source and 16bit Microcomputer, IDB(Integrated Development Board) for embedded technical education was designed and developed. Based on 16bit MCU H8/300H, LED, LED Matrix, motors, sensors and various I/O circuitry, and the connection to a computer via the SCI, and $16{\times}2$ character LCD was designed and implemented on IDB. In addition, the software development environment was build by the assembler and H8 C compiler which is provided to the open-source software. And memory expansion was considered to include TRON(Real time OS) and uClinux. To verify the developed board, IDB was fabricated by PCB machine, and the fuction was confirmed by the basic I/O control program.
By the use of open source and 16bit Microcomputer, IDB(Integrated Development Board) for embedded technical education was designed and developed. Based on 16bit MCU H8/300H, LED, LED Matrix, motors, sensors and various I/O circuitry, and the connection to a computer via the SCI, and $16{\times}2$ character LCD was designed and implemented on IDB. In addition, the software development environment was build by the assembler and H8 C compiler which is provided to the open-source software. And memory expansion was considered to include TRON(Real time OS) and uClinux. To verify the developed board, IDB was fabricated by PCB machine, and the fuction was confirmed by the basic I/O control program.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
기본적인 다양한 I/O 디바이스를 제어하는 펌웨어 프로그램부터 RTOS인 TRON이나 uClinux 등 운영체제의 도입을 고려하고 있기 때문에, TCP/IP 네트워크 및 충분한 메모리 공간의 확보가 가능한 프로세서로 그림 2와 같은 H8/300H 시리즈의 MCU를 이용한 마이크로 컴퓨터 평가보드를 목표로 연구를 시작하였다. 일반적으로 uClinux를 동작시키기 위해서는 최소한 2Mbyte의 메모리가 요구되고, Linux의 다양한 네트워크 응용을 활용하기 위해서 TCP/IP 인터페이스를 탑재한 보드가 필요하다.
본 논문에서는 임베디드 기술의 초급과정에서 중·고급 과정까지 활용이 가능하고 I/O 디바이스 중심의 펌웨어(firmware) 프로그램부터 소규모의 임베디드 리눅스 및 RTOS 등의 도입을 통한 응용프로그램 개발까지 가능하도록 일본 르네사스사의 16bit 프로세서인 H8/300H를 기반으로 하는 임베디드 기술 교육용 통합개발보드에 대하여 연구하였다.
제안 방법
일반적으로 uClinux를 동작시키기 위해서는 최소한 2Mbyte의 메모리가 요구되고, Linux의 다양한 네트워크 응용을 활용하기 위해서 TCP/IP 인터페이스를 탑재한 보드가 필요하다. 또한 H8 마이컴은 칩 단독으로 입수가 어렵기 때문에, 본 연구에서는 일본 akizukidenshi(秋月電子通商)사로 부터 제공되는 H8/3052F와 H8/3069F 시리즈 마이컴 보드를 기반으로 하여 통합개발용 I/O 보드를 개발 하였다[6].
또한 마이컴 모듈의 경우 기본적으로 2MB의 DRAM이 있으나, 추후 운영체제로 uClinux의 도입과 추가적인 응용프로그램을 고려하여 그림 9와 같이 HM5117800시리즈 2MB DRAM을 추가적으로 증설하였다[10].
본 논문에서 구현하고자 하는 통합개발보드의 기능은 먼저 H8/3052F를 기반으로 하여 기본적인 I/O 단자를 통한 펌웨어 실습이 가능하도록 아래와 같은 사양으로 보드를 설계 하였다.
본 논문은 일본 르네사스사의 16bit MCU인 H8/3052F를 기반으로 하여 LED, LED Matrix, 스위치 등 다양한 I/O 회로, SCI를 통한 컴퓨터와의 연결 및 16×2 캐릭터 LCD를 제어회로가 포함된 통합개발보드를 설계 및 구현하였다.
완성된 H8/3052F 통합개발보드의 기능 테스트를 위해 예제 프로그램 등을 Flash Write 하여 I/O 모듈별 작동 여부를 확인하였다. 소스 프로그램은 H8 GCC를 이용하여 컴파일하고, 생성된 이미지 파일은 SCI 연결 단자를 통해서 H8write 프로그램으로 개발보드의 Flash ROM에 기록하여 작동을 확인하였다. 그림 10은 8개의 LED의 shift 기능과 캐릭터 LCD에 ITU 타이머에 의한 시계 표시 프로그램을 실행한 결과이다.
완성된 H8/3052F 통합개발보드의 기능 테스트를 위해 예제 프로그램 등을 Flash Write 하여 I/O 모듈별 작동 여부를 확인하였다. 소스 프로그램은 H8 GCC를 이용하여 컴파일하고, 생성된 이미지 파일은 SCI 연결 단자를 통해서 H8write 프로그램으로 개발보드의 Flash ROM에 기록하여 작동을 확인하였다.
본 논문은 일본 르네사스사의 16bit MCU인 H8/3052F를 기반으로 하여 LED, LED Matrix, 스위치 등 다양한 I/O 회로, SCI를 통한 컴퓨터와의 연결 및 16×2 캐릭터 LCD를 제어회로가 포함된 통합개발보드를 설계 및 구현하였다. 이를 위해 I/O 모듈 설계와, PCB artwork, PCB 제작 및 부품 실장을 통해 실습용 통합개발보드를 구현하였고, 기본적인 I/O 제어 프로그램을 통해 동작을 확인하였다.
이와 같이 가공된 기판위에 모듈별 설계도에 따라 소요되는 마이컴모듈, 저항, 콘덴서, 커넥터, 스위치, LED, LCD 등을 배치하고 납땜 등을 통해 그림 8과 같이 H8/3052F용 통합개발보드를 완성하였다.
이와 같이 마이컴 보드, I/O 모듈 및 전원회로 등을 포함한 통합개발보드 회로를 Easy CAD 툴을 이용하여 그림 7과 같이 PCB artwork를 하였고, 밀링방식의 PCB 가공기를 이용하여 샘플용 보드를 제작하였다.
대상 데이터
❏ 70개의 I/O 포트 등을 내장하고 있다.
성능/효과
또한 uClinux-H8 위에 “thttpd”를 구동시켜 LAN 포트를 통해서 웹서버의 동작을 확인할 수 있었다.
본 연구에서는 H8/3052F 통합개발보드의 개발과 동시에 H8/3069F 마이컴을 이용한 통합개발보드도 설계가 진행중이며, H8/3069F 보드에 NFS(network file system)를 통해 포팅된 uClinux를 구동한 결과 그림 11과 같이 성공적으로 부팅되는 것을 확인하였다. 또한 uClinux-H8 위에 “thttpd”를 구동시켜 LAN 포트를 통해서 웹서버의 동작을 확인할 수 있었다.
후속연구
향후 H8/3069F 마이컴을 기반으로 하는 통합개발보드도 같이 개발 하고 모터 및 센서 등의 확장형 I/O 모듈 등 하드웨어와 TRON 및 uClinux 등의 운영체제도 적용이 가능하도록 추가적으로 연구할 계획이다. 그리고 앞으로 본 연구를 통한 통합개발보드가 국내 임베디드 기술 인력양성에 조금이나마 도움이 되었으면 한다.
개발된 보드는 교육실습을 주목적으로 만든 보드로 완전한 통합개발보드로는 아직 부족한 점이 많다. 향후 H8/3069F 마이컴을 기반으로 하는 통합개발보드도 같이 개발 하고 모터 및 센서 등의 확장형 I/O 모듈 등 하드웨어와 TRON 및 uClinux 등의 운영체제도 적용이 가능하도록 추가적으로 연구할 계획이다. 그리고 앞으로 본 연구를 통한 통합개발보드가 국내 임베디드 기술 인력양성에 조금이나마 도움이 되었으면 한다.
질의응답
핵심어
질문
논문에서 추출한 답변
임베디드 기술은 무엇인가?
임베디드 기술은 특정한 제품이나 솔루션에서 주어진 작업을 수행할 수 있도록 추가로 탑재되는 임베디드 시스템(차세대 성장동력 분야를 비롯한 정보가전 및 정보통신기기, 항공기, 차량, 로봇, 산업기기, 의료기기 등)에 내장되어 하드웨어의 제어, 통신, 멀티미디어, 인터넷, 게임, 인공지능, 유비쿼터스 컴퓨팅 등 기본 기능 및 다양한 부가기능을 제공하는 기술이다.
H8/3052F는 몇 MHz 클록 스피드를 가지고 있는가?
H8/3052F는 25MHz 클록 스피드를 가지고 있으며 내부 구성은 32bit의 CISC 프로세서로 있지만, 임베디드용의 소규모 구성이며, 일반적인 RISC 프로세서에 가까운 명령어 set로 되어있다. 직접 접근 가능한 메모리 공간은 16Mbyte이고, 전부 직접접근이 가능하다.
H8시리즈는 각각 어떤 범용 레지스터 구조를 가지고 있는가?
H8시리즈는 전체적으로 공통적인 것은 범용 레지스터 구조이다. H8/300과 300L은 16개의 8bit 범용레지스터가 있고, H8/300H에서는 여기에 8개의 16bit 레시스터를 확장하여, 전체적으로 8개의 32bit 범용레지스터 구조를 가지고 있다.
참고문헌 (10)
지식경제부, "신성장동력 비전 및 발전전략", 제29회 국가과학기술위원회 보고자료, Jan. 2009.
정경태, "하드웨어와 소프트웨어의 공동설계방법론의 출현", IDEC Newsletter, Vol. 3, pp.4-7, March 2008.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.