간단한 디지털 회로를 디버깅하는 가장 좋은 도구는 무엇입니까?


10

저는 통합 디버거의 사치에 익숙한 전문 소프트웨어 개발자입니다. 한동안 저는 Arduino 플랫폼을 실험 해 왔습니다. 그러나 Dallas DS1820 디지털 온도 센서와 같은 구성 요소와 인터페이스를 시도하는 것은 어둠 속에서 어렴풋 거리는 것과 같습니다.

200 달러 정도의 예산이 부족하다고 가정하면 무슨 일이 일어나고 있는지 시각화하는 데 도움이되는 도구는 무엇입니까? Link Instruments MSO-19를 살펴 봤지만 오실로스코프와 로직 분석기의 차이점에 대해 솔직히 잘 모릅니다.

구입 한 장치가 사용중인 (단순한) 구성 요소의 유형을 측정 할 수 있다는 것을 어떻게 알 수 있습니까?

답변:


9

기본적으로 오실로스코프는 라인의 전압을 점진적으로 판독하는 반면 로직 분석기는 0 또는 "높음"인지 만 알려줍니다 ( "높음"값은 잠재적으로 5V, 3.3V 또는 1.8V 일 수 있음) 당신의 회로). 로직 분석기는 해상도가 낮아서 오실로스코프보다 많은 채널 (동시 판독 가능한 라인)을 가지고 있다는 것을 종종 알 수 있습니다.

특정 장치에 관해서는 Saleae Logic 에 대해 큰 이야기를 들었습니다 . 24MHz에서 샘플링합니다. 즉, 특정 프로브의 전압이 초당 2 천 4 백만 번 높거나 낮은 지 확인합니다. 이 소프트웨어는 또한 디버깅을 돕기 위해 일반적인 임베디드 프로토콜에 대한 지식이있는 것으로 보입니다. Atmegaxx8의 최대 클럭 속도는 20MHz이기 때문에 24MHz는 arduino 작업에 충분하다고 생각합니다.


반나절 동안 더 많은 연구를 한 결과, Saleae Logic이 현재 가지고있는 아이디어의 90 %를 도와 주어야한다고 말할 수 있습니다. 소프트웨어는 나 자신과 같은 하드웨어 "outsider"를 위해 세련되고 직관적으로 보입니다. 오실로스코프가 얼마나 도움이 될지 알 수 있지만 간단한 프로젝트 유형의 경우 USB 로직 분석기가 좋은 절충안처럼 보입니다.
Owen Thomas

에서 The soul of a new machine트레이시 키더는 원시인이 불이 점화하지 않을 이유를 오실로스코프를 사용하는 것을 (의역) 말한다. :-)
stevenvh

9

이것은 주석에 맞지 않기 때문에 penjuin의 답변에 추가 된 것이며 그의 대답은 일반적으로 정확합니다. 그의 대답에 의미를 분명히하고 싶습니다.

대역폭 / 샘플링 속도에 따라 측정 장치를 신중하게 선택하십시오. 샘플링 속도가 25MHz 인 장치는 25MHz 디지털 클럭 신호를 정확하게 샘플링 할 수 없으며 근접하지도 않습니다.

25mhz에서 디지털 클럭 신호를 가져 와서 대역폭 이 25mhz 인 o-scope 에 공급하면 사인파에 가까운 것을 볼 수 있습니다. 샘플링 속도 가 25mhz 인 스코프 는 아마도 나이키 스트 당 스코프가 샘플링 할 수있는 가장 높은 주파수 신호가 12.5mhz이므로 DC 레벨을 보여줍니다.

구형파에 포함 된 기본 주파수는 클럭 속도이며이 예에서는 25mhz입니다. 또한 25MHz 디지털 클럭 신호를 정확하게 볼 수 있도록 정사각형 모양을 제공하는 큰 홀수 고조파가 포함되어 있습니다. 원하는 정확도 또는 트랜시버의 슬 루율까지.

로직 애널라이저에는 이것이 덜 중요하지만 여전히 매우 중요합니다. 로직 분석기가 임계 값 위 또는 아래에서 '높음'과 '낮음'을 찾고 있습니다. 들어오는 신호가 사인파 인 경우 인위적으로 짧은 높음 및 낮음 상태와 비트간에 인위적으로 긴 공백이 표시됩니다. 이것은 분석기의 아키텍처에 따라 다소 다를 수 있습니다.

이로 인해 다양한 전송 모드와 관련된 문제를 진단 할 수 없습니다. 예를 들어 SPI는 상승 또는 하강 클록 에지에서 유효한 데이터와 데이터 극성 (1 또는 0?)에 따라 4 가지 다른 모드를 갖습니다. 다른 전송 프로토콜에도이 문제가 있습니다 (예 : I2S 및 관련 오디오 형식). 에지 트랜지션이 언제 발생하는지 정확하게 식별 할 수없는 경우 버스가 사양 내에서 작동하는지 여부를 결정하는 것이 거의 불가능합니다.

일반적으로 의도 한 목표 데이터 속도보다 훨씬 높은 대역폭 / 샘플링 속도가 필요합니다. 40khz I2C 버스를 샘플링하려면 샘플링 속도가 100mhz 인 로직 분석기로 충분합니다. 25mhz SPI 버스를 샘플링해야하는 경우 훨씬 높은 대역폭, 실제 정확도가 필요한 경우 500mhz에 가까운 스코프 / 분석기 및 해당 주파수 범위에서 측정이 가능한 샘플링 속도가 필요합니다.

따라서 샘플링 속도 24mhz로 권장되는 장치 penjuin은 해당 데이터 속도에 적합한 슬 루율로 ~ 2mhz 미만의 디지털 신호 만 정확하게 측정 할 수 있습니다.


3
당신은 절대적으로 맞습니다, 이것은 내 마음을 완전히 미끄러 뜨 렸습니다. 이 효과를 더 잘 설명하기 위해 오실로스코프에 1khz 구형파를 공급하고 결과 푸리에 변환 (x 축은 기본적으로 주파수) i.imgur.com/lJvtD.png 의 화면 덤프를 가져 왔습니다 . 고조파는 반복되는 피크입니다.
jeremy

1
@ penjuin 완벽한 그림. 오웬에 대한 내 대답을 명확히하기 위해 권장되는 장치 penjuin은 ardunio를 처리 할 수있을 가능성이 높으므로 해당 클래스의 장치와 2MHz 이상에서 실행되는 인터페이스를 처리 할 필요가 없기 때문입니다. 나는 단지 그가 그것을 경험의 법칙으로 받아들이지 않았는지 확인하고 나중에 고속 장치 / 인터페이스로 넘어 가면 그를 물게 만들었습니다.
Mark

1
가변 임계 값이 올바르게 구성된 로직 분석기는 일반적으로 신호 주파수보다 몇 가지 요소만으로 로직을 분석하기에 충분한 분해능을 제공합니다. 신호를 수신하는 컨트롤러가 1.2V 이하 (예 :)의 경우 로직 0으로, 2.2V 이상 (예 :)의 로직 1로 전환되는 반면 로직 분석기가 1.7V에서 전환 할 수 있다는 문제가 있습니다. 덜 정확한 타이밍. 많은 경우에 디지털 회로에서 약 2-3 배 더 빠른 샘플링 속도로 진행 상황을 이해할 수 있습니다.
Wouter Simons

@wouter simons는 대역폭과 샘플링 속도를 혼동하지 않도록주의했습니다 (실제로 대답에서 단어 사용을 정리했습니다). 신호 주파수의 2 배인 샘플링 속도는 해당 신호를 감지하기위한 최소값입니다. 실제로 스코프, 특히 분석기는 일반적으로 많은 샘플을 과도하게 샘플링합니다. 예를 들어 내 tek 스코프의 대역폭은 100mhz이지만 샘플은 2.5ghz입니다.
Mark

좋은 대답입니다. 나는 당신의 게시물을 잘 따르고 아마도 아마도 더 싼 장치 중 하나를 사용하여 내가 원하는 것을 측정 할 수 있습니다. 더 복잡한 구성 요소를 탐색 할 때 제한 사항에주의를 기울일 것입니다.
Owen Thomas

8

주로 디지털 회로에서 작업하려는 경우 로직 분석기가 필요합니다. 오실로스코프는 비교적 적은 수의 아날로그 신호 (예 : 2-4)를 미세하게 표시하는 데 탁월합니다. 반면 로직 분석기는 주로 높음 대 낮음과 관련이 있기 때문에 일반적으로 훨씬 더 많은 입력을 갖습니다.

확실히 O- 스코프를 로직 애널라이저로 사용할 수 있지만 후자의 장점은 수십 개의 신호를 동시에 볼 수있어 '큰 그림'을 얻는 것이 더 쉽다는 것입니다.



2

로직 애널라이저에 관한 한, 나는 상대적으로 저렴한 것들에 대한 기본적인 비교를 썼습니다.

PC 기반 로직 분석기의 비교

샘플링 속도에 대해 한 가지주의 할 점은 경험상 일반적으로 정확한 판독을 위해서는 데이터 속도가 4 배 이상 필요하고 최대 10 배가 더 좋습니다. 따라서 8MHz 신호 (예 : SPI의 저렴한 AVR에서 쉽게 생성 할 수 있음)를 모니터링하려면 32-80MHz 샘플링 속도 분석기가 필요합니다. 이것은 '비동기'모드로 캡처 할 때만 적용됩니다. '동기'모드에서 캡처하는 경우 (예 : 클록 신호) 샘플링 속도는 클록 신호의 속도와 일치해야합니다. 예를 들어,이 경우 8MHz 동기 샘플링으로 8MHz SPI 신호를 캡처 할 수 있습니다 (전용 클럭 신호가 있기 때문에).


1

나는 MSO-19를 소유하고 있으며 그것을 좋아합니다. 아날로그 채널이 둘 이상 있었으면 좋겠지 만 오실로스코프와 로직 애널라이저 둘 다로 작동합니다. 가격으로, 그것은 훌륭한 장비라고 생각합니다 (OS X의 VMWare에서 잘 작동합니다). o'scope는 회로의 일부에서 실제로 무슨 일이 일어나고 있는지 확인하는 데 도움이되었으며, 로직 분석기처럼 디지털 라인의 고 / 저 상태만을 보여주지는 않습니다. 표준 멀티 미터보다 훨씬 정확하고 응답이 빠른 볼트 미터입니다. 그러나 I2C와 SPI 대신 직렬 데이터를 디코딩 할 수 있다면 정말 좋을 것입니다…


1

이 답변은 아마도 ardunio를 사용하는 데별로 유용하지 않지만 일반적인 질문에 대한 답변입니다.

나는 pickit2의 로직 분석기 기능을 많이 사용합니다. 분명히 PIC를 프로그래밍하기위한 것이지만 디지털 신호를 보는 데 항상 사용하는 3 채널 로직 분석기 모드도 있습니다. 현재 프로젝트에 Cortex-M3을 사용하고 있는데도 여전히 사용합니다. 적절한 기어의 표준에 따라 분명히 매우 원시적 인 도구이지만 매우 유용합니다.

나도 예를 들어 내 게시물을 참조 디버그 I2C 회로 및 TV 출력 신호로 사용했습니다 여기


1

이것은 매우 시원하고 정말 저렴합니다 : http://www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html?cPath=75

샘플링 속도가 적당하고 멋진 오픈 HW 프로젝트를 지원할 수 있습니다. 그것은 여전히 ​​일종의 베타 단계에있는 것처럼 보이므로 무언가를 연결하고 작동 시키려면 가장 큰 것이 아닐 수도 있습니다.


나는 한 달 전에 이것을 구입했다. 나는 주로 넷북으로 작업하고 있었기 때문에 "캡처"버튼을 클릭 할 수있는 컴퓨터의 화면 크기에 문제가 있었지만, 보통 크기의 노트북이나 데스크탑 컴퓨터가 있다면 괜찮을거야. 나는 그것을 광범위하게 사용하지는 않았지만, 나는 내가 좋아하는 작은 것을, 가격도 좋습니다!
onaclov2000

나는이 LA를 꽤 많이 사용하고 있으며 이것이 나의 첫 LA이기 때문에 아마도 그것이 제공하는 전력 / 기능의 50 % 미만을 사용하고있을 것입니다. 다른 여러 저비용 LA를 비교해 볼 때, 나는 그것이 LA를위한 최고의 가치 LA 중 하나라는 것을 알았습니다. 소프트웨어는 나쁘지 않습니다. 사실 나는 그것이 나의 목적에 상당히 좋다는 것을 알았습니다. 어떻게 사용했는지 보려면 내 프로필을 클릭하고 질문 한 내용을 확인하십시오.
icarus74
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.