STM32

타키탸키·2024년 1월 17일
0

하드웨어

목록 보기
1/1
  • STM32
    • STMicroelectronics의 32비트 마이크로컨트롤러 제품 라인의 베스트셀러
    • ARM Cortex-M 기반 마이크로컨트롤러
    • 주로 저전력 및 실시간 운영체제(RTOS) 환경에서 사용되는 임베디드 시스템을 대상으로 사용
  • STMicroelectronics
    • 스위스 제네바에 위치한 유럽 최대의 반도체 제조사
  • ARM Cortex-M 시리즈
    • ARM 사의 MCU 전용 라인업에 해당하는 CPU IP 및 마이크로아키텍처

  • CubeIDE
    • STMicro에서 공식적으로 제공해주는 무료 개발 IDE
    • STM32 마이크로컨트롤러를 사용하는 프로젝트를 개발, 빌드, 디버깅하는 데 사용되는 통합 도구
    • Eclipse + GCC 기반의 별도의 무료 IDE였던 TrueStudio(컴파일러 역할)와 STMicro에서 별도의 툴로 제공되었던 프로젝트 생성기인 CubeMX를 단일 IDE로 통합시킨 것
    • 그래픽 인터페이스를 사용하여 프로젝트의 초기 설정 및 구성을 쉽게 할 수 있음
    • STM32Cube 소프트웨어 라이브러리와 함께 제공되는 다양한 코드 생성 도구와 통합 됨
  • STLINK
    • STM8과 STM32를 동시에 지원하는 ST의 공식 디버거
    • V3
      • 2020년에 출시된 차세대 제품
      • 14핀 커넥터를 사용
    • V3SET
      • 기본형
      • 버추얼 시리얼포트
      • 신호 변환 기능
        • 단순 GPIO신호 뿐만 아니라 SPI/UART/I2C/CAN등의 통신 신호도 USB로 읽을수 있도록 변환
      • 확장 보드 연결 시, 기존 20핀 커넥터나 10핀 커넥터 사용 가능
      • 시리얼 와이어만 따로 뽑아서 사용 가능
      • 보드 자체에서 전원을 뽑아서 프로그래밍 타겟에 전원 공급 가능

  • 마이크로컨트롤러 (Microcontroller)
    • 하나의 집적 회로 칩 안에 CPU(Core Processing Unit), 메모리, 입출력 장치, 타이머 등의 주변 장치가 통합된 임베디드 시스템을 구성하는 장치(컴퓨터)
    • 주로 제한된 작업을 수행하는 임베디드 시스템에서 사용
    • ex:) 가전 제품, 자동차 제어 시스템, 센서 제어
    • MCU: Microcontroller Unit
  • 집적회로(IC)
    • 여러 전자 부품이나 회로를 하나의 실리콘 칩에 집적시킨 것
    • 트랜지스터, 저항기, 캐패시터 등을 포함한 다양한 전자 부품이나 회로가 작은 실리콘 칩 안에 통합된 것
    • 마이크로컨트롤러 외에 메모리 IC, 통신 IC, 앰프 IC 등 다양한 종류의 집적회로 존재
  • 마이크로프로세서 (Microprocessor)
    • 중앙 처리 장치(CPU)의 다른 용어
    • 컴퓨터 시스템에서 데이터를 처리하고 명령어를 실행하는 핵심 부분
    • 컴퓨터의 연산장치와 제어장치를 1개의 작은 실리콘 칩에 모아놓은 처리장치
    • 일반적으로 개인 컴퓨터, 서버, 워크스테이션 등과 같은 범용 컴퓨팅 시스템에서 사용
  • CPU (Central Processing Unit)
    • 컴퓨터 시스템에서 연산과 제어를 수행하는 핵심 장치
    • 마이크로프로세서의 다른 이름
    • 컴퓨터 시스템에서 프로그램의 명령어를 해석하고 실행하는 역할
  • 마이크로아키텍처 (Microarchitecture)
    • CPU 내부의 설계와 구조
    • 명령어를 처리하는 방식, 레지스터의 구성, 파이프라인 설계 등과 같은 세부 사항을 다루는 것
    • CPU 설계 및 개발 단계에서 사용되는 용어
    • 다양한 제조사들이 각자의 마이크로아키텍처를 개발하여 CPU 제작

  • 전류는 저항이 낮은쪽으로 흐르는 성질이 있다
  • High 상태
    • 전류가 Vcc로 흐르는 상태
    • 전자의 이동이 Vcc로 향하면 High 상태로 간주
    • 양극 전원(Vcc)의 전압 수준에 해당
    • 일반적으로 논리적으로 1 또는 참(true)을 나타낸다
  • Low 상태
    • 전류가 GND로 흐르는 상태
    • 전자의 이동이 GND로 향하면 Low 상태로 간주
    • 지상 또는 그라운드(GND)의 전압 수준에 해당
    • 일반적으로 논리적으로 0 또는 거짓(false)을 나타낸다
  • PULL-UP 저항
    • 스위치 또는 트랜지스터의 입력이 떨어진 경우(비활성 상태), 해당 입력을 Vcc에 연결하여 고전압 상태를 유지
    • 스위치가 닫히거나 트랜지스터가 켜진 경우(활성 상태), 입력은 GND로 단락되어 낮은 전압 상태로 전환
    • Vcc 쪽에 저항 표시
    • 결과적으로 논리의 순서를 뒤바꾼다
  • PULL-DOWN 저항
    • 스위치 또는 트랜지스터의 입력이 떨어진 경우(비활성 상태), 해당 입력을 GND에 연결하여 낮은 전압 상태를 유지
    • 스위치가 닫히거나 트랜지스터가 켜진 경우(활성 상태), 입력은 Vcc로 단락되어 높은 전압 상태로 전환
    • GND 쪽에 저항 표시
  • 플로팅(Floating)
    • 디지털 회로에서 입력 핀이 특정한 전압 상태로 명확하게 정의되지 않고 불안정한 상태로 유지되는 현상
    • 디지털 로직 상, HIGH(1)도 아니고 LOW(0)도 아닌 애매한 상태
    • 보통 풀업 또는 풀다운 저항이 없거나 부적절하게 사용되었을 때 발생

  • 펄스(Pulse)
    • 시간 동안 발생하는 신호의 갑작스러운 변화
    • 특정 이벤트를 나타내거나 다양한 목적으로 사용
    • 주기적이지 않을 수 있으며, 여러 형태를 가질 수 있다
    • 펄스의 폭과 지속 시간은 다양하다
    • 디지털 통신, 신호 처리, 계측 및 제어 시스템 등 다양한 분야에서 사용
  • 클럭(Clock)
    • 주기적으로 반복되는 신호
    • 디지털 시스템의 동작을 동기화하고 제어하는 데 사용
    • 상승 에지나 하강 에지와 관련 있다
    • 전자 시스템, 특히 디지털 회로에서 중요한 역할을 수행
    • 주파수와 주기라는 특성을 갖는다
    • 타이머 오차에 관련이 있다
  • HSE (High-Speed External)
    • 외부에서 마이크로컨트롤러에 연결된 고주파 외부 클럭 소스
    • 외부 크리스탈(클럭 발생기에 사용되는 부품)이나 외부 발진기 등을 통해 외부에서 안정적인 고주파 클럭을 제공 받는다
    • 높은 정확도와 안정성이 요구되는 경우에 주로 사용
  • HSI (High-Speed Internal)
    • 마이크로컨트롤러 내부에서 생성되는 고주파 클럭 소스
    • 내부에 존재하는 발진기를 통해 마이크로컨트롤러 자체에서 안정적인 고주파 클럭 생성
    • 저렴하고 간단한 응용에서 사용되며, 정밀한 타이밍이 필요하지 않은 경우에 선택

  • 다이오드
    • 전기가 한 방향으로만 흐를 수 있는 반도체 소자
    • 전류는 다이오드의 애노드(anode)에서 캐소드(cathode)로 전자의 흐름을 통해 흐른다
    • 이 방향성을 이용하여 전류의 흐름을 제어하고 반도체 장치에서 다양한 용도로 사용된다
    • LED는 '빛을 발하는 다이오드'의 약자로, 전자의 흐름으로 인해 빛을 발한다
  • 애노드(Anode)
    • 다이오드의 긴 다리 또는 기호로 나타낸다
    • 전류가 다이오드를 통과할 때, 전자가 애노드에서 나와 다이오드를 통과한다
    • 전류가 나가는 출구 역할을 한다
  • 캐소드(Cathode)
    • 다이오드의 짧은 다리 또는 다른 다리로 나타낸다
    • 전류가 다이오드를 통과할 때, 전자가 캐소드로 들어가 다이오드를 떠난다
    • 전류가 들어오는 입구 역할을 한다

  • 위 그림에서 전류는 애노드에서 캐소드로 흐른다
  • 저항이 Vcc에 연결되어 있는 풀업 상태
  • 애노드에는 3.3V가 들어간다
  • 캐소드는 GPIO 핀에 연결되어 있어 들어가는 신호에 따라 전류가 흐르거나 흐르지 않는다
    • GPIO 핀에 High 신호가 들어가면 전위차가 발생하지 않아서 전류가 흐르지 않는다(LED OFF)
    • GPIO 핀에 Low 신호가 들어가면 전위차가 발생해서 전류가 흐른다(LED ON)

데이터 전송 방식

  • 동기식
    • 클럭에 동기화 시켜서 1비트씩 데이터를 전송하는 방식
    • 물리적인 클럭 전송 라인(핀) 필요
  • 비동기식
    • 동기화되는 클럭이 없음
    • 시간 간격으로 비트 구분
    • baudrate(초당 비트 전송률, 통신 속도) 정의
      • 통신하는 두 장치 간 baudrate가 일치해야 한다

UART

  • UART
    • 비동기식 직렬 통신 방식
    • 하드웨어 내부 상태를 확인하기 위해 디버깅 하는 용도로 자주 사용
    • 데이터 송수신 라인 분리
    • 두 장치 간 GND가 연결되어 있어야 한다
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글