VMCU TRAINER · INTERFACE SPECIFICATION

PA6 Motor Feedback Interface

동일한 MCU·드라이버·모터 제어 코드에서 Hall 또는 Position(AS5600) 센서 하나를 선택해 사용하는 공통 PA6 인터페이스를 정의합니다.

Document ID VMCU-IFS-PA6-001 · Rev 1.0 · 2026-09-01
출처 구분: Hall 모드는 아직 특정 제조사 부품이 선정되지 않아 Trainer 인터페이스 사양으로 정의합니다. Position 모드는 ams OSRAM AS5600 제조사 데이터시트의 3.3 V analog OUT 기능을 사용합니다. Hall pulse/rev와 기구 stroke당 pulse는 제조사 공식값이 아니라 Trainer plant 설정입니다.

1. 동일 하네스, 선택형 센서

공통 MCU와 드라이버, 모터, 션트 및 PA6 Hall 피드백을 표시한 Hall 모드 회로도
HALL3.3 V pull-up open-collector 출력 → PA6 / EXTI6
공통 MCU와 드라이버, 모터, 션트 및 PA6 AS5600 위치 피드백을 표시한 Position 모드 회로도
POSITIONAS5600 analog OUT → PA6 / ADC1_IN6

두 그림에서 MCU, PA2 PWM, PA3 EN, PA4 DIR, PA5 FAULT, PA1 direct shunt, PB0 NTC ADC, PA10 UART RX는 같습니다. PA6에 연결되는 모터 내장 피드백 어댑터만 바뀌며 두 센서를 동시에 연결하지 않습니다.

2. 전기·핀 계약

항목Hall 모드Position 모드
사용자 선택HALLPOSITION
펌웨어 상수TRAINER_FEEDBACK_HALLTRAINER_FEEDBACK_ANGLE — 기존 코드 호환 명칭
센서 출력Open-collector digital outputAS5600 ratiometric analog OUT
센서 전원3.3 V 인터페이스, 외부 pull-up3.3 V mode
MCU 단자PA6 / GPIO input / EXTI6PA6 / ADC1_IN6
GPIOA_CRL PA60x4 floating digital input0x0 analog input
획득 방식EXTI6 rising edge와 HALL_COUNTSQ1=6 → SWSTART → EOC → ADC_DR
현재 로컬 프로필Pulse 수치는 plant assumptionOUTS=00, MANG=180°, 2048 sensor-DAC steps

3. 공통 펌웨어 분기

학생 코드는 모드별 파일로 갈라지지 않습니다. 한 코드가 TRAINER->FEEDBACK_MODE를 읽고 PA6 초기화와 샘플 획득 방식만 선택합니다. MCU·드라이버 출력, NTC ADC, UART 수신, Watch·Graph·Register 화면은 공통입니다.

static uint32_t feedback_is_position(void)
{
    return TRAINER->FEEDBACK_MODE == TRAINER_FEEDBACK_ANGLE;
}

static void feedback_init(void)
{
    if (feedback_is_position()) {
        GPIOA->CRL &= ~(0xFu << 24);       /* PA6 analog */
        ADC1->SQR3 = ADC_SQR3_SQ1_ADC1_IN6;
    } else {
        GPIOA->CRL = (GPIOA->CRL & ~(0xFu << 24)) | (0x4u << 24);
        AFIO->EXTICR[1] &= ~(0xFu << 8);   /* EXTICR2: PA6 -> EXTI6 */
        EXTI->IMR |= EXTI_IMR_MR6;
        EXTI->RTSR |= EXTI_RTSR_TR6;
    }
}

TRAINER_FEEDBACK_ANGLE은 저장된 샘플과 API 호환성을 위해 유지하는 내부 상수입니다. 사이트 표시는 센서의 역할을 드러내도록 POSITION을 사용합니다.

4. 검증 순서

01 · SELECT회로의 DC Motor 내부 센서에서 HALL 또는 POSITION 선택
02 · BUILD같은 공통 코드를 Build
03 · PROVEPA6 Pin·Register·Graph·Watch 확인
04 · COMPARE레퍼런스와 제조사 원문 대조
확인 화면Hall 기대값Position 기대값
Circuit / Pin routeHALL_IN / EXTI6POSITION / AS5600 · ADC1_IN6
RegistersAFIO_EXTICR2, EXTI_IMR, EXTI_RTSR, EXTI_PRGPIOA_CRL PA6 analog, ADC_SQR3 SQ1=6, ADC_SR/DR
Code WatchPA6_HALL_COUNTPA6_ANGLE_ADC_RAW
GraphDigital Hall level / edge countAnalog position voltage / ADC raw

5. 관련 문서