텔레다인, SENT 프로토콜 신호의 디코딩
2014년 01월호 지면기사  / 글│Teledyne LeCroy Korea

SAE J2716 SENT(Single Edge Nibble Transmission)은 자동차 및 교통 분야에서 비용을 절감하고자 하는 안전성 애플리케이션에 이용되는 프로토콜이다. 이 프로토콜은 센서와 마이크로컨트롤러 사이에서 주고받는 데이터 트래픽을 다룬다. 텔레다인 르크로이의 오실로스코프를 사용해 SENT 신호를 디코드하는 방법을 알아본다.

Single-Edge Nibble Transmission (SENT) 프로토콜은 자동차 응용분야에서 온도, 압력, TPS(Throttle Position Sensor), 공기 유량 센서 등 높은 분해능의 센서 데이터를 전송하는 역할을 한다. SENT는 스마트 센서에서 ECU까지 통신을 지원하는 단방향 프로토콜 표준이다.
SENT 표준은 CAN이나 LIN 보다 단순하고 저렴해서 이들을 대체할 대안으로 떠오르고 있으며, PSI5(주변 센서 인터페이스 5)와 경쟁할 것으로 예상된다. 텔레다인 르크로이 오실로스코프는 다양한 산업 표준 프로토콜을 위해 소프트웨어 기반의 디코더들을 제공하고 있다. 이 글에서는 텔레다인 르크로이의 SENT 디코드 소프트웨어를 사용해 SENT 신호를 디코딩하는 방법을 살펴본다.

SENT 물리계층과 데이터 링크 계층이란

본문에서 사용된 특정한 신호를 디코딩하기 앞서 SENT 규격에 대한 기본적인 정보를 알아보자. SENT 규격에 대한 보다 상세한 정보는 www.sae.org에서 확인할 수 있다.
SENT 프로토콜은 단방향의 비동기식 전압 인터페이스로서, 신호 라인(low state < 0.5 V, high state > 4.1 V), 전원 라인 (5 V), 그라운드 라인의 3가지 와이어를 필요로 한다.


SENT 메시지(그림 1)는 다음과 같이 구성된다:
· 56 클록 틱 주기를 갖는 캘리브레이션/동기화 펄스 폭
· 한 개의 4비트 스테이터스와 12~27개의 클록 틱을 갖는 시리얼 통신 니블 펄스
· 통신하는 신호의 값을 표시하는 1개~6개의 4비트 데이터 니블 펄스(각각 12~27 클록 틱을 갖는다)의 열
· 인코딩 애플리케이션(i.e. 스로틀 포지션 센서, 흡입 공기량 등)을 위한 고정된 니블의 숫자. 이 숫자는 애플리케이션에 따라 바뀔 수 있다. 예를 들어 2개의 12비트 값이 전송되면 6개의 니블이 통신된다.
· 12~27 클록 틱을 갖는 한 개의 4비트 체크섬 니블 펄스
· 한 개의 옵션 정지 펄스

디코딩 시작하기

먼저 신호를 포착한다. 이 문서에서 디스플레이되는 신호는 1.5 ㎲ 틱 타임과 idleLow(그림 2)로 포착한 홀 센서이다.


신호를 포착하고 오실로스코프 화면에 적절히 디스플레이되면, 화면 상단의 분석 메뉴로 가서 그림 3과 같이 시리얼 디코드 메뉴 상자를 연다.
디코드 1열에서 프로토콜 버튼을 누르면 다양한 프로토콜을 표시하는 팝업 창이 열린다(이 메뉴는 오실로스코프에 설치된 디코드 옵션에 따라 달라질 수 있다). 그림 4와 같이 보여진다:
이 팝업 메뉴에서 SENT 프로토콜을 선택한다. 그 다음에 화면 트레이스의 소스를 지정하면 트레이스가 Memory 1 또는 M2에 저장된다. 디코더는 모든 채널에서 실행되며, 연산 트레이스, 메모리 트레이스에서도 실행된다. 시리얼 디코드 메뉴 상자에서 Decode 1을 켜서 화면에 Decode 1을 표시하도록 한다. Decode 1 설정 버튼을 누르면 디코드 설정 탭이 나타난다.

디코드 설정: 기본, 빠른 채널, 느린 채널, 레벨

그림 5와 같이 디코드 설정 탭이 나타나게 된다:
여기에서 View Decode 체크 박스를 체크한다. Source 1(Data)은 M1을, Protocol은 SENT를 선택한다. Basic 탭이 상자 우측에 있다. Basic, Fast Channel, Slow Channel, Level 중 선택할 수 있다. Basic부터 살펴보기로 하자.

디코드 설정: Basic

Basic 탭을 선택하면 적절한 비트 레벨 디코딩에 필요한 기본적인 조절 메뉴들이 제공된다. 이 탭에서 좌측 Viewing 부분을 보면 디코드 타입을 니블 또는 워드 중 선택할 수 있다. 채널은 빠른 채널, 느린 채널, 빠른 채널과 느린 채널 모두보기 등 3가지 선택을 제공한다. 표시 형식은 Hexidecimal 또는 Decimal을 지원한다.
Physical Layer에서는 Tick Time 버튼으로 value N의 니블과 value N+1의 니블 사이의 초당 시간을 설정할 수 있다. TickTime Tolerance 버튼은 사용자가 입력한 tick time에 맞게 CAL 펄스를 필터링하는 것을 정한다. 또한 Idle State를 IdleLow 또는 IdleHigh 중 선택할 수 있다. 우측에 Nibble 버튼을 사용하면 워드로 표시하는 니블 숫자를 정할 수 있다(기본 값은 8이다).
Protocol Details 부분에서는 신호의 디코딩에 사용되는 프로토콜을 선택할 수 있는 Version 버튼이 있다. February 2008과 January 2010 중 선택한다. 후자를 선택하면 다른 프로토콜의 상세 영역을 활성화할지 또는 비활성화할 지 선택할 수 있다. New CRC를 체크하여 2010 가이드라인에 따른 CRC 계산을 적용한다. 이 체크박스를 해제하면 2008 가이드라인을 사용해 CRC 계산을 하게 된다. Pause pulse을 체크하면 2010 권장 사용에 따라 Pause Pulse를 예측한다. Pause pulse는 메시지 N의 CRC 다음에 오고 메시지 N+1의 CAL 펄스보다 선행한다.
그림 6은 그림 2의 SENT 신호를 디코딩해 화면에 포착한 것이다. 위쪽 그리드가 신호의 트레이스 전체이고, 아래쪽 그리드는 왼쪽에서 세 번째 버스트를 확대한 뷰이다.

디코드 설정: 빠른 채널

Basic 탭 옆에 Fast Channel 탭으로 가면, 디코드 타입이 워드로 설정되고 채널은 Fast Only 또는 Both(그림 7) 중 선택할 수 있다.
여기에서는 사용자가 설정할 수 있는 4개의 Payload Interpretation 영역이 D0에서 D3까지 제공된다. 이 영역은 메시지 페이로드의 성분을 선택한 프로그램에 따라 나타내 준다. Offset을 선택하면 데이터 영역에서 하강하는 위치를 지정하고 얼마나 많은 니블들이 포함되는지를 보여준다.
4개의 데이터 비트(D0 - D3) 선택 영역은 각각 다음과 같이 페이로드 해석을
· Active: 페이로드 성분의 표시를 활성화한다.
· Offset: 페이로드가 어디에서 시작되는지 정한다.
· Nibble: 표시되는 값에 포함하는 니블의 숫자를 정한다.
· Order: 데이터를 least-significant-bit로 표시할지 most-significant-bit 중 어떤 순서로 표시할 지를 정한다.

결론
텔레다인 르크로이의 SENT 디코더는 SENT 신호는 물론, 맨체스터 방식으로 인코딩된 복잡한 신호의 내용을 쉽게 이해할 수 있도록 돕는 유용한 툴이다. 테스트 중인 신호에서 예측 가능한 비트에 트리거를 수행해, 사용자는 신호를 디스플레이하고 신호의 파라미터를 디코딩해 측정 대상의 물리적인 특성을 나타내는 데이터를 추출해낼 수 있다. 



AEM_Automotive Electronics Magazine


<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>


  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP