1/06/2023

Analog Discovery2 - 기본 Scope 사용법

1. Analog Discovery 2 사용법

이전에 Linux 기반으로 Analog Discovery2 사용을 했는데, 목적은 Python 과 같이 사용하기 위해서 였다.  
하지만, 대부분 Window 기반으로 사용하기 때문에 Window용과 차이를 알아보고, 
간단하게 Scope로 DC Serial 인 UART를 테스트 해보도록 하겠다. 

  • Analog Discover2 의 기본기능 및 기본사용법 
각 기본기능과 관련 HW 정보 및  Scope AC/WaveGen 기본사용법  (반드시 확인)

  • Analog Discovery2 와 Python
Analog Discovery2를 이용하여 얻은 정보를 Python 기반으로 사용확장 
추후 Matlab에도 연결하여 사용가능할 거 같음 

  • 추후 측정해봐야 할 것 
Logic Analyzer 기능이며, 추후에 해보도록 하자. (귀찮다) 


1.1 Waveforms 설치 및 환설정 

Anlog Discovery2의 Window에서 설치하여 기본적으로 사용해보자. 

  • Waveforms Download
답변만 잘해주면, 무료로 Download 
Window 10 용 64bit 설치 
digilent.waveforms_v3.18.1_64bit.exe


  • 설치진행전 Analog Disvoery2 설정 
Scope를 사용할 것이므로, 아래와 같이 확장보드 연결 



Laptop의 USB Power만으로도 충분히 잘 돌아가며, 만약 Power가 부족하다면, 외부 전원사용 가능한 것 같다. 

https://digilent.com/reference/test-and-measurement/analog-discovery-2/start


  • Scope CH1 / CH2 
좌측 Scope CH1, CH2 은 Differential이 지원되며, 만약 Differential을 측정하고 한다면, Positivie/ Negative 와 Ground에 꽂아 측정하면 되겠다. 
  1. Scope 확장보드: BNC Connect 기반의 Passive Probe 연결하여 측정    
  2. Scope 확장보드: 점퍼로 AC/DC 선택 
  3. Scope 확장보드: MTE Connect (점퍼 Cable) 꽂아 Differential로도 측정 가능할 것 같다.

  • Analog Discovery2  Hardware Degine Guide
Analog Discovery2의 전체 HW 구성확인가능(FPGA: Xilinx Spartan6)

  • Analog Discovery2 Spec 비교 
혹시 나중에, Power Supplies로 사용한다면, 반드시 외부전원을 가지고 있어야함
항상 사용하기전에 각 사용가능한 Spec을 확인 


Analog Discovery2를 USB로 연결하고, Waveforms을 실행해보도록 하자. 

  • Waveforms 기본실행 
Scope 선택 


이전 Linux 용 WaveForms 버전보다 많은 기능을 더 제공을 해주고 있어 일단 놀랐다. 
매번 개선되고 있구나 하고 느낀다. 




1.2 Scope 측정 전 준비사항 

UART의 DC 신호를 측정할 것이므로 아래와 같이 설정하여 준비하도록하자. 
회로도 와 PCB Tool을 잘 이용가능하다면, 아래와 같이 하자. 

  • UART를 측정 전 Anlog Discovery2 설정  
  1. Scope 확장보드:  DC 변경 
  2. Scope 확장보드:  CH1 에 Passive Probe 연결 

  • 회로도 View Tools 설치  
OrCad도 있으며 좋고, 없으며 PDF보고 확인하자. 

  • 점검 전 PCB Tool View 설치
나는 이미 Pads Layout Viewer 설치했으며, 아래에서 Download 하자 

  • Board 측정할 포인터 확인 
OrCad or PDF 회로도 기반에서 우선 측정할 부분의 Pin 과 Unit을 기억하고, 현재 Board에서 찾아보자 

만약 Board에서 Probe로 측정할 포인터를 찾았다면,  
   * Unit의 1번 Pin 표시를 찾거나, TEST Point를 찾아 찍도록 하자. 

측정 포인트를 찾지를 못할 경우, 혹은 애매한 경우는 
   * PCB Tool View에서 찍을 포인터들을 직접 찾자 
  1. Setup->Display Colors 실행 
  2. Top 과 Bottom Layer 확인
  3. Top or Bottom Layer 만 각각 확인하여 상위 Unit 과 Pin을 찾자 
  4. Select Net or Selct Net Pair을 이용하여 각 Pin의 연결된 전체부분 Board에서 확인
  5. Pin 정보를 확인 

납땜을 할 수 있으면 좋은데, 현재 나의 경우는 못하므로 Probe만 직접 측정하도록 하자. 
대신 화면 캡쳐를 할때에는 Scope Mode를 변경하면된다. 


1.3 Scope 측정방법 (UART)

일반적인 Scope처럼 사용하면 되며, 각 Auto/Normal 모드가 지원가능 (Single모드는 좌측) 

  • Scope 관련기본설정 
  1. X축 설정 (Horizon, Time Domain)
    1. 우측 Time 설정 or 마우스로 시간설정 
  2. Y축 설정 (Vertical , Amp Domain)
    1. 우측 Channel 1 설정 
      1. Offset: 0
      2. Range: 1V/div   
  3. Trigger Mode 설정
    1. Type: Edge
    2. Condition: Rising 
    3. Level: Trigger Level 값 설정 or 마우스로 Trigger Level 값 설정
  4. Scope 모드 설정 
    1. Auto or Normal 모드 
  5. Run 실행 

VDD찾아 측정 v3.3 or V5 측정을 하여 Scope의 기본동작을 확인 (Auto모드)


1.3 Scope 측정분석 (UART)


  • UART 기본측정 
아래와 같이 기본측정하고 이 기반으로 분석가능한 것들 찾아보도록 하자. 

  • Measurement 
Measurement 를 선택하면 Scope에서 X/Y 측정가능 기능들이 나온다. 
일반 Scope 에서 제공해주는 기능이지만, 더 많은 기능을 제공하는 것 같다.  
DC RMS를 측정 혹은 Duty or Period 등 다양하게 측정해보도록 하자 


 
HW Datasheet와 함께 확인 
예를들면, Srew Rate 같은 것을 측정하고자 한다면, Rise Time 보면 될 것이다. 
세부적인 측정은 각 Chip의 Data Sheet의 Timing 도들을 참조하여 비교하면 된다. 
Scope로 하는 일이 바로 이런일이다.  


  • Logging or Rec. or Export or Audio
Logging: 측정한 data 저장이며, CSV로 저장가능하며, Excel로 쉽게 확인 및 Python으로 도 쉽게 연결 
일반 Scope 라면, 외부 USB 연결하여 좀 복잡한데,  간단하게 PC에 저장가능하니 자주 사용해보자. 
Rec.:  Binary로 16bit로 저장 (무슨 Data Format인지)
Export: 사진. 
Audio: C1 /C2가 되는 거 보니, PCM으로 저장가능 할것으로 예상 

다양하게 제공하고 있어, AC/DC 잘 사용가능할 것 같음  


  • +XY or +XYZ 3D
CH1 , CH2 에서 들어오는 각 Amp Domain(Vertical) 정보 값들을  X: CH1, Y:CH2 로 변경하여 볼 수 있다.  
이외 +Zoom 등 다양한 기능들이 있다. 



  • X Cursors/Y Cursors
Scope에서 제공하는 Cursor 기능을 제공해주고 있으며, 아래와 같이 사용가능 
아래와 같이 무식하게 일단 다 설정하고 했는데, 각 Delta 값으로 변화 및 관련사항이 확인가능한 것 같다.
일반 커서는 마우스로도 되는 것 같다. 


  • Digital
이 기능은 원래는 Logic Analyzer 기반용으만 사용가능한 것 같다. 
하지만 Scope에서 각종 저속 Serial 통신이 분석하여, 지원해주질 모르니, 추후 더 나아진 WaveForms에서 확인 



* 주의: DIO0은 상위 Logic Analyzer 용 Pin
만약 추후 C1/C0이 되어진다면, 그 때는 Scope로 Logic Anayzer 기능도 될 꺼 같다. 


Normal Mode 한 다음 아래와 같이 Digital 세부 분석가능



Digtial 창
T 메뉴에서 Trigger를 다양하게 설정 가능 

Trigger 설정 
  1. T. Simple : Trigger 각Edge, 각Level, T를 누르면 선택가능 
  2. Pulse : 각 종 Pulse 기반의 Trigger
  3. Protocol : 각 Serial 통신의 값 기반의 Trigger 

* 주의: DIO0은 상위 Logic Analyzer 용 Pin
아래의 기능이 제대로 동작안됨 


이 Trigger는 UART 값기반의 Trigger 




Cursor는 상위 보다, 아래처럼 마우스 우클릭으로 정하고 하면 쉽게 측정 



아래처럼 X축을 움직이면서 Cursor를 이용하여 측정 (Measure: Vertical)



  • 주의사항 
처음에 Scope에서 Logic Analyzer 기능을 사용할 수 있는 줄 알았는데, 안되는 것 같다.
아래 Manual 을 보면, Logic Analyzer Pin으로 변경해서 해야지만 되는 것으로 보인다.  
추후에 개선이 되어 Scope에서도 될 지도 모르겠으나, 현재로는 안되는 것으로 파악 


관련 Manual 

Script 확장기능


1.3 Scope 측정후기(UART)

마침 UART를 Debugging 할일이 있어, 기본적으로 사용했는데, 대체적으로 만족했으며, 괜찮은 것 같다. 
다만, SPI를 비롯하여, 고속 SPI도 추후에 가능한다면 그때 다시 해보도록하자. (Scope와 Logic Analyzer 두개 다)  
저번처럼 AC로 Scope를 분석한게 아니라 DC로 했기 때문에, 많은 기능을 사용 못해 보았지만, 일반 Scope보다, 
PC 호환성과 Analog Discovery가 제공해주는 다양한 기능 때문에 낫은 것 같다. 

나의 경우, 예전에 Scope를 회사일로 중고로 구입하고 다시 팔았는데, 지금은 매번 메일로 각 중고 Scope 가격 정보 살펴보는데, 
사실 요즘 거의 비싼 Scope는 구지 필요 없다는 생각이 많이 든다. 
Scope로는 거의 저속 interface 와 Timing을 보기위해서 사용하므로 비싼 Scope 사용은 거의 필요가 없을 질 듯 하다.  
어차피 고속 Serial Interface의 debugging은 Scope로 파악 하기가 너무 힘들며, 그나마 좀 Bandwidth가 높은 게 간혹 좀 필요한데,  
만약, 필요해서 측정해야 한다면, 그때가서 생각하도록 하자.  


다만, 사용하면서 아쉬운 기능
  1. Trigger 기능: 괜찮은 Scope일 경우 2중 Trigger 혹은 다양한 Trigger를 제공하는데 미제공 
  2. 각 신호분석: 각 Decoder 미제공 UART 안됨 (추후 될지도 모름) 
  3. Analog Video 신호분석 (NTSC/PAL/등): 미제공, 이제 이런기능은 필요 없을 것 같다. 
  4. Bandwith 문제: 너무 낮음, 30MHz
  5. SampleRate 문제: 너무 낮음, 100MHz

다만 Trigger 기능은 추후 waveforms이 업그레이드 되면, 더 개선 될수 있을 것 같기도 하며, 
Scope에서  Logic Analyzer 기능 도 되기를 바랄 뿐이다. 
싼가격에 많은 걸을 바라면 좀 그렇지만, 그래도 바랄뿐이다. 

Analog Discovery 30MHz Bandwith는 너무 낮은 것으로 보이며, 요즘 거의 보통 GHz 단위로 Bandwith를 사용한다. 
(다시 생각해보면, 저속통신에 GHz 는?? 필요 없을 듯하다.)

다만, Digital 파형이 존재했다는 것을 파악할 수 있으므로, 그것만으로 만족하도록하자. 
또한 Sample Rate도 역시 낮으며, 이는 추후 갑자기 생기는 Noise 파형신호를 놓칠 수도 있다.
그러므로, 상위 상황문제들을 정확히 알고 사용을 해야한다. 


Bandwith란? Scope역시 기본 오차가 존재하며,Sine 파형이 3db 감소하는 부분이라고 하는데, 정확한 이해는 나도 모르겠다. 
다만, Bandwith가 낮으면, DC로 측정하면, DC의 경우 여러파형이 합쳐진 존재이므로, 이에 대한 파형이 정확하게 측정이 되어지지지 않는다
쉽게 생각하면, 푸리에 이론으로 간단히 생각할 수 있다. 즉, 주파수 Bandwith가 좁아져서 생기는 문제로 파악되어진다. 
여러 파형이 합쳐진 것이 DC이며, 이를 제대로 표현하려면 여러 파형이 있어야 하는데, 
Bandwith 부족하면, 파형갯수가 부족하여 DC 파형이 뭉게지는 것으로 보면된다. 

시간축의 얼마나 Sample을 하냐 이거인데, 이게 낮을 경우 역시 Noise 파형을 놓칠 수도 있다. 
또한 Bandwith가 낮은것 처럼 정확한 신호 표현이 안되어지며, 보여진 신호가 깨진다. 

상위 두개를 테스트 해보고자 하면, 좋은 Scope에서 Bandwith 와 Sample Rate를 변경해보면 쉽게 파악 가능하다. 
더불어 흔히들 Scope하면, 고급브랜드들만 선호하는데, 각 사용 해보면 괜찮은 것들이 많으므로, 
Manual을 보고 간단히 사용해보고 판단했으면 좋겠다.