• 검색 결과가 없습니다.

Design and Implementation of a Multi-level Simulation Environment for WSN: Interoperation between an FPGA-based Sensor Node and a NS3

N/A
N/A
Protected

Academic year: 2021

Share "Design and Implementation of a Multi-level Simulation Environment for WSN: Interoperation between an FPGA-based Sensor Node and a NS3"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

이 연구는 교육부의 재원으로 한국연구재단의 기초과학연구 프로그램(No. 2014R1A6A3A04059410, 2015R1A2A2A01007186) 의 지원을 받아 수행되었습니다.

Received: 16 August 2016, Revised: 25 November 2016, Accepted: 29 November 2016

Corresponding Author: Daejin Park E-mail: [email protected]

1) 한국과학기술원 전기 및 전자공학과 2) 경북대학교 IT대학 전자공학부

FPGA 기반 센서 노드와 NS3 연동을 통한 다층 무선 센서 네트워크 모의 환경 설계 및 구현

석문기1・ 김탁곤1・ 박대진2 †

Design and Implementation of a Multi-level Simulation Environment for WSN: Interoperation between an FPGA-based Sensor Node and a NS3

Moon Gi Seok1Tag Gon Kim1Daejin Park2†

ABSTRACT

Wireless sensor network (WSN) technology has been implemented using commercial off-the-shelf microcontrollers (MCUs), In this paper, we propose a simulation environment to realize the physical evaluation of FPGA-based node by considering vertically cross-layered WSN in terms of physical node device and network interconnection perspective. The proposed simulation framework emulates the physical FPGA-based sensor nodes to interoperate with the NS3 through the runtime infrastructure (RTI). For the emulation and interoperation of FPGA-based nodes, we extend a vendor-providing FPGA design tool from the host computer and a script to execute the interoperation procedures. The standalone NS-3 is also revised to perform interoperation through the RTI. To resolve the different time-advance mechanisms between the FPGA emulation and event-driven NS3 simulation, the pre-simulation technique is applied to the proposed environment. The proposed environment is applied to IEEE 802.15.4-based low-rate, wireless personal area network communication.

Keywords : WSN, FPGA, NS3, Interoperation, HLA/RTI

요 약

WSN(Wireless Sensor Network)을 구성하는 노드의 빠른 프로토타이핑을 위해서, 상용 MCU(Microcontroller) 기반 의 센서 노드 보다는 하드웨어 재구성이 가능한 FPGA 기반의 구현이 적합하다. 본 논문은 FPGA 기반 센서 노드의 노드와 네트워크 레벨의 다층 분석을 위한 시뮬레이션 환경을 제안하고자 한다. 제안 환경은 FPGA 기반 노드와 네트워크 시뮬레이 터인 NS3가 IEEE 연동 표준인 HLA(High-level Architecture) 기반의 연동 미들웨어 RTI에 참여하여 방식을 따른다. 본 환경은 기존의 FPGA 디자인 툴을 server-client 방식으로 설계한 어댑터, FPGA와 연결된 호스트 컴퓨터에서 회로에 신호 입출력이 가능한 디지털 블록, 연동 스크립트를 이용하여 FPGA 에뮬레이션과 연동이 되도록 지원한다. 단독으로 동작하는 NS3 또한 HLA 기반 연동을 위해 수정하였다. FPGA 제안 환경은 에뮬레이션과 이벤트 기반으로 동작하는 NS3 시뮬레이 션 간 서로 다른 시간 진행 방식은 문제를 해결하기 위해 pre-simulation 기술을 적용하여 설계하였다. 제안하는 시뮬레이션 환경을 IEEE 802.15.4 저속도 무선 네트워크 통신망 분석에 적용하였다.

주요어 : 무선 센서 네트워크, FPGA, NS3, 연동, HLA/RTI

1. 서론

WSN(Wireless Sensor Network) 기술은 산업 제어, 의료 등의 다양한 응용 분야에서 빠르게 적용되어 왔다.

WSN은 다수의 센서 노드들로 구성되며, 제공 서비스에 따라 각 노드들은 데이터 수집, 전송, 처리 등, 응용에 따

(2)

Fig. 1. Proposed interoperation approach for multi-level WSN analysis

다양하고 복잡한 연산을 수행한다. MCU 기반의 센서 노드의 경우, 임베디드 SW(Software) 구현 및 실행을 통 해 서비스를 위한 연산이 수행된다. 그렇지만 때에 따라 SW만을 이용하는 동작 구현은 성능 요구조건을 만족시 키기 어려우며 새로운 기능을 넣는데 한계가 생긴다 (De La Piedra, 2012).

요구사항에 따라 노드의 특정 알고리즘을 가속화 하는 등 HW(Hardware) 레벨에서 개선 및 수정이 필요할 때, FPGA(Field Programmable Gate Array)를 이용하여 센 서 노드를 구축하려는 시도들이 이루어져 왔다 (De La Piedra, 2012). FPGA는 또한 ASIC(Application Specific Integrated Circuit) 기반 센서 노드 설계 시 동작 검증을 위한 프로토타입(Prototype) 구축에도 활용할 수 있다.

WSN 센서 노드는 이웃 노드 및 네트워크 통신 상황 에 밀접하게 의존적인 방식으로 동작하기 때문에, 노드 설계 시 노드와 네트워크 레벨에서 복합적으로 테스트할 필요가 있다. 이를 위해 본 논문은 노드와 네트워크 레벨 다층(Multi-level) 측면에서 통합 연동 분석이 가능한 시 뮬레이션 환경을 제안한다. 제안하는 환경은 Figure 1과 같이 FPGA 기반 센서 노드의 클록 제어를 통해 HW 에 뮬레이션이 가능한 설계된 SW 인터페이스와 네트워크 시뮬레이터인 NS3(Riley, 2010)를 표준 연동 체계인 HLA(High-Level Architecture)(S. I. S. Committee et al., 2000) 기반의 RTI(Runtime Infrastructure)를 통해 연동하는 구조를 지니고 있다.

FPGA 에뮬레이션 SW 인터페이스 설계 및 구현 을 위해 FPGA 벤더(Vendor)인 Xilinx의 FPGA 디 자인 툴 Vivado(Feist, 2012), 에뮬레이션을 위한 HW IP(Intellectual property) 블록, 추가로 설계된 server-client 방식의 어댑터와 연동 동작이 기술된 스크 립트를 활용하였다. 오픈 소스인 NS3는 HLA/RTI 연동 을 지원을 위해, 코드 레벨의 수정을 통해 확장하였다.

NS3 이산 사건 기반으로 시뮬레이션이 되는 반면,

physical HW로 구현된 FPGA 기반 센서 노드는 클록 주 기 단위로 이산 시간 형태로 에뮬레이션 동작 특성을 보 이며, 두 다른 시간 진행 방식 문제를 해결하기 위해, pre-simulation 기술(Sung, 2011)을 제안하는 환경에 적 용하였다.

본 논문의 구성은 다음과 같다. 2장에서는 다층 WSN 시뮬레이션, FPGA를 이용한 디지털 회로 디자인과 에뮬 레이션 기술, HLA/RTI 기반 하이브리드 연동 시뮬레이 션에 대해 관련 연구 및 배경 지식을 설명한다. 3장에서 는 제안 시뮬레이션 환경의 상세 구조와 동작 방식을 설 명하고, 4장에서는 제안하는 환경을 저속도 무선 네트워 크 NS3 모델과 FPGA 기반 센서 노드 간 연동에 적용하 였다. 마지막으로 5장에서 결론을 맺는다.

2. 관련 연구 및 배경 지식

2.1 다층 WSN 시뮬레이션

WSN에서 요구되는 채널 접근 제어(Channel Access Control), 라우팅 정책, 네트워크 관리 등과 같은 통신 성 능 분석을 위해 OPNET(Chang, 1999), NS3과 같은 다 양한 통신 시뮬레이터들을 활용할 수 있다. 네트워크 시 뮬레이터를 이용하여 물리적인 센서 노드를 WSN에 통 합하기 전, 설계될 노드의 HW와 SW의 상호 동작이 WSN 시스템에 미치는 거시적 동작 특성(예: 서비스 성 , 에너지 소모 등)과, 노드 레벨의 미시적 세부 동작을 분석하기 위해 다음과 같은 접근 방법을 취해 왔다.

· 노드의 offline 시뮬레이션을 통해 파악된 정적인 동 작 특성을 네트워크 시뮬레이터의 노드 모델에 점진적으 로 반영하는 방식, 적용 사례: NRL SensorSim (Park, 2000)

· 동작 특성이 알려진 OS(Operating System)와 결합된 MCU를 위한 에뮬레이터를 네트워크와 연계하여 분석할 수 있도록 확장하거나 네트워크 시뮬레이터와 연동 방식, 적용 사례: ATEMU(Polley, 2004), TOSSIM(Levis, 2003) 등

· 범용 시스템 M&S(Modeling and Simulation) 도구 를 이용해 개발된 개별 노드 시뮬레이터와 네트워크 시 뮬레이터 간 연동하는 방식, 적용 사례: DEVS 시뮬레이 터와 NS2 연동 (Antoine-Santoni, 2008), SystemC 시뮬 레이터와 NS2 연동 (Du, 2011)

본 논문은 기존의 SW 레벨의 노드 모델을 모의하는 노드 시뮬레이터 혹은 에뮬레이터가 아닌 시제품 혹은 프로토타입으로 활용되는 물리적인 FPGA 기반의 노드

(3)

Fig. 2. FPGA emulation architecture

Fig. 3. HLA/RTI based Interoperation environment for hybrid model 를 네트워크 시뮬레이터와 직접 연동하는 이기종 모델

간 연동 방식을 택했다. 이 방식은 정적인 topology의 구 조 변화와 이에 따라 이웃 노드 간 이벤트 교환에 의한 상태 및 동작 변화 등 동적으로 반영될 수 있도록 다양한 시나리오에 대해 개발 노드를 사전에 기능 검증 및 성능 평가가 가능할 뿐만 아니라 노드가 WSN에 참여했을 때 네트워크 레벨의 거시적인 성능 예측이 가능해진다.

2.2 FPGA 기반 칩 설계 및 에뮬레이션

FPGA는 프로그래밍 가능한 논리 소자와 연결 선으로 구성되어 있어, 간단한 논리 함수부터 soft-processor까지 칩레벨 디지털 HW의 손쉬운 구현이 가능하다. SW의 특 정 함수를 전용 하드웨어로 매핑하여 연산 가속화 목적 으로 사용하기도 하고, ASIC 형태로 직접적인 회로 설계 와 칩 생산 전에 회로 반복 검증을 위한 시제품 제작 수 단으로도 활용된다.

FPGA 프로그래밍 가능한 회로 설계를 위해서는 Verilog 등의 하드웨어 기술 언어를 사용해서 개발한 디 지털 모델 개발, 합성(Synthesis), P&R(Place and Route) 과정, 배선과 배치 검증 프로세스 등 일련의 과정들을 거 친다. Xilinx와 Altera와 같은 주요 FPGA 판매회사는 설 계 프로세스 자동화 및 사용자 개발 편의를 위해, 개발 과정을 통합한 GUI(Graphical User Interface) 기반 개발 툴을 제공한다.

실시간으로 동작하는 FPGA의 테스트 회로를 호스트 컴퓨터에서 동작하고 논리 시각을 다루는 시뮬레이터와 연계하기 위해서는, Figure 2와 같은 에뮬레이션 아키텍 쳐를 사용하게 된다. 클록의 변화가 없으면 디지털 회로 의 상태 천이가 없는 점는 원리를 활용하여, 호스트 컴퓨 터가 직접 에뮬레이션 에이전트를 통해 클록을 제어하는 방식을 취한다. 클록 제어를 통해 테스트 회로는 동작 진 /멈춤 과정을 반복하게 된다.

본 논문은 네트워크 시뮬레이터에 연동될 수 있는 HW 에뮬레이션 아키텍쳐를 Xilinx의 FPGA 설계 툴인 Vivado와 칩 레벨 신호 디버깅을 지원하는 IP 블록을 이

용하여 설계 및 구현하였다.

2.3 HLA 기반 하이브리드 연동 시뮬레이션

HLA는 IEEE에서 정의된 표준 연동 아키텍쳐이고, RTI는 이를 구현한 SW이다. 연동을 위한 HLA 서비스 들은 정의된 프로토콜에 따라 시뮬레이터에 의해 호출되 는 관련 HLA API와 RTI에 의해 호출되는 관련 콜백들 이 수행된다. 시뮬레이션 시간 관리의 경우, 시간 진행 요 청을 위한 NMR(A)(Next Message Request (Available)) 혹은 TAR(A)(Time Advance Reqest (Available))를 호출 하고, 시간 진행 허가인 TAG(Time Advance Grant) 콜백 을 기다리게 된다.

연속 시간 시뮬레이터와 이산 사건 시뮬레이터가 동시 에 연동될 경우, 연속 시간 시뮬레이션 시간 진행 간격이 이산 사건 시뮬레이션의 시간 간격보다 매우 작을 때, 연 속 시간 시뮬레이터의 잦은 시간 진행 요청이 발생하며, 이는 전체 연동 시뮬레이션의 성능저하를 유발한다. 또한 두 시뮬레이터가 다루는 데이터 또한 해상도와 의미 (Semantics)가 다르다. 이와 같은 시간 진행 간격과 메카 니즘의 차이, 데이터 이질성 문제들을 극복하기 위해 Figure 3과 같이 pre-simulation과 데이터 변환을 지원하 는 어댑터를 이용하는 연동 방식이 제안되었고, 다양한 응용(Seok, 2014; Seok, 2016)에 적용되었다.

Pre-simulation은 연속 시간 시뮬레이터가 이산 사건 시뮬레이터의 다음 이벤트 발생 시간 정보를 가져와서, RTI 시간 진행 허가 없이 그 시간 전까지 연속 시간 시뮬 레이터의 이벤트 발생 여부를 미리 확인하는 것을 말한 . 이를 통해 연속 시간 시뮬레이터는 두 시뮬레이터에 서 발생하는 이벤트의 최소 시간까지 시뮬레이션이 진행 된다. 어댑터는 pre-simulation 구현을 포함한 연동을 위 해 반복되는 구현을 라이브러리화 한 것을 말하고, 어댑 터 기반의 연동 방식은 사용자에게 개발 편이성을 제공 한다. 데이터 변환의 경우 모델에 따라 달라지기 때문에

(4)

Fig. 4. Proposed environment sturcture and detailed structure for FPGA-based node 사용자의 추가적인 구현이 필요하다. 제안하는환경 또한

HLA/RTI 기반 하이브리드 시뮬레이션 환경을 기반으로 설계되었다.

3. 시뮬레이션 환경

FPGA 기반 센서 노드의 노드 레벨과 네트워크 레벨 의 다층 테스트를 위한 제안하는 모의 환경의 전체 구조 는 Figure 3(a)와 같다.

FPGA 에뮬레이션과 HLA/RTI 연동을 지원하는 SW 인터페이스는 Xilinx FPGA 개발 툴인 Vivado를 이용하 여 설계 및 구현 하였다. Vivado는 Xilinx에서 제공하는 툴이고, 코드 수정을 통한 연동 지원은 불가능하다. 그렇 지만 Vivado는 FPGA 설계를 위한 내부 built-in 명령어 (UG835, 2015), Tcl(Tool Command Language) 명령어 (Ousterhout, 2009), 외부 프로그램 수행이 가능한 Tcl 쉘 (Shell)을 가지고 있어서, Tcl 쉘에서 실행 가능한 server-client 기반의 어댑터 프로그램를 제안하여 FPGA 에뮬레이션 및 연동을 지원하였다. 이와 관련된 구체적인 방법은 3.1장에서 소개한다. NS3는 이산 사건 기반 시뮬 레이터이고, 오픈 소스 소프트웨어이다. 이산 사건 시뮬 레이터의 pre-simulation 기반 연동 지원을 위해 어댑터 라이브러리는 기존에 개발되었고 (Seok, 2014; Seok, 2016), 대상 어댑터 라이브러리의 연동 함수 호출을 위해 NS3를 코드 레벨에서 수정하였다. 이와 관련해서 3.2장

에서 다룬다.

FPGA 기반 센서 노드와 NS3 네트워크 모델 간 연동 모의 시 두 모델이 공유하는 데이터 동기화가 필요하지 , 두 모델이 다루는 데이터의 추상화 수준이 달라 데 이터 교환을 위해서는 변환 과정이 필요하고, 이와 관련 해서 3.3장에서 설명한다.

3.1 FPGA 센서 노드 에뮬레이션 환경

제안 한경은 Vivado에서 Tcl 쉘을 이용하여 FPGA 에 뮬레이션과 연동 작업을 수행한다. 클록 제어 기반 에뮬 레이션 수행과 HW 신호 데이터 송수신을 위해, Figure 3b와 같이 Vivado HW manager 모듈과 대상 모듈과 테 스트 HW와 연결해주는 디버깅 IP 블록, VIO(Virtual I/O)[16]ILA(Integrated Logic Analyzer)를 활용한다 (UG936, 2015).

Vivado를 이용해 FPGA 칩 테스트하는 개발자들은 칩 레벨 신호 디버깅을 위해 일반적으로 Vivado의 GUI 기반 환경에서 HW manager, VIO, ILA를 다루게 된다.

본 논문은 기존의 디버깅 기능을 확장하여 에뮬레이션과 연동을 지원하기 위해, 회로의 클록 신호를 디버깅 IP 블 록을 통해 제어하도록 하고, 칩 레벨의 신호 입출력 과정 들이 GUI 환경에서 동작하는 방식이 아니라 스크립트로 만들어져 사용자 간섭없이 Tcl쉘 상에서 동작하도록 하 였다.

VIO는 테스트 HW의 클록 신호를 포함한 입력 신호

(5)

Fig. 5.. Example implementation of injectClk procedure

Fig. 6. HLA-based interoperation procedures for FPGA emulation node and detailed structure for NS3 interoperation 값을 Tcl 쉘 상에서 commit_hw_vio 내장 명령어를 통해

변경이 가능하다. 대상 명령 입력 시 Vivado 내부적으로 는 HW manager에 의해 관련 동작을 위한 서비스를 요 청하게 된다.

VIO를 이용하여 테스트 HW 출력 신호 값은 GUI 기 반 환경에서 확인 가능하지만, Tcl 쉘 상에서 출력 값 처 리를 위해 값을 불러들이기 위한 내부 명령어가 지원하지 않는다. 따라서 출력의 경우 VIO가 아닌 ILA 블록을 이 용한다. 출력이 ILA 블록에 연결되면 write_hw_ila_data Tcl 명령어를 통해 출력 신호 값을 파일로 저장이 가능하 , 이후 파일 파싱(Parsing) 과정을 통해 출력 값을 Tcl 쉘 상으로 불러들이는 것이 가능하다.

에뮬레이션 및 연동 작업 수행을 위한 명령어들을 묶 어서 다음과 같은 Tcl procedure들을 설계하였다.

Tcl procedure들은 클록 신호 삽입을 위한 injectClk (Figure 5), 출력 데이터 가져오기 위한 getOutSignals, 입력 데이터 삽입을 위한 setInSignals, 물리적 신호와

NS3 이벤트 간 데이터 변환을 위한 사용자 정의 SE/ES_convert 등으로 구성된다.

설계한 Tcl procedure와 server-client 방식의 어댑터 를 이용하여 Figure 6a와 같이 pre-simulation 기반 연동 작업들이 순차적으로 수행된다. Server-client 방식의 어 댑터는 Vivado를 대신해 직접적으로 RTI에게 HLA API 를 호출하거나 RTI로 부터 콜백을 받는 어댑터 server와 어댑터 server 동작에 필요한 정보를 전달하는 어댑터 client로 구성된다. 어댑터 client는 Tcl 쉘에서 파일명(예:

ADPExec) 입력을 통해 실행 가능하고, 실행 시 입력된 인자들이 deliver 함수를 통해 어댑터 server로 전달된다.

FPGA 기반 센서 노드의 에뮬레이션 및 연동을 위해 다음과 같은 4가지 절차를 거친다. 1) NS3 시뮬레이터의 다음 이벤트 시간(tnev) 정보를 가져오기 위해 어댑터 client를 관련 인자(예: pa)를 이용해서 실행한다. 2) tnev 까지 injectClk, getOutSignals, SE_convert를 호출하면 서 FPGA 에뮬레이션이 진행되고, 출력 신호를 모니터링 하면서 이벤트 발생 여부를 체크한다. 이 때 이벤트가 발 생하면 에뮬레이션을 멈추고 이벤트를 RTI에게 보낸다.

3) 현재 에뮬레이션 시간 정보를 RTI에게 알려주기 위해, 어댑터 client 호출, 이후 어댑터 server는 HLA TAR API 를 수행하게 된다. 이 때, tnev까지 시간 진행을 요청하고 진행 허가를 기다리고 있는 상태인 NS3는 RTI로부터 시 간 진행 허가를 받게 되고 시뮬레이션을 진행한다. 시뮬

(6)

Fig. 7. Example modification of NS3 simulation engine

Fig. 8. Examples prototypes of FPGA-based node 레이션 후 업데이트된 tnev의 정보를 FPGA 기반 노드 어

댑터에 알리고, RTI에게 시간 진행을 요청한다. 4) 어댑 터 server는 HLA TAG 콜백을 받게 되고, NS3로부터 입 력 이벤트가 존재하면 ES_convert, setInSignals 호출을 통해 HW 신호로 변환 후 칩 레벨의 노드에 반영한다.

3.2 NS3 연동 시뮬레이션 환경

NS3는 연구/교육용으로 만들어진 오픈 소스 네트워크 시뮬레이터이고, 이산 사건 기반의 시뮬레이션 방식을 따 른다. 네트워크의 모델링에 활용되는 Wifi, LTE 등 다양 한 통신 방식과 네트워크 topology 등이 모델링되어, NS3가 제공하는 다양한 모듈에 포함되어 있다. WSN 통 신은 일반적으로 IEEE 802.15.4 기반의 통신 방식을 많 이 사용되고 있고, 최신 NS3 버전(v3.25)에서는 IEEE 802.15.4 PHY (Physcial)와 MAC(Media Access Control) 두 계층(Layer) 동작을 모의하는 통신 모델이 LR-WPAN(Low Rate Wireless Personal Area Networks) 모듈 내에 구현되어 있다. LR-WPAN 모듈과 그 밖에 다양한 모듈 활용하여 모의하고자 하는 대상 WSN 통신 시나리오 모델링이 가능하다.

NS3의 모듈 중 core 모듈은 이벤트 스케줄링, 이벤트 처리 등 이산 사건 기반 시뮬레이션을 위한 연산을 수행하 는 엔진을 포함하고 있다. 엔진은 시간 순으로 정렬된 이 벤트 리스트에서 이벤트를 하나씩 처리하면서, 이벤트에 연결된 함수를 호출한다. Pre-simulation 기반 연동을 위해 서는 다음 시간 이벤트를 처리 전에 시간 진행 요청 및 FPGA 에뮬레이션 노드 어댑터에 tnev를 전달 과정이 필요 하다. 이러한 작업을 수행하는 어댑터의 시간 진행 함수를 이용하여 Figure 7과 같이 default-simulator-impl.cc 내 이 벤트 처리하는 부분을 수정하였다. 어댑터 시간 진행 함 수는 내부적으로 RTI에게 시간 진행 요청을 위해 HLA NMRA API를 이용하고, tnev와 에뮬레이션 노드의 이벤 트 발생 시간 중 최소 시간 값을 가지는 HLA TAG 콜백 을 기다리게 된다.

NS3의 IEEE 802.15.4 기반 통신 절차를 모델링한 통 신 모델은 정의된 표준에 따라 통신 서비스들의 동작 과 정이 모델링 되었고, 표준에 정의된 상태 값 (예:

IEEE_802_15_4_PHY_BUSY 등)을 가진다. IEEE 802.15.4 통신 모델은 다수의 통신 서비스 종료 시, 사용 자 정의 함수가 호출될 수 있도록 콜백 등록을 지원한다.

사용자 콜백을 이용해 서비스 수행 후의 변화된 해당 노 드의 상태 등의 정보를 FPGA 에뮬레이션 노드에 반영이 가능하다. 서비스 종료 시점이 아닌 서비스 수행 중에 모 의 결과를 에뮬레이션 노드에 반영하기 위해서는 동작 함수가 종료 시점에 사용자 콜백이 실행될 수 있도록 코 드 레벨의 수정이 필요하다.

FPGA 에뮬레이션 노드로 부터 이벤트 수신 시, 이벤 트정보를 바탕으로 노드의 실행 서비스나 함수를 schedule 함수를 이용하여 엔진에서 처리될 수 있도록 예 약한다.

3.3 FPGA 기반 센서 노드와 NS3 모델 간 데이터 변환 FPGA 기반 센서 노드와 NS3의 네트워크 모델은 연 동 시 네트워크 통신 정보를 공유하게 된다. FPGA 에뮬 레이션 노드는 물리적인 신호 수준의 데이터를 다루고, NS3 모델은 통신 서비스, 통신 상태, 송수신 패킷 등 추 상화 수준이 높은 데이터를 다룬다. 따라서 FPGA 에뮬 레이션 노드와 NS3 모델 간 공유하는 데이터 동기화를 위해 데이터 교환 시 데이터 해석 및 변환 과정이 필요하 , 이들 과정은 Figure 8과 같이 FPGA 기반 센서 노드 구현에 따라 달라진다.

예를 들어 대상 FPGA 기반 센서 노드를 IEEE 802.15.4 기반 MAC과 PHY 계층이 구현되어 있는

(7)

Fig. 9. Case study scenario and implementation structure of FPGA-based node

Radio 모듈을 이용하여 개발하게 되면, FPGA와 Radio 모듈 간 교환하는 HW 신호는 MAC 계층의 데이터 송신/

수신 서비스 수행에 필요한 데이터로 해석된다. 대상 FPGA 기반 센서 노드를 SDR(Software defined radio) 모듈을 이용하여 개발하게 되면, PHY와 MAC 계층의 동작 방식은 SW 혹은 HW를 활용하여 FPGA 내에 구현 되어 있어야 하고, FPGA와 SDR 모듈 간 교환되는 신호 PHY 계층에서 RF 전송을 위해 변조(Modulation)될 혹은 RF 송신을 위한 복조(Demodulation)된 데이터를 의미한다.

이와 같이 FPGA 센서 노드의 구현에 따라 출력의 의 미하는 바가 달라지고, 데이터 동기화를 위한 데이터 변 환은 사용자가 구현한 SE_convert와 ES_convert Tcl procedure를 통해 이루어진다.

4. 사례 연구

4.1 실험 시나리오

제안하는 환경을 이용하여 NS3 WSN 모델과 SDR 모 듈을 탑재한 FPGA 기반 센서 노드 간 연동에 적용하였 . NS3 WSN 모델은 Figure 9a와 같이 3개의 노드로 LR_WPAN망을 구성하였고, 노드 0과 노드 1번이 일정 시간 간격으로 패킷을 발생시키고, 노드 2번은 패킷 정보 를 수집하는 동작을 취한다. FPGA 기반 센서 노드는 노 드 1번의 PHY 계층의 데이터 송수신 전송 과정을 모의 한다. FPGA 기반 센서 노드는 AD-FMCOMMS1 SDR 모듈과 Xilinx KC705 보드를 활용하여 개발하였다.

AD-FMCOMMS1 모듈은 O-QPSK (Offset-Quadrature

Phase Shift Keying) 변조 혹은 복조를 통해 전기적 신호 와 디지털 데이터 간 변환을 해주는 SDR장치이다. 타켓 SDR 모듈과 설계 회로 간 연결을 위해 SDR 개발 회사 에서 ADC/DAC IF(Interface) IP 블록을 제공한다. 대상 블록을 이용하여 IEEE 802.15.4 기반의 PHY 계층 통신 파라미터를 SW 레벨에서 설정이 가능하고, SDR 모듈과 송수신 데이터 교환이 가능하다. SDR 송신 전 IEEE PHY 계층에서 이루어지는 bit 인코딩(Encoding) 및 디 코딩(Decoding) 작업은 HW 모듈로 구현하였고, 이를 활 용하여 Figure 9b와 같은 FPGA 기반 센서 노드를 구현 하였다. RF 송신을 위해 메모리에 저장된 송신 데이터가 DMA(Direct Memory Access) 블록을 통해 스트리밍화 되어 bit 인코딩 모듈로 전송되고, 인코딩 과정을 거친 후 변조를 위해 DAC IF 블록으로 전해진다. RF 데이터 수 신은 반대의 과정을 거친다. NS3 모델과 통신에 사용되 는 패킷 정보와 인코딩/디코딩 데이터 간 동기화를 위해 bit 인코딩/디코딩 블록의 입출력 정보가 VIO와 ILA로 구성된 에뮬레이션 에이전트와 연결되었다.

FPGA 에뮬레이션 노드의 데이터 전송 시작은 해당 NS3 노드가 MAC 계층의 데이터 전송 서비스가 호출되 , 일련의 작업을 수행 한 후 PHY 계층 데이터 송신 서 비스가 호출되었을 때 시작된다. 이를 위해 NS3의 PHY 서비스 호출 시점에서 PHY 계층 데이터 송신 함수가 시 작되는 것이 아니라 사용자 등록 함수가 수행되도록 하 여 에뮬레이션 노드에 전송 시작 이벤트가 전달되도록 한다. 전송 시작 이벤트는 에뮬레이션 에이전트를 통해 인터럽트(Interrupt)로 변환되어 프로세서가 패킷 전송을 시작하도록 한다. 패킷 송신이 끝나면 인코딩된 패킷 정

(8)

Table 1. Changes of packet power varying distance between node 1 and node 2

Distance (m) 10 20 30 40

Packet power

(dBm) -76.67 -85.70 -90.99 -94.73 Fig. 10. Simulation result

보와 인코딩 수행 시간 정보는 NS3 어댑터에 전달되고, NS3 어댑터는 NS3 노드의 PHY 데이터 송신 동작이 에 뮬레이션 노드와 동일할 수 있도록 노드의 파라미터를 조정하고 데이터 송신 서비스가 실행되도록 예약한다.

4.2 실험 결과

실험을 통해 FPGA 기반 센서 노드와 NS3 시뮬레이 터 간 데이터 교환과 pre-simulation 기반 시간 동기화 과 정이 제대로 이루어지는지 확인하였다.

NS3는 시뮬레이션 중 연동을 위해 어댑터를 통해 RTI 에게 시간 진행을 요청하고, FPGA 노드로 부터 이벤트 가 없을 시 Figure 10a와 같이 NS3는 요청한 시간에 시 간을 진행하게 된다. NS3의 노드 1 모의 중 PHY 데이터 송신 서비스가 호출되면, 에뮬레이션 노드는 PHY 송신 과정이 시작된다. Figure 10b에서처럼 특정 주소 (예:

0x8801000)에 위치한 데이터들을 PHY 데이터 송신 서 비스 요청이 올 때마다 순차적으로 인코딩 후 SDR 모듈 에 전달된다. 인코딩된 패킷 정보는 NS3의 해당 노드 모 델과 공유되어 동일한 패킷을 송신하게 된다. 이후 노드 1에서 송신한 데이터에 의해 노드 2는 PHY 계층의 PD-DATA indication 서비스가 호출되고, 서비스 종료 시 패킷 정보를 확인하는 사용자 콜백 함수를 수행하도 록 하여 노드 2의 수신된 PHY 계층의 패킷 데이터와 FPGA 에뮬레이션 노드의 송신된 PHY 계층의 패킷 데 이터가 일치함을 확인하였다.

노드 1에서 패킷을 보낼 시 0dBm 세기로 보내고, 노 2의 위치를 변경하면서 수신 패킷 에너지 감도를 Table 1과 같이 확인할 수 있었다. 노드 2의 에너지 감도

모의와 같은 네트워크 레벨 동시 모의를 통해, 개발 센서 노드를 적용하고자 하는 네트워크 상황에서 SDR 모듈의 송신 파워 파라미터 설정에 참고할 수 있다. FPGA 기반 센서 노드 에뮬레이션을 통해 설계한 bit 인코딩 결과가 IEEE 802.15.4의 정의된 인코딩 규칙에 따라 동작하는 것을 확인할 수 있었다.

4.3 추후 연구 방향

본 논문은 제안하는 환경의 동작 검증을 위해, 제안하는 환경을 다소 간단한 NS3 WSN 모델과 PHY 계층만이 구현된 FPGA 노드 간 연동에 적용하여 데이터 교환 및 시간 진행 과정을 확인하였다. 제안하는 환경의 유용성을 충분히 보이기 위해서는 대규모 WSN 기술이 적용된 응 용 분야 분석에 활용될 수 있도록, NS3 WSN 모델과 FPGA 기반 센서 노드의 고도화와 응용 분야와 관련된 추가의 시뮬레이터 참여가 필요하고, 이와 같은 방향으로 연구를 확장하고자 한다.

5. 결론

본 논문은 개발 FPGA 기반 센서 노드가 WSN에 미치 는 거시적 동작 특성과 노드 레벨의 미시적 동작 특성을

(9)

복합적으로 동시 분석하기 위해, FPGA 기반 센서 노드 의 에뮬레이션 및 NS3 모델과 HLA/RTI 기반의 연동이 가능한 환경을 제안하였다. FPGA 기반 센서 노드의 에 뮬레이션과 연동 지원을 위해 Xilinx Vivado, 디버깅 IP 블록, server-client 기반 어댑터, 연동 스크립트를 활용하 여 에뮬레이션 에이전트와 HLA/RTI 연동을 위한 SW 인터페이스를 개발하였다. NS3는 코드 수정을 통해 pre-simulation 기반 연동을 지원하는 어댑터 라이브러리 를 활용할 수 있도록 하였다. 제안 연동 환경을 NS3 LR-WPAN 모델과 IEEE 802.15.4 PHY 통신 동작을 모 의하는 FPGA 노드 간 연동에 적용하여 제안하는 환경의 데이터 교환 및 시간 동기화 동작 검증을 수행했다. 추후 제안하는 환경을 이용하여 대규모 WSN이 적용된 응용 사례 분석에 활용고자 한다.

References

De La Piedra, A., Braeken, A and Touhafi, A. (2012)

“Sensor systems based on FPGAs and their applications: A survey”, Sensors, 12, 12235-12264.

Riley. G. F. and Henderson. T. R. (2010) The ns-3 network simulator, Modeling and Tools for Network Simulation, Springer Berlin Heidelberg.

S. I. S. Committee et al. “IEEE standard for modeling and simulation (M&S) high level architecture (HLA) IEEE std 1516-2000, 1516.1-2000, 1516.2-2000", Institute of Electrical and Electronics Engineers, New York, 2000.

Feist. T. (2012) Vivado design suite. White Paper, 5.

Sung, C. and T. G. Kim (2011) “Framework for simulation of hybrid systems: Interoperation of discrete event and continuous simulators using HLA/RTI”, Proceedings of the 2011 IEEE Workshop on Principles of Advanced and Distributed Simulation, 1–8.

Chang. X. (1999) “Network simulations with OPNET”, Proceedings of the 31st conference on Winter simulation, 1, 307-314.

Park. S., Savvides. A. and Srivastava, M. B. (2000)

“SensorSim: A simulation framework for sensor networks”, Proceedings of the 3rd ACM international workshop on Modeling, analysis and simulation of wireless and mobile systems, 104-111.

Polley, J., Blazakis, D., McGee, J., Rusk, D., and Baras, J. S. (2004) "ATEMU: A fine-grained sensor network simulator", Proceedings of SECON'04, First IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 145-152.

Levis, P., Lee, N., Welsh, M., and Culler, D. (2003)

“TOSSIM: Accurate and scalable simulation of entire TinyOS applications”, Proceedings of the 1st international conference on Embedded networked sensor systems, 126-137.

Antoine-Santoni, T., Santucci, J. F., De Gentili, E., and Costa, B. B. (2008) “Discrete event modeling and simulation of wireless sensor network performance”, Simulation, 84, 103-121.

Du, W., Navarro, D., Mieyeville, F., and O'connor, I.

(2011) "Idea1: A validated system c-based simulator for wireless sensor networks", MASS. IEEE, 825-830.

M. G. Seok, D. J. Park and T. G. Kim (2014)

“Framework for simulation of the verilog/spice mixed model: Interoperation of verilog and spice simulators using HLA/RTI for model reusability”, 22nd International Conference on IEEEVery Large Scale Integration (VLSI-SoC), 1–6.

M. G. Seok, T. G. Kim and D. J. Park (2016) "A Scalable Modeling and Simulation Environment for Chemical Gas Emergencies", IEEE Computing in Science & Engineering, 18(4), 25-33.

UG 835 (v 2015.2), Vivado-HLS User Guide, Xilinx.

Ousterhout. J. K. and Jones. K. (2009) Tcl and the Tk toolkit, Pearson Education.

UG 936 (v 2015.2)", Vivado-HLS User Guide, Xilinx.

(10)

석 문 기 ([email protected]) 2009 고려대학교 전자공학전공 학사

2011 한국과학기술원 (KAIST) 전기 및 전자공학부 석사

2011~ 현재 한국과학기술원 (KAIST) 전기 및 전자공학부 박사과정

관심분야 : HLA/RTI기반 연동 시뮬레이션, 혼성신호 검증, 고성능 시뮬레이션 방법론

김 탁 곤 ([email protected]) 1975 부산대학교 전자공학과 학사 1980 경북대학교 전자공학과 석사

1988 Univ. of. Arizona, 전기및컴퓨터공학과 박사 1980∼1983 부경대학교, 통신공학과, 전임강사 1987∼1989 (미)아리조나 환경연구소, 연구엔지니어 1989∼1991 Univ. of Kansas, 전기및컴퓨터공학과, 조교수 1991∼현재 KAIST 전자전산학과, 교수

- 한국시뮬레이션 학회 회장 역임

- 국제시뮬레이션학회(SCS) 논문지(Simulation) Editor-In-Chief 역임 - SCS Fellow

- 모델링 시뮬레이션 기술사(미국)

- Who’s Who in the World (Marguis 16thEdition, 1999) 등재 - 연합사, 국방부/합참, 기품원 자문위원 역임

- KIDA Fellow 역임 - ADD 자문위원(현)

관심분야 : 모델링/시뮬레이션 이론, 방법론 및 환경개발, 시뮬레이터 연동

박 대 진 ([email protected]) 1996 경북대학교 전자전기공학부 학사

2001 한국과학기술원(KAIST) 전기 및 전자공학과 석사 2014 한국과학기술원(KAIST) 전기 및 전자공학과 박사

2003~2014 SK Hynix/Samsung/ABOV (차세대 LSI 설계) 수석연구원

2014~2016 경북대학교 전자공학부 초빙교수 (2014년 대통령 Postdoctoral Fellow 선정) 2016~현재 경북대학교 전자공학부 조교수

관심분야 : 저전력 SoC 설계, 하드웨어-소프트웨어 Co-design, Dependable 스마트 IoT 시스템, Robust 임베디드 시스템

수치

Fig. 1. Proposed interoperation approach for multi-level WSN analysis  라  다양하고 복잡한 연산을 수행한다
Fig. 3. HLA/RTI based Interoperation  environment for hybrid model 를  네트워크  시뮬레이터와  직접  연동하는  이기종  모델 간 연동 방식을 택했다
Fig. 4. Proposed environment sturcture and detailed structure for FPGA-based node 사용자의 추가적인 구현이 필요하다
Fig. 5.. Example implementation of injectClk procedure
+4

참조

관련 문서

Object 파일 또는 중간파일 .OBJ 파일을 링커를 통해 실행(exe) 파일로 변환 (보안,호환, 컴파일 시간 절약).. 각종

For safety, when constructing a connection system between a Sensor and panel with a connector, make sure that the connector plug is on the Sensor side and the connector socket

• 클라우드 기반의 통합 관리 솔루션인 Pure1 을 통해 전체 스냅샷의 카탈로그 관리 제공. • 클라우드로 전송 시, 퓨어스토리지의 Cloud Block Store와의

In the process, we explore machine learning approaches for robotic path planning, multi constrained optimal path computation and sensor based wearable assistive devices

Also, the design of an optimal heat sink requires a complete knowledge of all heat transfer characteristics between the heat source and the ambient air

Applying Design Thinking as a Method for Developing Multi Competencies of Technical High School Student..

 The developed FPGA based high-speed multi-channel DAQ system includes smoothing, triggering, and pulse height measurement.  Considering the stable performance and

한국전기연구원 재직 연구원의 강연을 통해 한국전기연구원의 연구 분야에 대해 알고 전자기 유도 원리를 이해하고 이를 응용하여 전기선 없이 LED 불 켜기 실험 설계 및