MCU 선정 관련 문의
안녕하세요, 강사님. 덕분에 좋은 강의를 잘 수강하고 있습니다.
회로도와 코드를 살펴보면서 MCU 선정에 관해 궁금한 점이 생겨 질문드립니다. 현재 사용된 STM32F767V(100핀)I(2MB)T6는 2MB Flash를 탑재한 100핀 모델로 알고 있습니다.
회로도상 일부 PB·PC 포트가 사용되지 않는 것으로 보이고, 코드를 정밀 분석하진 않았지만 rtos등의 FLASH를 무겁게 사용할 부분이 보이지 않는데, 해당 모델을 선정하신 특별한 이유가 있는지 궁금합니다.
제가 아직 MCU 사양을 선정한 경험이 부족하고, 강의 중 관련 설명을 놓쳤을 수도 있어 조심스럽게 질문드립니다.
설명해 주시면 MCU 선정 기준을 이해하는 데 큰 도움이 될 것 같습니다.
감사합니다.
回答 1
0
안녕하세요! 강의를 잘 수강해 주셔서 감사합니다. 회로도와 코드를 살펴보면서 “이 정도 사양이 꼭 필요한가?”까지 고민해 보신 것은 좋은 접근이라고 생각합니다.
먼저, 이번 강의의 MCU는 현재 구현된 기능에 딱 맞는 최소 사양으로 선정한 것은 아닙니다. 말씀하신 2MB Flash나 100핀을 모두 사용해야 해서 해당 모델을 선택한 것은 아니고요.
선정 배경은 크게 두 가지입니다.
첫 번째는 당시의 부품 수급 상황입니다. 강의를 제작할 때는 반도체 수급 문제가 있었기 때문에, 필요한 기능을 지원하는지뿐 아니라 실제로 재고가 있어 구매할 수 있는지도 중요한 선정 기준이었습니다.
두 번째는 교육용 보드라는 목적입니다. 단순히 인버터를 구동하고 끝내는 것이 아니라, 수강생분들이 강의 이후에도 센서나 통신 기능을 추가하고, 다른 제어 알고리즘을 적용하는 등 여러 실습을 자율적으로 해볼 수 있도록 하고 싶었습니다. 그래서 현재 강의에서 사용하는 기능보다 연산 성능과 메모리, 주변장치에 어느 정도 여유를 두고 STM32F767을 선정했습니다. 일부 핀이나 메모리가 남는 것도 이런 배경에서 이해해 주시면 됩니다.
반면 실제 제품을 개발할 때는 먼저 “이 제품에 어떤 기능이 필요하고, 어느 정도 성능이 나와야 하는가?”를 정리한 뒤 MCU를 선정하는 것이 좋습니다. 모터 구동 제품이라면 필요한 PWM과 ADC 기능, 센서 입력, 통신 종류와 개수 등을 확인하고, 제어 연산을 정해진 시간 안에 처리할 수 있는지, 프로그램과 데이터를 담을 Flash와 RAM은 충분한지 등을 검토해야 합니다.
그다음 제품 단가, 소비전력, 사용 환경, 부품 수급과 향후 기능 추가 가능성까지 함께 고려하는 것이죠. 여기서 중요한 것은 무조건 고성능 MCU를 쓰거나, 반대로 무조건 가장 저렴한 MCU를 고르는 것이 아니라, 필요한 요구사항을 충족하면서 적절한 여유를 확보하는 것입니다.
정리하면, 이번 강의에서는 최소 원가로 현재 기능만 구현하는 것보다, 당시의 수급 상황과 수강 후의 실습 확장성에 더 비중을 두고 선정했다고 보시면 됩니다. 지금처럼 사용하지 않는 자원까지 살펴보며 선정 이유를 고민해 보시는 과정이 실제 설계에서도 큰 도움이 될 것입니다. 좋은 질문 감사합니다!
Teleplot 문의
0
16
1
전류 센싱 문의
0
22
2
키트 구매 여부
0
40
3
소형모터 구동
0
33
2
stm 클럭설정
0
42
1
36. 전력은 900W가 될것 같습니다.
0
34
1
34.제너다이오드는 전류 분배기라고 생각하면 될까요 ?
0
32
0
33.제너다이오드와 tvs다이오드 모양이 동일합니다.
0
33
0
쓰로틀 V 변하지 않음
0
49
3
풀업 저항 크기와 커패시터 용량 선정 방법
0
47
2
86, data bit순서가 바뀌어야 할것 같습니다.
0
45
1
85. pwm사용에 기본구조 이해가 같이 요구되네요
0
45
1
dc모터 회전원리
0
48
2
83. volatile로 선언한 이유가 이해 안됩니다.
0
46
1
82. 16:50초 설명에 대한 오해 및 adc mode비교 자료
0
68
2
81. 소프트웨어 작성 방법론에 조언 부탁 드립니다.
0
67
2
00. stm32cubeIDE를 회사에서도 사용하나요 ?
0
51
1
상전류 읽는 타이밍 관련 문의
0
56
2
uart, tera term 실습이 잘 안됩니다.
0
66
3
80. 인터럽스와 일반함수 차이
0
52
1
79. int main(void)선언 없이 어떻게 동작하나요 ?
0
51
1
79. int main(void)선언 없이 어떻게 동작하나요 ?
0
36
1
74. 포인터 크기는얼마인가요 ?
0
47
1
73. 왜 hex를 사용하나요 ?
0
53
2

