Leo's Garage

[T1] Timing 1st Class 본문

자동차 및 자동차 SW/자동차 SW 개발 일반

[T1] Timing 1st Class

LeoBehindK 2023. 12. 1. 00:00
728x90
반응형

T1은 Gliwa라는 독일회사가 만든 차량용 SW 타이밍 솔루션이다.

우리가 일반적으로 차량용 제어기를 설계할 때, 설계한 대로 제어기가 제대로 동작하기 위해서는 각 로직이나 통신 데이터들이 사전에 정의한 시간대로 동작하는지 확인해야 한다.

차량용 제어기는 deterministic하게 동작해야하는 특성이 있으므로, 사전에 정의된 시간 간격을 준수하는 것이 매우 중요하다.

이를 위해서는 여러가지 검증 방법이 있을 수 있다. 

가장 손쉬운 방법은 각 타이밍 별로 Debugging용 신호나 값을 넣어서 이를 확인하는 방법이다.

즉 어떤 타이밍에 값이 나가고 어떤 타이밍에 제어로직이 도는지 확인하는 것이다.

사실 T1은 이러한 작업을 손쉽게 자동화해주고, 더 나아가서 좀 더 체계적인 방법으로 타이밍 검증을 도와주는 툴이다.

T1은 2개의 제품으로 구성되어 있다. 

T1-HOST-SW : PC에서 GUI 환경으로 Timing을 측정하고 분석한다.

T1-TARGET-SW : 실제 타겟 보드에 심어지는 SW로 위에서 언급한 측정 코드들을 의미한다.

실제 T1을 포팅하는 과정은 다음과 같다. 

개발 환경에 따라서 AUTOSAR 환경인지, 아니면 펌웨어 환경인지를 구분하며 또 AUTOSAR가 아니더라도 OS를 사용하느냐에 따라서 포팅 방법이 달라진다.

OS를 사용하는 제어기의 경우에는 각 코어 별로 OS에서 제어하는 Task, ISR 등에 대한 데이터를 가지고 Target SW를 Generation하게 된다. 

그리고 이러한 Target SW와 함께 T1 init 함수라던지, Runtime에 데이터를 정리하는 함수, 그리고 Idle task에 진입함을 감지하는 함수등을 각각 코드에 심어 넣게된다.

결국 T1은 기존에 우리가 손으로 짜서 넣었던 코드들을 자동으로 구성해준다고 생각하면 된다.

게다가 Gliwa는 회사 이름이면서도 이 제품을 만든 사람이기도 한데, 이 분이 T1을 고안하면서 CPU 타이밍 측정에 관하여 여러가지 용어도 정의하고 정리하였다. 

이러한 정의는 T1 GUI 환경이나 리포팅에 사용되며, 이를 알고 쓰는 것과 모르고 쓰는 것은 차이가 있다. 

이 부분에 대해서는 차후 점점 정리하도록 하겠다. 

그리고 마지막으로 T1은 python으로 자동화를 할 수 있다. 

이 부분도 활용하면 빌드와 동시에 다운로드 후, 각 OS 별 Task, ISR 타이밍과 사용량을 분석하는 리포트를 출력하게 구성할 수도 있다. 

728x90
반응형
Comments