로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

안녕하세요.

오늘도 잠시 쉬어가는 시간을 가져가도록 하겠습니다.

오늘은 Logic Analyzer를 사용법을 알아보는 시간을 가지도록 하겠습니다.

MCU를 개발하는데 있어서, Logic Analyzer는 꼭 필요한 필수 도구 입니다.

그리고, 집에서 무언가를 개발할 때도 꼭 필요한 도구라고 할 수 있습니다.

참고로 이 글은 개발의 전체적인 내용을 연재하고 있는 글이 중에 하나입니다.

그래서, 앞에쓴 글을 보시면 더욱 도움이 되실것 같습니다.

아래 글을 링크 걸어둘께요. 필요하신 분은 한번 읽어 보세요.

(물론 이 글만 보셔도 크게 문제는 없습니다.)

1) 임베디드 SW, MCU에 대한 정리 (feat. 임베디드 SW 비전)

https://embeddedchallenge.tistory.com/210

2) MCU 개발 장비 구매 방법 정리 (인피니언 MCU TC275 Lite)

https://embeddedchallenge.tistory.com/211

3) 임베디드 SW 개발 환경 세팅 방법 정리 (소스코드 편집기, 컴파일러, 디버거 환경 설정 방법)

https://embeddedchallenge.tistory.com/212

4) 인피니언 IDE Tool 사용방법 정리 (프로젝트 생성 및 다운로드 수행)

https://embeddedchallenge.tistory.com/219

5) 인피니언 MCU LED Blinking (TC275 GPIO 설정)

https://embeddedchallenge.tistory.com/225

6) 인피니언 MCU Clock, 오실레이터 에 대한 이해 (TC275 보드에서 확인)

https://embeddedchallenge.tistory.com/226

7) 인피니언 MCU PLL 설정 및 주변기기 Clock 설정 (TC275)

https://embeddedchallenge.tistory.com/227

8) 인피니언 MCU 인터럽트/Interrupt 설정 (TC275 동작 확인)

https://embeddedchallenge.tistory.com/228

9) 스케줄링(scheduling)에 대한 정리, 인피니언 MCU Scheduler 설계 정리

https://embeddedchallenge.tistory.com/229

10) PWM이란 무엇인가? 인피니언 MCU를 이용한 PWM 설계 수행

https://embeddedchallenge.tistory.com/232

11) Motor Driver L298N 사용법 정리 (인피니언 MCU 개발)

https://embeddedchallenge.tistory.com/235

12) DC모터 드라이버 설계, RC카 전진,후진,회전 설계 (인피니언 MCU PWM, GPIO 설정)

https://embeddedchallenge.tistory.com/236

13) UART 통신 정리, UART 통신 MCU 설계 (인피니언 MCU)

https://embeddedchallenge.tistory.com/237

14) Teraterm 시리얼 통신 터미널 프로그램 사용법, 다운로드 방법 (feat 허큘리스)

https://embeddedchallenge.tistory.com/238

그렇다면 이제 Logic Analyzer가 무엇인지부터 알아보도록 하겠습니다.

1. Logic Analyzer란 무엇인가?

그전에 신호분석기에 대해서 먼저 알 필요가 있습니다.

먼저, 저의 심장박동은 어떻게 뛸까요?

저의 심장박동은 일정한 압력으로 일정한 주기를 가지고 뛰고 있습니다.

병원에가면 우리의 심장박동을 전기신호로 변환하여 화면에 그래프로 띄어주고 있지요.

이렇듯 우리 주변에는 다양한 전기신호를 분석하여 그래프로 표현하는 장비들이 많이 있습니다.

그것을 신호분석기라고 합니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

대표적인 신호분석기로는 '오실로스코프'가 있습니다.

아래는 오실로스코프입니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

전기신호를 그래프로 표현해 줄수 있습니다.

왼쪽 가슴에 손을대고, 심장이 뛰는것을 한번 느껴보세요.

1초에 몇번 뛰나요?

ㅎㅎ

1분에 몇번 뛰는지 묻는것이 더 좋은 질문이겠죠?

우리가 사용하는 전기제품은 

1초에 100 000 000 번정도 를 주기성을 가지고 신호가 반복됩니다.

100MHz

따라서, 아주 작은 시간에 전기신호가 왔다갔다하는 것을  계측해 주어야 합니다.

아래 오실로스코프에서 아주 빠른 신호가 왔다갔다하는 것을 볼 수 있습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

따라서, 임베디드 SW를 포함하여, 전기기기 하드웨어 개발자들은 오실로스코프를 통하여

아주 작은시간에 흐르는 전기신호의 움직임을 확인하고, 개발을 수행해야 합니다.

그런데 문제가 있습니다.

오실로스코프는 정말 비싼 장비라는 것입니다.

더 작은시간에 정확하게 분석하는 장비들은 더 비쌉니다.

아래 대략 싼것도 50만원이 넘는것을 볼 수 있습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

그리고 하나하나 복잡한 전기신호를 보고 확인하는것도 보통 어려운 일이 아닙니다.

이때 필요한 것이 바로 Logic Analzer입니다.

지난 시간에 UART 전압을 측정해 보았습니다.

아래와 같이 MCU에서 나오는 UART 전압라인을 빨강동그라미로 그린 박스에 연결하고

최종적으로 컴퓨터쪽으로 USB라인을 통하여 연결하였습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

그리고, 노트북에 신호분석기 프로그램을 실행시키면,

저 전압이 흐르고 있는 신호를 포착하여 그래프로 표현을 해줍니다.

마치 오실로스코프와 같이요.

아래 그림은 빠른시간 흐르는 UART 전압을 포착하여 그래프로 표현하고 있는 그림입니다.

추가적으로 신호 분석하여 이 전압은  'a','b','c'라는 아스키코드를 보내고 있다는 것까지 알려주고 있습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

오실로스코프를 통해서도 위와같은 일이 가능합니다.

하지만, 미리 저장된 데이터를 컴퓨터를 이용하여 다양하게 처리할수 있기 때문에 

Logic Analzyer를 사용하면 더 편할때가 있습니다.

UART 이외에도, I2C, SPI, CAN, PWM 등의 분석이 가능합니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

나중에 실습을 하겠지만, CAN Frame을 정확하게 측정하여 분석을 해주는것만으로도

정말 큰 도움이 될수 있습니다.

2. Logic analyzer는 얼마이고 어떻게 구매해야 할까?

Logic analyzer중 가장 신뢰있고 좋은 재품은 Saleae 제품입니다.

아래 링크를 참조하세요.

https://www.saleae.com/

Logic Analyzers from Saleae - #1 with Professional Engineers

Debugging that just works. Stable, easy to use, and fully cross platform, Logic 2 makes it dirt simple to capture, visualize, and search your signals.

www.saleae.com

가격은 아래와 같습니다.

정말 가격이 많이 비싸죠?

제가 돈이 좀 생기면 아래 장비를 사려고 합니다. ㅎㅎ

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

하지만, 집에서 개발할때 45만원의 고가 장비를 사는것이 만만치는 않습니다.

따라서, 아래와 같은 USB로직분석기를 통하여 구매하기도 합니다.

24MHz 신호분석기 입니다.

정확히 말해서 Saleae의 짝퉁 제품입니다..

그래서 가격이 정말싸죠

9천원정도

메모리도 좀 부족하고, 계측도 정품보다 세밀하지 못해서

정말 제약사항이 많습니다.

하지만, 방구석에서 개발하는데는 크게 문제가 없죠.

그래서 저는 집에서 개발을 하시는 분은 아래 제품을 추천드립니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

그렇다면 이제 Saleae 제품을 어떻게 연결하여 사용하는지를 정리해보도록 하겠습니다.

3. Logic analyzer 사용법 정리 (Saleae 사용법 정리)

1) 먼저 아래 사이트에 들어가서 SW를 다운받으셔야 합니다.

https://www.saleae.com/downloads/

Logic analyzer software from Saleae

www.saleae.com

위의 사이트에서, 빨강색 동그라미를 선택하여 SW를 다운로드 하시고 설치해 주세요.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

2) 장비를 사서, 연결한후 프로그램을 실행시킵니다.

왼쪽사진과 같이 연결을 하고, 프로그램을 실행시키면 오른쪽과 같은 화면이 뜸니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob
로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

3) UART 신호를 측정해 보도록 할게요.

UART의 계측신호를 측정할 것입니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

이제 프로그램에서 오른쪽에 1번을 누르시고

그리고나서 2번을 누릅니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

그러면 아래와 같은 창이뜨고 Async Serial을 선택합니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

원하는 채널과 UART 스펙을 기입합니다.

저는 아래와 같은 스펙을 입력하였습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

마지막으로 원하는 대역을 선택해 주세요

저는 4MHz로 선택하였습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

이제 계측을 시작하면 됩니다.

위의 설정을 수행한 0번채널은 a라고 딱 분석하여 나오는 것을 볼수 있습니다.

아래 1번채널은 분석은되지 않고 전압만 들어오는 것을 볼 수 있습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

마지막으로 시간에 대해서도 측정이 가능합니다.

Ctrl + T 를 누르고 왼쪽 오른쪽을 선택하면 아래와 같이 시간 차이를 확인할수 있습니다.

이것 말고도 다양한 Measurement 기능이 있습니다.

로직 아날라이저 사용법 - lojig anallaijeo sayongbeob

이제 준비가 다 되었습니다.

UART부터 세세하게 분석을 수행하고

PWM, ADC, SPI, CAN 등의 신호들도 분석하여 확인해 보면 좋을것 같습니다.

이상으로 Logic analyzer 사용법 (saleae 로직 분석기 사용법 정리) 포스팅을 마치도록 하겠습니다.

감사합니다.