레이블이 Tools For HW인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Tools For HW인 게시물을 표시합니다. 모든 게시물 표시

1/12/2023

Analog Discovery Studio - Logic Analyzer 사용후기

1. Analog Discovery Studio 

Analog Discovery Studio는 기본적으로  Analog Discovery 2와 동일하다. 
다만, 아래의 기능이 추가되어 확장되었을 뿐이다.
  1. Breadboard
  2. 외부 Power 
  3. Studio 전용 확장보드 
그러므로, 별도의 개별회로를 구성할 일 없다면, Analog Discovery2 를 추천한다. 

  • Analog Discovery2 의 DC Scope 사용법 
PCB Tool View 사용법 과 DC Scope 사용법 

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

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

 
1.1 Analog Discovery Studio 관련정보 

Analog Discovery Studio는 Analog Discovery 2와 동일하므로, 관련정보가 없다면, 
Analog Discovery2에서 찾아 보도록 하자. 

  • Analog Discovery Studio 기본정보 
Analog Discovery Studio의 모든정보가 나오며, 반드시 확인 
매번 세부적으로 Project를 비롯하여, Guide 및 다양한 것이 추가되므로 반드시 확인  

  • Analog Discovery Studio HW Spec
확인해야 할 사항 항상 Spec에서 허용하는 값을 확인 Logic Analyzer는 CMOS기반으로 5v까지만 허용하지만, 3.3v로 사용 
(주의 5v가 허용이지만, 좀 무리가 될수있으므로 조심)  
  1. Analog Input: Oscilloscope, Voltmeter, Network Analyzer, Spectrum Analyzer
  2. Analog Output: Waveform Generator (shared w/ Spectrum/Network Analyzers?) 
  3. Digital Inputs and Outputs: Digital I/O, Digital Pattern Generator, Logic Analyzer
  4. 기타등등 


  • Analog Discovery 2 Hardware Design Guide
  1. ADC 회로구성
  2. DAC 회로구성 
  3. Digital 회로구성
  4. 이외 Power 구성등 
추후 시간이 더 있을 경우, 세부적 HW구성을 좀 더 확인하도록 하자. 

Analog Discovery2/Studio 의 전체 HW 구성확인가능(FPGA: Xilinx Spartan6)

상위 HW Design Guide는 상당히 좋은 자료이며, Scope/LogicAnalyzer를 직접 만들고 싶으면, 좋은 Reference가 될 것이다.
예전에 나의 경우도, 내가 직접 나만의 Scope/LogicAnalyzer를 만들고 싶어서 OpenSource 기반으로 많이 알아봤는데, 회로구성하는 문제로 많이 삽질했다. 
설사 HW만들어도 문제인게, 이를 지원해주는 Waveforms처럼 SW기능이 훨씬 더 필요하다. 


ADC 회로구성 Scope(Analog Input) 
완벽히 이해하기 어렵겠지만, 간단히 말해서 Voltage를 divide하고, Buffer사용하고, Driver 가져오는 형태이다. 

DAC 회로구성 WaveGen,AWG(Analog output)
역시 상위와 같이 Volatage를 Divide 하는 구조.  

Digital 회로구성 Logic/StaticIO/등
Digital은 FPGA(Sparatan6) CMOS와 연결되어 들어가므로, Voltage의 제약존재하며 주의해서 사용해야한다.
5V까지는 괜찮다고 하니, 그래도 좀 주의를 해서 사용하도록 하자. 
(ESD 보호회로 존재)


  • 3rd Party Programs (LabView/Matlab/ThingSpek)
  1. 예전에 Labview를 들어보기는 했는데,  회로구성을 해주는 Tool인걸로 보이며, NI에서 제공해주는 것 같다.
  2. 다 잘 알겠지만, Matlab AC Scope와 연결해서 Data Acquistion으로 사용하는 것보임
  3. Thingspeak는 Web으로 연결해서 사용하는 것으로 보임 
Labview

Matlab

Thingspeak

  • Waveforms Manual/Download
Waveforms 설치 Guide 와 Download (항상 최신버전으로)


1.2 Logic Analyzer 기능 

Scope 와 Logic Analyzer 기능을 동시에 사용이 가능한 것이 큰 장점인 것으로 보인다.  
다만, Logic Analyzer 사용 중에 Logic Analyzer기능을 좀 더 보완해주는 Digital Protocol 이 존재하는데, 이는 동시에 사용 못한다. 

  • Logic Analyzer HW 주의사항
상위 HW 에서 언급했지만, Scope가 아니므로, Volatage Level에 주의해서 사용하자
이는 Static IO도 동일하다. 


  • Logic Analyzer Trigger 
이전에 Scope에서 소개한 Simple /Pulse /Protocol 존재하여 다양한 Trigger 제공 
사실 이중 Trigger or Decode 기반의 세부 Protocol 분석기능은 별도로 없음 
(단순 Data분석만 가능한걸로 보임, 현재 UART만 사용해봄)

좀 더 확장하여 사용하고 싶다면, Digital Protocol로 변경해서 사용해야한다. 


화면캡쳐는 회사컴퓨터라서 불가능하여 포기


1.3 Digital Protocol 기능 

Logic Analyzer 와 Digital Protocol 기능은 동시에 사용하지 못하며, 상위 Logic Analyzer의 Decoding 기능확장이라고 생각하면 되겠다. 

이것으로 각 Interface의 전체적인 Flow 분석가능같은 Logic Analyzer 의 Decoding 기술이다. 
다만 이 기능이 너무 제한적이고 Custom이라는 것이 제공하며, 마치 많이 확장 가능한 것 같이 보이는데, 부족하다. 
추후 Waveforms Version 이 업그레이드 되면 나아질 것라고 생각든다. 

다만, UART의 경우, 921600가 최고로 측정가능한 것 같은데, 이것도 Packet Loss가 장난이 아니며, 데이타 깨지는 것도 많다.  
UART도 저속통신용으로 사용해야 할 걸로 생각들며, Buffer가 적다보니, Packet Loss가 장난이 아니다. 

기본적으로 SPI는 테스트를 못해봤지만, SPI 고속은 왠지 힘들 꺼 같으며, 내 기준으로는 많이 만족하지 못할 것 같다.  

일단 UART에서 기반으로 측정할때, 오류를 많이 보아서 좀 신뢰성이 많이 떨어진다. 
초보자라면, 오류라는 것도 감지를 못할 것 같다. 


화면캡쳐는 회사컴퓨터라서 불가능하여 포기


1.4 Saleae 와 Analog Discovery 비교 

Saleae의 Logic Pro16 과 비교해보면, Logic Analyzer의 Smaple Rate이 Analog Discovery가 많이 부족하며, 기능도 많이 부족해 보인다. 
만약 Scope 위주로 사용하고자 한다면, Anlog Dicovery를 추천을 하지만, Logic Analzer 위주로 생각한다면, 차라리 Saleae의 Logic Pro 16을 권하겠다.  


Saleae의 모델 과 Anaog Discovery Studio 비교 
  1. Logci Pro 16 : 500MS/s
  2. Analog Discovery Studio/2: 100MS/s 

Saleae


2. Logic Analyzer/Digital Protocol 측정후기 

일단 Saleae와 비교하면, Logic Anayzer 기능이 부족하다는 느낌이지만, WaveForms이 Upgrade되어, 개선이 되어진다면 괜찮을 것이라고 생각든다.

이외, BreadBoard 기반으로 StaticIO 와 외부 Trigger를 내가 회로 직접구성하여, Trigger도 될 것 같기도 하다. 
상위 구성을 하려면, 조금 복잡하겠지만, 일단 구성은 가능할 것 같은데, 아직 해보지는 안했으며, 될지도 확신을 못하겠다. 

더불어 Analog Discovery의 최대 장점이라고 하면, Scope 기능, Function/Pattern Generator,과 Audio가 될꺼 같으며, 
상위에서 언급한 다양한 Tool 과 연결성에 Python과 같이 연동도 되어지니, 정말 가성비는 끝내주는 것 같다.
그리고, Linux에서 Python으로 이관련 프로그램도 연결하여 구성도 할 수 있으니, 괜찮은 것 같다.  
Analog Discovery Studio는 Analog Discovery2 와 달리 Power 를 기본제공에, BreadBoard 기반으로 각 Switch 까지 제공하니, 
만약 MCU/MPU 가지고 놀기에는 최적이라고 생각든다. 

이 가격에 너무 많은 것을 바란다면, 나도 좀 그렇지만, 가성비를 생각하면 상당히 괜찮다고 생각든다. 
쓰면서, 매번 조금만, 조금만 하고 바라는 것들이 늘어날뿐이며, 현재 상태로는 만족한다.


다만 아쉬운 것 기능등
  1. Logic Analyzer 의 Decode Analyzer 분석기능 미제공 
  2. 한정된 Trigger의 조건 (너무 한정적)
  3. Logic Analyzer의 Sample Rate 
  4. Packet Loss 문제 

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을 보고 간단히 사용해보고 판단했으면 좋겠다. 

8/11/2022

Analog Discovery 2 와 Python

1. Analog Discovery 2 와 Python 연결 
 

Analog Discovery 2  기본테스트 및 Wavforms 설치확인 

Analog Discovery 2 와 Python 연결 

  • WaveForms의 Sample
  1. Windows 32-bit: C:\Program Files\Digilent\WaveFormsSDK\samples
  2. Windows 64-bit: C:\Program Files (x86)\Digilent\WaveFormsSDK\samples
  3. Linux: /usr/share/digilent/waveforms/samples
  4. macOS: /Applications/WaveForms.app/Contents/Resources/SDK/samples

현재 C++ 과 Python 기반으로 제공해주는 것으로 보인다. 


$ sudo apt install python3-pip   //python3 pip 설치 
$ sudo ln -s /usr/bin/python3 /usr/bin/python  // python setup 
$ pip install numpy matplotlib   

  • Python Waveforms

$ pip install waveforms   // 이것은 필요 없어보이며 괜히 설치 했다.          
$ sudo apt install  git
$ git clone https://github.com/feihoo87/waveforms.git


$ pip install pydwf      

$ python -m pydwf list -c                    //  연결상태 확인 
Device information for device #0 (1 device found)
=================================================

  device ........... : 3
  version .......... : 3
  open ............. : True
  user_name ........ : 'Discovery2'
  device_name ...... : 'Analog Discovery 2'
  serial ........... : 'xxxxxxx'                  //Seril Number 삭제 

  Configuration:                 0         1         2         3         4         5         6         7
  ----------------------  --------  --------  --------  --------  --------  --------  --------  --------
  TooltipText (length)       (319)     (263)     (211)     (311)     (352)     (404)     (313)     (295)
  OtherInfoText                  .         .         .         .       [0]     Power       [0]         .
  AnalogInChannelCount           2         2         2         2         2         2         2         2
  AnalogOutChannelCount          2         2         2         2         2         4         2         2
  AnalogIOChannelCount           2         2         2         2         2         2         2         2
  DigitalInChannelCount         16        16         0        16        16        16        16        16
  DigitalOutChannelCount        16         0         0        16        16         8        16        16
  DigitalIOChannelCount         16        16        16        16        16        16        16        16
  AnalogInBufferSize          8192     16384      2048       512      8192      8192       512      8192
  AnalogOutBufferSize         4096      1024     16384       256      4096      4096       256      1024
  DigitalInBufferSize         4096      1024         0     16384      4096      2048     16384     16384
  DigitalOutBufferSize        1024         0         0     16384      1024       256     16384       256

  Strings referenced in the preceding table (with newlines replaced by '•'):

  [0]  '1V8_Digital_Input'
$ python -m pydwf extract-examples  // Sampe example 가져오기 
$ cd pydwf-examples

$ python AnalogInSimple.py   // 각 동작 확인 
....
analog input channel 0:   -0.01111883895232168573 [V], channel 1:    0.00848256450475493029 [V]
analog input channel 0:   -0.00008158292222348873 [V], channel 1:   -0.01756863060662183784 [V]
analog input channel 0:   -0.01479792429568771439 [V], channel 1:    0.00103936590150444097 [V]
analog input channel 0:   -0.01111883895232168573 [V], channel 1:    0.00476096520312963012 [V]
analog input channel 0:   -0.01479792429568771439 [V], channel 1:    0.00476096520312963012 [V]
analog input channel 0:   -0.02215609498241988273 [V], channel 1:    0.00848256450475493029 [V]
analog input channel 0:   -0.00376066826558951739 [V], channel 1:    0.01592576310800541961 [V]
analog input channel 0:   -0.01111883895232168573 [V], channel 1:    0.00848256450475493029 [V]
analog input channel 0:   -0.01111883895232168573 [V], channel 1:    0.00476096520312963012 [V]
analog input channel 0:    0.00359750242114253993 [V], channel 1:    0.01964736240963060876 [V]
analog input channel 0:   -0.02583518032578591139 [V], channel 1:    0.00848256450475493029 [V]
analog input channel 0:   -0.00376066826558951739 [V], channel 1:   -0.00640383270174615937 [V]
analog input channel 0:   -0.02583518032578591139 [V], channel 1:   -0.02129022990824713801 [V]
analog input channel 0:   -0.00008158292222348873 [V], channel 1:    0.02709056101288109808 [V]
analog input channel 0:   -0.02215609498241988273 [V], channel 1:   -0.01012543200337134852 [V]
analog input channel 0:   -0.02583518032578591139 [V], channel 1:    0.00103936590150444097 [V]


$ cd /usr/share/digilent/waveforms/samples/py  // WaveForm Sample Python 이동 , 예제가 너무 많음 

$ python Device_Info.py
DWF Version: b'3.18.1'
Number of Devices: 1
------------------------------
Device 1 : 
	b'Analog Discovery 2'
	b'SN:xxxxxxxx'   // Serial Number 삭제 

AnalogIn channels: 2
Buffer size: 8192
ADC bits: 14
Range from 5.0 to 50.0 in 2.0 steps
Offset from -25.0 to 25.0 in 16384.0 steps

AnalogOut channels: 2
Channel 1
Node: Carrier
Buffer size: 4096
Amplitude from 0.01 to 5.0
Offset from -5.0 to 5.0
Frequency from 1e-06 to 100000000.0
.....



좀 더 다양한 예제를 가지고 테스트를 해보면 될 꺼 같으며, 추후 시간이 되면 Audio를 직접 넣어 테스트 하고 관련부분 수정하면서 테스트 해도 될꺼 같다. 


2. Raspberry Pi4 

추후 원격으로 사용할 일 있다면, 아래와 같이 구성한 후 사용하도록 하자 

Raspberry Pi 4 에 WaveForm 을 설치한 후, VNC로 연결하여 사용 

7/22/2022

Analog Discovery 2 기본 기능 확인

 1. Analog Discovery 2 기능소개 

  • 기본기능소개
  1. 2-Ch  Oscilloscope  
  2. 2-Ch  Function Generator
  3. 16-Ch Logic Analyzer 
  4. 16-Ch Pattern Generator
  5. 이외 기능 

  • Analog Discovery2 관련자료

  • Analog Discovery2 
 

digilent 사에서 가장 잘 나가는 제품으로 보이며, 상위 기능을 봐도 많은 기능을 제공해주고 있다. 


1.1 Digilent 사의 Analog Discovery 제품 비교 

  • Digilent 사의 제품 비교 
  1. Analog Discovery 2 
  2. Analog Discovery Pro (ADP5250)
  3. Analog Discovery Pro (ADP3450/ADP3250)
  4. Analog Discovery Studio


Analog Discovery Pro (ADP5250)Analog Discovery Pro (ADP3450/ADP3250)Analog Discovery StudioAnalog Discovery 2Digital Discovery
WaveForms CompatibilityWindows only
with WaveForms
Mac, Windows, Linux with WaveFormsMac, Windows, Linux with WaveFormsMac, Windows, Linux with WaveFormsMac, Windows, Linux with WaveForms
Oscilloscope2 channel, 8-bit, 1 GS/s (0.5 GS/s in dual channel mode), 40 V peak to peak, single-ended, non-isolated, 100 MHz bandwidth, BNC connector4 channel / 2 channel, 14-bit, 125 MS/s (0.5 GS/s with oversampling), ±25 V, single-ended, 55 MHz+ bandwidth, BNC connector2 channel, 14-bit, 100 MS/s, ±25 V, single-ended 30 MHz+ bandwidth with BNC connector (differential 9 MHz+ bandwidth with MTE connector)2 channel, 14-bit, 100 MS/s, ±25 V, single-ended 30 MHz+ bandwidth with BNC Adapter (differential 9 MHz+ with MTE connector)N/A
Waveform Generator1 channel, 14-bit, 125 MS/s, 15 MHz+ bandwidth, ±12 V (Hi-Z), BNC connector2 channel, 14-bit, 125 MS/s, 15 MHz+ bandwidth, ±5 V, BNC connector2 channel, 14-bit, 100 MS/s, ±5 V, 8 MHz+ bandwidth with BNC connector (8 MHz+ with MTE connector)2 channel, 14-bit, 100 MS/s, ±5 V, 12 MHz+ bandwidth with BNC Adapter (MHz+ with MTE connector)N/A
Spectrum Analyzer2 channel, 0 Hz to 250 MHz, FFT, CZT, noise floor, SFDR, SNR, THD, Harmonic measurements and more4 channel / 2 channel, 0 Hz to 50 MHz, FFT, CZT, noise floor, SFDR, SNR, THD, Harmonic measurements and more2 channel, 0 Hz to 50 MHz, FFT, CZT, noise floor, SFDR, SNR, THD, Harmonic measurements and more2 channel, 0 Hz to 50 MHz, FFT, CZT, noise floor, SFDR, SNR, THD, Harmonic measurements and moreN/A
Network Analyzer2 channel, 10 uHz to 25 MHz up to 10001 samples, FFT, Nichols, Nyquist, and other plots supported4 channel / 2 channel, 10 uHz to 25 MHz up to 10001 samples, FFT, Nichols, Nyquist, and other plots supported2 channel, 10 uHz to 10 MHz up to 10001 samples, FFT, Nichols, Nyquist, and other plots supported2 channel, 10 uHz to 10 MHz up to 10001 samples, FFT, Nichols, Nyquist, and other plots supportedN/A
Impedance Analyzer24.4 mHz to 20 MHz, 10k samples per decade, voltage, current, impedance, admittance, capacitance, and other measurements supported10 uHz to 25 MHz, 10k samples per decade, voltage, current, impedance, admittance, capacitance, and other measurements supported10 uHz to 10 MHz, 10k samples per decade, voltage, current, impedance, admittance, capacitance, and other measurements supported10 uHz to 10 MHz, 10k samples per decade, voltage, current, impedance, admittance, capacitance, and other measurements supportedN/A
VoltmeterN/A4 channel / 2 channel, ±25 V, DC, AC RMS, and True RMS measurements2 channel, ±25 V, DC, AC RMS, and True RMS measurements2 channel, ±25 V, DC, AC RMS, and True RMS measurementsN/A
Data LoggerN/A4 channel / 2 channel, Voltage: DC, True RMS, AC RMS, and math functions, up to 24 hours of data logged at 1 Hz sample rate2 channel, Voltage: DC, True RMS, AC RMS, and math functions, up to 24 hours of data logged at 1 Hz sample rate2 channel, Voltage: DC, True RMS, AC RMS, and math functions, up to 24 hours of data logged at 1 Hz sample rateN/A
Logic Analyzer32 channel, 1 GS/s, 0 V to 5 V. Interpreters for SPI, I2C, UART, CAN, I2S, 1Wire, HDMI CEC, Manchester, and more16 channel, 125 MS/s, 1.2 V to 3.3 V CMOS, 5 V tolerant. Interpreters for SPI, I2C, UART, CAN, I2S, 1Wire, HDMI CEC, Manchester, and more16 channel, 100 MS/s, 3.3 V CMOS, 5 V tolerant. Interpreters for SPI, I2C, UART, CAN, I2S, 1Wire, HDMI CEC, Manchester, and more16 channel, 100 MS/s, 3.3 V CMOS, 5 V tolerant. Interpreters for SPI, I2C, UART, CAN, I2S, 1Wire, HDMI CEC, Manchester, and more32 channel maximum, 800 MS/s maximum, 1.2 V to 3.3 V CMOS, 5 V tolerant. Interpreters for SPI, I2C, UART, CAN, I2S, 1Wire, HDMI CEC, Manchester, and more
Pattern GeneratorN/A16 channel, 125 MS/s, 1.2 V to 3.3 V CMOS, user defined patterns and data file import supported16 channel, 100 MS/s, 3.3 V CMOS, user defined patterns and data file import supported16 channel, 100 MS/s, 3.3 V CMOS, user defined patterns and data file import supported16 channel, 100 MS/s, 1.2 V to 3.3 V CMOS, user defined patterns and data file import supported
Static IO8 channel, virtual buttons, switches, LEDs, 7-segment display, progress bar, slider16 channel, virtual buttons, switches, LEDs, 7-segment display, progress bar, slider16 channel, virtual buttons, switches, LEDs, 7-segment display, progress bar, slider16 channel, virtual buttons, switches, LEDs, 7-segment display, progress bar, slider16 channel, virtual buttons, switches, LEDs, 7-segment display, progress bar, slider
Power SuppliesThree variable power supplies available: one 0 V to 6 V - 0 A to 1 A, one 0 V to 25 V - 0 A to 500 mA, one 0 V to -25 V - 0 A to 500 mA,One variable supply available on two pins, 1.2 V to 3.3 V output, up to 300 mA current totalnegative supply: -1 V to -5 V
positive supply: 1 V to 5 V
2.1 W for each supply
fixed supplies: ±12 V, 5 V, and 3.3 V
negative supply: -0.5 V to -5 V
positive supply: 0.5 V to 5 V
500 mW total via USB
2.1 W f
or each supply when externally powered
up to 700 mA per channel when externally powered
One variable supply available on two banks of two pins, 1.2 V to 3.3 V output, up to 100 mA current per bank
Digital Multimeter (DMM)5½ digits, Input protection,
DC voltage, AC voltage, DC current, AC current, resistance, diode, and continuity measurements supported
N/AN/AN/AN/A
Protocol AnalyzerN/AUART, SPI, I2C, CAN, and AVR supported, more protocols supported in the Logic AnalyzerUART, SPI, I2C, CAN, and AVR supported, more protocols supported in the Logic AnalyzerUART, SPI, I2C, CAN, and AVR supported, more protocols supported in the Logic AnalyzerUART, SPI, I2C, CAN, and AVR supported, more protocols supported in the Logic Analyzer
Script EditorSimultaneous control of all instruments through an in-application JavaScript interface, automatable GUI actions, custom data analysis and manipulation featuresSimultaneous control of all instruments through an in-application JavaScript interface, automatable GUI actions, custom data analysis and manipulation featuresSimultaneous control of all instruments through an in-application JavaScript interface, automatable GUI actions, custom data analysis and manipulation featuresSimultaneous control of all instruments through an in-application JavaScript interface, automatable GUI actions, custom data analysis and manipulation featuresSimultaneous control of all instruments through an in-application JavaScript interface, automatable GUI actions, custom data analysis and manipulation features
Dedicated External TriggersOne digital input/output on BNC connector, 3.3 V CMOS, 5 V tolerantTwo digital input/outputs on BNC connectors, 3.3 V CMOS, 5 V tolerantTwo digital input/outputs on MTE connectors, 3.3 V CMOS, 5 V tolerantTwo digital input/outputs on MTE connectors, 3.3 V CMOS, 5 V tolerantN/A
Software CustomizationWaveForms SDK available for Custom ApplicationsWaveForms SDK available for Custom Applications WaveForms SDK available for Custom ApplicationsWaveForms SDK available for Custom Applications
상위내용 출처 


상위 각 기능을 보면 이전의  Sales 사의 Logic Analyzer 비교하면 Sample Rate 좀 부족하지만, 가성비를 생각하면 기능은 비교되지 않을 것 같다. 

1.2 Analog Discovery 2 관련영상 


Analog Discovery 2 기능소개 


Analog Discovery 2 Quick Guide



1.3  Analog Discovery 2 Pin 구성 




https://forums.ni.com/t5/Analog-Discovery-Student/Getting-Started-with-LabVIEW-and-Analog-Discovery-2-NI-Edition/ta-p/3553508




2. WaveForm 프로그램 

  • Linux(Ubuntu)에서 Adept Runtime 설치 후 Waveform을 설치 
  1. digilent.adept.runtime_2.26.1-amd64.deb 
  2. digilent.waveforms_3.18.1_amd64.deb

WaveForm Download 

WaveForm Manual 

  • LabView 와 WaveForm 
Labview 에서 WaveForm의 OpenAPI 와 Labview 의 Digital I/O 구성하여 테스트가 가능한 것 같다.(이 프로그램은 아직 사용못해봄) 
이외 Matlab도 지원가능한 것으로 보인다. 


2.1 WaveForm 기본 테스트 

우선 간단하게  Function Generator 와 Scope를 연결하여 테스트 해보는데, 스코프로 사용하기에는 너무 성능이 떨어지는 것으로 보이며,
종종 오동작하는 것 같은데, 일단 좀 더 봐야겠다. 

  • 기본설정 
BNC Adapter  와  BNC Cable  로 Loopback 구성  
or
MTE Cable Loopback




  • WaveGen1
Amp:200mV, 200KHz, Sine 


  • Scope01
LoopBack으로 WaveGen1 와 연결 후 측정 
BNC Cable사용시 (x1) 둘 다 변경 (Scope/Wave)
Scope에서 Channel  x1 (default)


LoopBack으로 연결 한 후, Modulation도 지원하기에, 이를 측정할 방법을 모색 


  • WaveGen1
  1. Amp:200mV, 1KHz, Sine 
  2. FM 10Hz (100ms)

  • Scope01
  1. FFT로 1KHz 확인 
  2. Measuremnt로 Frequency 1Khz 기준으로 변경 (FM 설정했기때문)
  3. X 축 / Y축 설정하여 각 Delta 값 측정 


X 축 Delta를 100ms 로 한 다음 FM을 측정할 방법을 찾았으나, 아직 못찾음 
현재 Manual로 봐도 없는 것으로 보임 



상위 FFT의 측정을 보면,  Window 형식으로 FFT를 측정하므로  옵션을 변경하며 다양하게 측정가능하다. 
FFT이므로, 이미 정해진 범위에서 측정해야 하기때문에 Start/Stop 잘 설정하고, Type을 잘 설정하면 쉽게 분석가능하다. 

type : Peak Hold continuos

이외 spectogram 3d 영상도 분석가능하다. 
  1. X: Time domain
  2. Y: Frequency Domain
  3. Z: db 


일단은 가격대비 다양한 기능은 만족이며, 이것 가지고, Data 얻어 Python으로 연결 가능한지도 알아 봐야 겠다. 
그러면 Audio DSP 용으로 도 쉽게 사용가능 할 것 같다.