Skip to content

TMA‐1 기능 및 사용 가이드

LUFT-AQUILA edited this page Oct 31, 2023 · 30 revisions

0. Specification

Electrical Characteristics

Parameter Min Typ Max Unit
Supply Voltage 4.5 12 28 V
Power Consumption W
DIN input Voltage 50 V
AIN Input Voltage * V
PIN Input Voltage ** 36 V

* Specified by resistors in ANALOG section
** Specified by resistors in PULSE section

ESP32의 C타입 USB 단자를 통해서도 TMA-1 전체에 전원을 공급할 수 있습니다.

단, USB 단자로 전원 공급 중 장비가 오동작한다면 전류가 부족한 것이니 VIN 단자를 통해 전원을 공급하세요.

Mechanical Characteristics

  • 마운팅 홀 직경: 3mm
  • 마운팅 홀 패드 직경: 6mm

1. 기능

1-1. SD카드 로그 저장

TMA-1 데이터로거는 Micro SD 카드에 모든 로그를 기록합니다. STM32F4 개발보드 상단의 SD 카드 슬롯을 사용합니다.

SD 카드를 정상적으로 인식한 경우 TMA-1의 SD LED가 켜지며, SD카드가 분리되거나 고장난 경우 꺼집니다.

프로토콜에 따라 바이너리 형식으로 저장된 로그를 사람이 읽을 수 있는 파일로 변환하려면 TMA-3 데이터 분석 도구 가이드를 참고하세요.

  • RTC 시간 동기화를 최소 1회 먼저 하고 장비를 재부팅해야 로그 파일 이름이 실제 시간으로 제대로 저장됩니다.
  • 로그 파일 이름은 YYYY-MM-DD-HH-mm-ss.log 형식으로 정해지며, TMA-3가 로그 발생 시각을 계산하는데 사용하므로 변경해서는 안 됩니다.

1-2. RTC 실제 시간 추적

TMA-1 데이터로거는 RTC(Real-Time Clock)을 이용하여 전원이 꺼져도 실제 시간 정보를 계속 저장합니다.

STM32 개발보드에 있는 작은 코인 배터리가 RTC 시계의 배터리입니다. 배터리를 제거하면 시간이 2023년 5월 12일 00시 00분 00초로 초기화됩니다.

RTC 유닛은 두 가지 방법으로 실제 시간과 동기화할 수 있습니다.

  • 텔레메트리 기능을 사용하는 경우 TMA-2 중계 서버와 연결되면 자동으로 서버 시간으로 동기화됩니다.
  • 텔레메트리 기능을 사용하지 않는 경우, TMA-1 설정 도구를 통해 컴퓨터의 시스템 시간과 동기화할 수 있습니다.

1-3. 텔레메트리

TMA-1이 기록한 로그를 실시간으로 무선 전송하여 원격에서 모니터링할 수 있는 기능입니다. PCB의 TELEMETRY 영역에 부품을 장착해야 작동합니다.

드라이버가 가지고 탑승한 스마트폰의 핫스팟 네트워크를 통해 인터넷에 연결하여 로그를 TMA-2 중계 서버로 전송합니다.

TMA-1이 서버와 연결되면 보드의 TELEMETRY LED가 켜지고, 연결이 끊기면 꺼집니다. 부팅 직후 STM32와 ESP32가 통신 초기화에 성공하면 LED가 빠르게 3회 점멸합니다.

  • 삼성 스마트폰 핫스팟과 가장 호환성이 좋습니다. iPhone 핫스팟 네트워크는 권장하지 않습니다.
  • 네트워크 문제로 실시간 모니터링이 끊겨도 모든 로그는 손실 없이 SD 카드에 저장됩니다.
  • 사용하지 않는다면 TMA-1 설정 도구의 Datalogging - Output - Telemetry 옵션을 꺼야 합니다. 이 경우, TELEMETRY 영역 부품을 장착하지 않아도 됩니다.

1-4. 로그 출력(UART/I2C)

TMA-1이 수집한 로그를 차량에 탑재된 다른 MCU(운전자 디스플레이 등)가 사용할 수 있도록 다시 출력하는 기능입니다.

1-4-1. UART

Main I/O 커넥터의 LTX, RTX 핀을 통해 115200bps 3.3V UART로 로그를 출력합니다. (LTX만 사용합니다.)

출력되는 로그는 헤더 2 byte(0x05, 0x12)가 기존 16 byte의 로그 프로토콜 앞에 붙은 18 byte 규격입니다.

TMA-1 설정 도구의 Datalogging - Output - Serial 옵션을 켜야 활성화됩니다. 사용하지 않는다면 비활성화해야 성능 이득을 볼 수 있습니다.

  • 이론상 최대로 전송 가능한 로그는 초당 640개입니다.

1-4-2. I2C

STM32는 I2C 통신을 통해 ESP32로 수집한 로그를 전달합니다. 이 때, I2C General Call Address인 0x0으로 로그를 전송합니다.

따라서, I2C 버스에 General Call 수신 기능이 구현된 다른 노드를 연결하면 로그 패킷을 수신할 수 있습니다.

  • 텔레메트리 기능을 사용하고, ESP32가 서버에 연결되었을 때만 로그가 I2C 포트로 출력됩니다.
  • Main I/O 커넥터의 SDA, SCL 핀을 통해 수신할 수 있으며, I2C 특성상 먼 거리는 전송할 수 없습니다.

1-5. CAN 트래픽 모니터링

CAN 통신 버스의 모든 트래픽을 모니터링합니다. PCB의 CAN 영역에 부품을 장착해야 사용할 수 있습니다.

125 kbit/s, 250 kbit/s, 500 kbit/s, 1 Mbit/s 의 CAN baud rate를 지원합니다.

  • CAN 버스 에러를 감지하면 보드의 CAN LED가 꺼집니다.
  • TMA-1 설정 도구의 Datalogging - Sensors - CAN 옵션을 켜야 활성화됩니다.
  • CAN baud rate는 TMA-1 설정 도구에서 설정할 수 있습니다.

CAN Message

CAN 2.0A(standard)는 11개, CAN 2.0B(extended format)는 29개 비트를 사용하여 CAN 메시지 ID를 표현합니다.

한편, TMA-1은 로그 프로토콜 규격상 CAN ID를 저장하는 key 필드에 8개 비트만 사용할 수 있습니다.

따라서, 모든 CAN 메시지는 ID의 하위 8개 비트만 로그에 key 값으로 기록됩니다.

0b11110000(0xF0)0b11011110000(0x6F0)은 로그에서 동일한 메시지 ID로 취급되며, 로그의 key 필드에 0xF0이 저장됩니다.

종단 저항

CAN 버스에는 버스 양 끝단에 120Ω 종단 저항이 하나씩, 총 2개 존재해야 합니다.

TMA-1의 CAN 트랜시버에는 기본적으로 120Ω 저항이 장착되어 있습니다. 차량 설계 시 이를 고려하여 CAN 버스를 구성해야 합니다.

다른 장비에 이미 종단 저항이 2개 있다면, 트랜시버의 120Ω 종단저항은 제거합니다.


1-6. 디지털 신호

8개의 DIN 채널의 디지털 HIGH/LOW를 기록하는 기능입니다. PCB의 DIGITAL 영역에 부품을 장착해야 사용할 수 있습니다.

0V면 LOW, 1V 이상이 입력되면 HIGH로 인식합니다. 50V까지 입력할 수 있습니다.

  • 100ms마다 기록됩니다.
  • TMA-1 설정 도구의 Datalogging - Sensors - Digital 옵션을 켜야 활성화됩니다.

1-7. 아날로그 신호

4개의 AIN 채널을 통해 아날로그 전압을 기록하는 기능입니다. PCB의 ANALOG 영역에 부품을 장착해야 사용할 수 있습니다.

ANALOG 영역의 전압 분배 회로를 거쳐 STM32의 3.3V ADC에 입력되므로, 전압 분배 저항을 적절히 설정하면 다양한 아날로그 전압을 입력받을 수 있습니다.

전압 분배 저항값 설정은 TMA-1 DIY 가이드를 참고합니다.

  • 100ms마다 기록됩니다.
  • TMA-1 설정 도구의 Datalogging - Sensors - Analog 옵션을 켜야 활성화됩니다.

1-8. 휠 스피드(디지털 파형 주기)

4개의 PIN 채널을 통해 rising edge를 검출하여 디지털 신호의 주기를 측정하는 기능입니다. PCB의 PULSE 영역에 부품을 장착해야 사용할 수 있습니다.

4개의 입력 채널에서 모두 rising edge가 2회 검출되었을 때, 각 채널에서의 rising edge 간 시간차로 기록됩니다.

대부분의 휠 스피드 센서는 자석을 이용해 다음과 같은 사각 파형을 출력합니다.

PULSE 영역의 전압 분배 저항을 적절히 설정하여 디지털 파형의 HIGH/LOW를 구분하는 기준 전압을 설정할 수 있습니다.

휠 스피드 센서 스펙에 맞게 TMA-1 DIY 가이드를 참고하여 전압 분배 저항을 설정합니다.

  • 측정은 100ms마다 활성화됩니다.
  • rising edge 간의 시간차가 1초를 넘어가는 경우 timer가 reload되며 정확한 시간을 측정할 수 없습니다.
  • TMA-1 설정 도구의 Datalogging - Sensors - Pulse 옵션을 켜야 활성화됩니다.

1-9. 3축 가속도

3축 가속도를 100ms마다 측정하고 기록합니다. PCB의 ACCELEROMETER 영역에 부품을 장착해야 사용할 수 있습니다.

  • 측정 범위는 ±4g입니다.
  • TMA-1 설정 도구의 Datalogging - Sensors - Accelerometer 옵션을 켜야 활성화됩니다.

1-10. GPS 위치 정보

GPS 위치 정보를 100ms마다 수신하고 기록합니다. PCB의 GPS 영역에 부품을 장착하고, 외장 안테나를 부착해야 합니다.

GPS 모듈로부터 수신한 NMEA GPRMC 메시지를 해석하여 위치 정보를 기록합니다.

  • TMA-1 설정 도구의 Datalogging - Sensors - GPS 옵션을 켜야 활성화됩니다.
  • 모듈과 함께 제공되는 기본 안테나를 사용해도 무방하지만, 수신 감도가 떨어질 수 있습니다.

1-11. 전원 전압 / CPU 온도

1s마다 전원 전압과 STM32F4 코어 온도를 기록합니다. 기본 기능으로 비활성화할 수 없습니다.

TMA-1의 최대 공급 전압은 28V이나, 26.4V를 초과하는 전원 전압은 26.4V로 기록됩니다.


2. 커넥터

2-1. Main I/O 커넥터(J1)

  • Model: Molex Mini-Fit Jr. 5569-24A
  • Mate: Molex Mini-Fit Jr. 5557-24R
  • Mate Terminal: Molex 5556T

VIN DIN0 DIN2 DIN4 DIN6 AIN0 AIN2 PIN0 PIN2 LOG_TX SDA CAN_H
1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20 21 22 23 24
GND DIN1 DIN3 DIN5 DIN7 AIN1 AIN3 PIN1 PIN3 LOG_RX SCL CAN_L

2-2. UART DEBUG 커넥터(J2)

  • Model: 2.54mm Pin Header
1 TX
2 RX
3 GND