강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ksh79533954
ksh79533954

câu hỏi đã được viết

Dự án thực hành nhúng học qua xe điện scooter

Điều khiển động cơ BLDC sử dụng cảm biến Hall

홀센서 신호를 외부 인터럽트로 받는 이유

Đã giải quyết

Viết

·

113

1

안녕하세요. 강사님.

강의 잘 보고 있습니다.

한 가지 궁금한게 있어 질문 드립니다.

 

STM에선 TIM2~5에 3개의 HALL 센서 신호를 XOR하여 처리할 수 있는 하드웨어가 있는 것으로 알고 있습니다.

 

각 센서 신호를 각각 외부 인터럽트로 설정하는 것보다 XOR하여 CC1 인터럽트가 발생할 때마다 처리하는게 제 생각엔 더 깔끔할 것 같은데 외부 인터럽트로 설정하는 이유가 있을까요?

임베디드stm32hardwaremotordriverartwork

Câu trả lời 2

1

ksh79533954님의 프로필 이미지
ksh79533954
Người đặt câu hỏi

답변 감사합니다.

1

insid2embedded님의 프로필 이미지
insid2embedded
Người chia sẻ kiến thức

질문해주신 방식(TIM Hall 모드 + XOR → CC1 인터럽트 방식)이 말씀하신 대로 훨씬 더 효율적인 방식인 건 맞습니다.

인터럽트 하나만으로도 모든 Hall 신호를 처리할 수 있고, 타이머 캡처 기능까지 활용하면 속도 계산도 정밀하게 할 수 있어서 코드도 깔끔하고 리소스 소모도 적습니다.

 

다만, 앞서 실습에서는 폴링/라이징 엣지 외부 인터럽트(EXTI)를 활용해봤기 때문에, 그 개념을 연계해서 Hall 센서도 EXTI 방식으로 구현해봤습니다.

즉, 학습 목적상 EXTI를 이용한 구조를 먼저 적용해본 거고, 실제 제품 개발 시에는 질문하신 TIM Hall 방식이 더 적절한 선택일 수 있습니다! 좋은 질문 감사합니다ㅎㅎ

Hình ảnh hồ sơ của ksh79533954
ksh79533954

câu hỏi đã được viết

Đặt câu hỏi