원문: http://warpproject.org/trac/wiki/GettingStarted/WARPv3/Hardware



WARP는 총 3가지 버전이 존재합니다. 제가 구매한 모듈은 왼쪽의 v3이기에 앞으로 모든 내용은 v3을 따라 가겠습니다.




먼저 The Key Components of the Hardware 를 알아보고,  WARP v3 Hardware Users Guide 를 알아볼 예정입니다. 


The Key Components of the Hardware


Throughout the documentation in this wiki and in theforums, we will refer to different components of the hardware by certain terminology and acronyms. In this section, we list these components along with a high-level description of what each component is responsible for.


실제 제가 가진 WARP v3는 아래와 같이 생겼습니다. 





그리고 각 부분의 명칭은 아래와 같으며, 각 파트에 대한 간략한 설명도 되어있습니다.




  • User I/O: This collection of push buttons, LEDs, hexadecimal displays, dip switches, and debug header pins is used for interacting with the board. Designs can read values from the switches and push buttons and can write values to the displays and LEDs. The debug header can be used for any number of purposes, such as providing a convenient way for one WARP board to trigger the action of another board over a wire.

    입력/출력 포트는 일반적인 MCU와 같이 LED와 16진 디스플레이, 스위치, 디버거핀 등이 존재합니다. 디버거핀은 어떠한 액션을 실행하기 위한 트리거로써 사용되며 이는 아마 다른 문서에 자세한 설명이 존재 할것으로 보입니다.

  • Radio Interfaces A & B: These interfaces provide the radios that allow designs to communicate at the 2.4GHz and 5GHz bands. For each radio interface, digital I and Q values from the FPGA are taken through digital-to-analog converters and are delivered to the transceiver for upconversion (i.e. wireless transmission). Wireless reception follows the reciprocal process where I and Q analog streams are taken from the transceiver through analog-to-digital conversion and are then delivered to the FPGA. The interfaces are labeled "RF A" and "RF B" on the board and in our reference designs.

    WARP는 WLAN에 초점을 맞춘 플랫폼이기때문에, WiFi가 주로 사용하는 2,5 GHz 대역의 주파수를 사용하는 라디오 인터페이스가 있습니다. 기본적인 무선신호의 전송을 위한 기능을 FPGA를 사용하여 수행하며 (디지털->아날로그 변환과 변조) 송수신기를 분리하여 RF A와 B로 명명합니다.

  • SDRAM: This DDR3 SO-DIMM provides extra memory beyond the block RAM inside the FPGA. The WARP v3 kit ships with a pre-tested 2GB SO-DIMM.

    역시 좋은 플랫폼답게, SDRAM 메모리를 가지고 있습니다.

  • Device label: This label shows the FPGA device on the WARP v3 board. This device is used in a number of places during the development process (such as exporting a peripheral core from Xilinx System Generator), so this label is present for convenient lookup.


  • Virtex-6 FPGA: Under the fan, the FPGA serves as the central processing system for the WARP board.

    펜(fan)아래에는 본 FPGA보드의 핵심적인 CPU가 있습니다. 

  • FMC HPC Slot: The FPGA Mezzanine Card High Pin Count slot provides connectivity to an existing ecosystem of hardware as well as future WARP-specific modules.

    FPGA 중이층 핀 포트가 존재하지만, 여기에 대한 설명의 웹페이지가 유실되어서 아직은 본 포트의 존재를 모르겠습니다. 추후 업데이트 하겠습니다.

  • Serial #: This is the unique serial number for the WARP board. This number is also programmed into an EEPROM on the board prior to shipping, allowing software running on the hardware to read this information.

    WARP의 고유번호가 적혀있습니다. 해당번호는 모듈내부의 EEPROM에 새겨져서 배송되기 때문에 제품의 식별번호로 사용됩니다.


  • Ethernet A/B: The two 10/100/1000 Ethernet ports provide high-speed connectivity between the board and a wired network. The ports are labeled "ETH A" and "ETH B" on the WARP v3 board and in our reference designs.

    WARP는 2개의 고속 이더넷 포트를 제공합니다. 포트의 라벨은 ETH A와 V로 표기됩니다.

  • JTAG: The JTAG connector allows direct programming of the Virtex-6 FPGA using a Digilent or Xilinx JTAG cable.

    WARP는 FPGA 프로그래밍을 위한 JTAG 커넥터를 제공합니다.

  • SD Card: An alternative to programming the board over JTAG is to use the SD card. This allows non-volatile storage of programs that will automatically download and execute upon insertion of the SD card.


  • UART: The micro-USB connector on the board allows programs on the board to print messages to a terminal running on a computer.

    마이크로 USB 커넥터의 형태로 (보드-PC간의) UART통신도 사용이 가능합니다.

  • Power Switch: The power switch controls power to the board. The "off" position is where the switch is furthest away from the power jack. The "on" position is where the switch is closest to the power jack.

    파워스우치로 아래의 파워잭과 멀리 떨어진 위치일때가 OFF입니다. 가깝게 토글하면 

  • Power Jack: The power jack is where the 12V power supply that comes with the WARP hardware should be plugged in. Note: the power switch should be in the "off" position whenever the power plug is inserted or removed. This allows the circuitry controlled by the switch to properly sequence the power regulators on the board.

    WARP는 12V 전원 공급장치로 연결되며, 전원잭을 연결할때마다 파워 스위치는 OFF 상태에 위치해야합니다. 주의하십시요. WARP는 프로토타입으로 제공하는 플랫폼이기에 회로 쉽게 손상을 줄수있는 행동을 삼가하고 다룰때 신중해야합니다. 특히 정전기에 취약하기 때문에 접지 손목 스트랩과 같은 정전기 예방 솔루션을 사용하여서 작업하기 바랍니다. 

The Xilinx Virtex-6 FPGA 는 복잡한 프로그램 구동시 상당한 열을 발생하기 때문에 쿨러의 사용이 중요합니다. 아래의 그림과 같이 점퍼가 연결되어있어야 동작합니다.  




Each board will be shipped with this jumper connected. This jumper should not be removed. Verify that it is present before using the board.




Installing an FMC Module


WARP v3 includes a FMC HPC slot which can host an FMC module (a.k.a. FMC daughtercard). The FMC connector requires considerable force to mate and separate boards. It is essential you brace the WARP v3 board when mounting/removing FMC modules, to avoid flexing the PCB and breaking solder joints under the FMC connector and FPGA.


The video below shows the proper technique for connecting an FMC module. Do not simply press the FMC module down. Always prevent flexing the WARP board by pinching the FMC module and the WARP board together.





드디어 위에서 언급한 FMC HPC Slot의 쓰임에 대해서 나왔습니다. 동영상은 FMC 커넥터에 모듈을 연결하는 방법을 알려줍니다. 단순하게 FMC모듈을 눌러서는 안되고 동영상을 참조하여 장착하여 파손을 미리 방지 하기 바랍니다. 또한 FMC 모듈을 제거할때도 아래의 영상을 참조하여 적절한 방법으로 제거하기 바랍니다. 
(즉, 무작정 힘으로 하면 안되고, 보드의 튼튼한 부분 (예를들면 마운트) 을 붙잡고서 탈부착을 해야합니다.)




* 앞으로의 연구에 사용할 일이 있어서 WARP 플랫폼 공부에 대한 흔적을 깨작깨작 제 맘대로 남기고자 합니다. 

  제 생각대로 해석하고 진행하는 부분들이 많기 때문에 틀린부분이 다소 많을수 있습니다. 

  그냥 참고용으로만 봐 주세요. *



WARP를 알아가는 모든 내용들은 아래의 공식 홈페이지를 참조하여 진행합니다.


http://warpproject.org/trac/wiki/GettingStarted/WARPv3


아래는 WARP 시작을 위한 페이지입니다. 모든 페이지는 본문내용 + 네이게이터 BAR가(아래그림) 존재합니다. 


 <- 한눈에 잘 정리된 네비게이터를 잘 활용하면 좋습니다.



This "getting started" guide is intended as a resource for new users of WARP v3. The idea of this guide is to present the initial steps in order to get "up and running" with the hardware and to minimize the amount of time it takes a new user to start doing their own interesting research on the platform. This guide is broken up into four pieces. We highly recommend new users read all of them.


  1. Getting to Know the Hardware - A tour of the WARP v3 hardware and important information for proper handling of the board.
  2. Recommended Tools and Equipment - A list of the hardware and software tools we recommend for using the WARP hardware.
  3. Getting Started with the Xilinx tools - Some initial exercises using WARP with the Xilinx design tools.
  4. Additional Resources - Extra resources and reference material for users as they begin their own research on WARP.



저는 위의 순서번호에 맞게 차근차근 하나씩 스터디를 해 볼 예정입니다. (시작일 2016.05.02)

일단 무엇부터 시작할지 결정하기 위해서 전반적인 웹페이지 구성에대해서 알기 위하여 무작적 하나씩 다 들어가서 클릭해보았습니다. 그래서 대강 정리해보면 아래와 같은 구성으로 읽어보면 된다는 것을 알았습니다. 번호는 위의 WARP Start 페이지의 1~4번호를 참조하여 작성했습니다.



1. http://warpproject.org/trac/wiki/GettingStarted/WARPv3/Hardware

2. http://warpproject.org/trac/wiki/GettingStarted/WARPv3/Tools

3. http://warpproject.org/trac/wiki/GettingStarted/WARPv3/IntroToTools

 3-1. http://warpproject.org/trac/wiki/Exercises/13_4/IntroToSDK

 3-1-2. http://warpproject.org/trac/wiki/HardwareUsersGuides/WARPv3/TemplateProjects

 3-2. http://warpproject.org/trac/wiki/Exercises/13_4/IntroToXPS

 3-3. http://warpproject.org/trac/wiki/Exercises/13_4/SysGenExport

4. http://warpproject.org/trac/wiki/GettingStarted/WARPv3/Resources

 4-1. http://warpproject.org/trac/wiki/HardwareUsersGuides/WARPv3 

       : WARP user 메뉴얼에 대한 내용입니다. 

5. http://warpproject.org/trac/wiki/WARPLab

6. http://warpproject.org/trac/browser

7. http://warpproject.org/trac/wiki/WARPLab


8. 802.11 Reference Design: Changelog 
  
http://warpproject.org/trac/wiki/802.11




WARP Projects 는 Template Projects 말고도 802.11 Reference Design, WARPLab Reference Design, and OFDM Reference Design 에 대한 프로젝트 예제들을 포함하고 있습니다. 필자의 주 타겟은 WARP를 사용한 WALN 통신구성이기 때문에 subsection 8 이후 내용은 802.11 참조모델 디자인에 대해서 포스팅 할 예정입니다.  




복잡해보이지만, 결국 WARP를 잘 다루기 위해서는 먼저 하드웨어 대한 이해와 코드와 디버깅을 작성하는 소프트웨어 툴의 이해 그리고 프로젝트 제작으로 볼수가 있고, 이를 지원하기 위한 포럼과 예제 코드들이 존재한다는 것을 알수가 있습니다.


각각의 웹페이지들의 내용진술에서 이전 페이지들을 참조할수도 있는데, 이는 이전 내용들을 다방면으로 숙지해야만 이해가 가능하다는 의미입니다. 따라서 이리저리 페이지들을 옮겨다니며 공부를 해야하는 번거로움이 존재하기 때문에, 위와 같은 하나의 큰 줄기를 잡아놓는다면 현재까지의 공부진행상태가 어디까지인지 명확하게 파악하여 효율적으로 스터디를 진행 할수가 있습니다. 







Citation: http://users.jyu.fi/~timoh/TIES327/WPLS.pdf

*This contents refer to Dr. Zheng Chang's slidels. It does not utilize commercial uses. Thanks. *



Fundamentals of Physical Layer Security



최근 물리계층보안이라는 "Physical Layer Security (PLS)" 에 대한 연구가 관심을 많이 받고 있다. (이하 PLS로 부르겠다.)

이는 컴퓨터 네트워킹에서 주로 다루는 Open System Interconnect (OSI) model에서의 최하위 계층인 물리계층(PHY)(에서의 보안 달성을 연구하는 분야이다. 우리는 물리보안이라는 명명에서 흔한 인식의 오류를 접하는데, PLS는 Physical Layer네트워크에서 하드웨어 차원에서의 보안을 의미하는 것이 아니다. 오히려 통신이론과 같은 학문적인 분야에서의 PHY에서 다루는 다양한 기법들에 대한 해석과 고찰을 통하여 새로운 인식의 차원에서 보안을 달성하는 것이다.


PHY contains

–Definition of Hardware Specifications         –Encoding and Signaling

–Data Transmission and Reception            –Topology and Physical Network Design

ex) 핵심 기술들은 CDMA, OFDM, MIMO 등이 있다..


과거의 통신시스템에서 보안은 High Layer에서의 authentication, confidentiality, privacy 에 대한 이슈로 공개키나 비밀키, 암호화 기법 향상과 같은 방법으로 주로 발전해왔다. 하지만 지금은 정보이론과 신호처리, 암호학의 발전도가 높아짐에 따라 보안 시스템을 디자인 할때부터 물리계층의 불안전성에 대한 고려를 해야한다고 주장되고 있다. 예를 들면, Noise와 Fading은 Wireless Communications 에 있어서 하나의 장애요소로 보아왔지만, 정보이론의 관점에서 이들을 이용하여 Messages 를 잠재적인 도청자나 비인가 노드로부터 추가적인 보안키없이 숨길 수 있다고 제안되고 있다. 만약 위와 같은 방법으로 통신 Data Rate의 큰 희생없이 Cost-efficient way으로 PHY계층에서 보안을 달성할수 있다면 이는 PLS에 있어서 매우 의미있는 솔루션이 될 수 있다. 



앞서 설명한 예가 PLS에 대한 기본 예시가 되겠지만, 명확한 이해를 위해서 아래의 컨셉도를 살펴보자.

3개의 터미널이 존재하며, 왼쪽에서부터 송신노드 T1, 적법한 수신노드 T2, 도청자 T3 이다. 만약 T2와 T3 노드간의 채널이 T1에서 전송한 신호가 Fading이나 Path-loss 를 겪는 이유로 서로 채널상태가 다르다면, 그리고 T3의 채널만 심각한 성능저하를 겪는다면? 이를 통하여 도청노드 T3은 T1 노드가 송신하고자 하는 본래의 신호를 수신 및 복원할 수 가 없게 되고, 이를 통하여 우리는 보안을 달성할 수 있게 된다. 아래의 그림은 PLS에서 주로 사용되는 기본적인 도청채널모델을 보여준다.



                  그림. Wiretap Channel Model


따라서, PLS는 기존의 보안통신체계가 통신채널의 물리적인 실체를 고려하지 않았던 점을 고려함으로써, 통신장애요소로써 제거와 회피에만 신경을 쓴 Noise나 Fading 요소를 보안달성을 위한 긍정적인 요소로 이용한다. 따라서, PLS는 더욱 더 실질적인 통신 모델인 Wiretap channel model을 사용하여 (Main channel 과 Eavesdropper’s channel 를 구분하는 모델) 보안달성을 위한 솔루션을 연구한다.  (PLS 컨셉에 대한 핵심진술문장)




정보이론의 관점에서 위 그림은 Alice는 송신(TX)노드가 합적인 노드인 Bob에게 메세지 신호(M)을 전송하는 과정을 보여준다. 그림에서 Eve는 도청자로써 동일한 채널에서 송신 메세지를 수동적으로 도청하기만 한다. 본 모델에서, 공통적인 메세지인 M0는 Bob과 Eve모두에게 전달되지만 비밀메세지인 M1은 Bob에게만 전송된다. 이와 같이 PLS의 관점에서, 최대 목표는 비밀 메세지인 M1의 전송률 (Secrecy Capacity) 을 Maximize 하는 것이다. 

(가정사항)

1.Z should provide no information about M1 

2.Y can be decoded into M with negligibly small probability of error




아래의 수식은 위와 같은 시나리오, 가우시안 도청 채널 모델에서의 보안용량 수식을 보여준다.

Secrecy Capacity of Gaussian Wiretap Channel : 


지금까지 PLS에 대한 연구는 다양한 방법으로 시도 되고 있는데, 아래와 같이 몇가지로 분류 할수가 있다.

– Preprocessing Scheme

• Coding

• Key generation

• Artificial Noise Scheme

– Game Theoretic Scheme

– Signal Processing

– Cooperation Communications




+ Recent posts