[임베디드 10-11강] 데이터 시트 읽기

강지원·2024년 7월 5일

STM32 강의

목록 보기
14/33

데이터 시트 보는 요령

1. 목적 세우기

내가 해야되는 정확한 목표를 세우고 그 목표에 맞는 지식을 습득한다.
예) LED Display Driver IC를 통해 7세그먼트 LED Display를 제어해보자

2. 장치들의 개념을 이해하자

일단 데이터 시트 없이 장치를 대충 파악해보고 상상해본다.
회로도와 데이터시트의 description을 읽어본다.

구글에 장치 이름을 검색하면 데이터 시트를 다운받을 수 있다.

구체적으로 작동 방법 찾기

fnd 를 gpio로 조절 -> 총 핀이 너무 많이 필요함

led display driver ic를 사용하면 핀이 3개면 16개 다 사용가능 함

-> stm과 칩을 어떻게 연결? 이제 코드로 어떻게 제어하는지 알아야 함

2-1 개념을 이해할때

1) 내가 깊게 알 필요가 있는 영역인가?
2) 스킵 해도 되나?
하드웨어인지 소프트웨어 영역인지?

데이터 시트에서 모르는 단어, 용어가 나오면 알아야하는 단어인가 확인해보고
목적을 위해 중요한게 아니면 그냥 넘어가기

3. 그림을 그려가자

내 목적을 이루기 위해 그림을 하나씩 그려가고, 모든 연결고리가 이어지도록 하자

이해가 되지 않는 연결고리가 있다면 그부분을 연구
백지식이 필요함

칩과 칩 사이에 통신하는 방법

  1. Uart
  2. Rs232, RS485
  3. SPI
  4. I2c
  5. TCP, UDP
  6. CAN

SPI - 데이터를 보내는 방법

STB (CS라고도함) : Strobe 시작, 끝 알림 (데이터를 보내고 싶으면 high -> low)
DIO (10) : 00001010
CLK 상승엣지에 인풋 아웃풋을 보냄

어떻게 데이터를 보내는지 정리되어 있음
하지만 어떤 데이터를 보내야 하는지는 정해있지 않음

A부분을 키려면 어떤 데이터를 보내야 하지?
-> FUNCTIONAL DESCPRITION

4. 데이터 시트만이 답은 아니다

  • 소스코드를 구해서 보는 방법
  • 회로도로 보는 방법
  • 하드웨어 담당자에게 물어보는 방법

데이터시트 1페이지 읽어보기

STM32F103x8 과 STM32F103xB 에 대한 데이터 시트

데이터시트는 시리즈별로 묶어서 기재하는 경우가 많음,
데이터시트는 최신것을 찾아볼 것

각 제조사의 웹페이지에 들어가서, 최신을 받는 것을 추천

웬만하면 구글에 검색하면 나옴
너무 오래된 데이터시트일 경우, 최신것을 찾아보고 없다면, 혹시 단종된것은 아닌지
부품 수급이 원활한지 확인 해 볼 것

Medium-density performance line ARM®-based 32-bit MCU with 64 or 128 KB Flash, USB, CAN, 7 timers, 2 ADCs, 9 com. interfaces

  • Medium-density
    : 중간 밀도(트랜지스터의 밀도) = 중간정도의 성능을 가짐
  • 32-bit MCU
    : 한번에 32비트만큼 읽어올 수 있음
    : 메모리 주소 최대값
  • 64 or 128 KB Flash
    : 프로그램이 올라가는 저장공간, 필요한 데이터를 저장하기도 함

  • USB, CAN
    : 칩에서 지원하는 통신 인터페이스

  • 7 timers
    : 타이머 7개

  • 2 ADCs
    : ADC 2개

  • 9 com
    :9개의 커뮤니케이션이 가능한 인터페이스

ARM® 32-bit Cortex®-M3 CPU Core

:ARM사의 M3 제품군 사용

  • M3는 가장 먼저 발표된 Cortex-M 모델, 32 비트 고성능 arm 마이크로 컨트롤러 시장의 개척자

72 MHz maximum frequency

: 클럭이 1M -> 8388608
1초에 603,979,776

클럭이 빠를 수록 좋음 (CPU 성능)

I7은 4GHz ~ 5GHz
1G 는 1M의 1024배

1.25 DMIPS/MHz

: 1MHz의 클럭이 흐를때 1.25만큼의 동작이 수행됨

클럭 -> 명령어 -> 특정행동
7MHz -> MIPS -> DMIPS

1MIPS 1초에 100만개 명령어 수행
-> 위 방법은 오류가 있음

1.25 DMIPS
D(Dhrystone) 드라이스톤
(벤치마킹 프로그램)
특정 행동을 기준으로 측정

한 동작을 하는데 수행되는 시간

performance at 0 wait state memory access

: 프로세서가 메모리 액세스를 수행하기 위해 기다릴 필요가 없는 프로세서 또는 컴퓨터 아키텍처의 기능

Single-cycle multiplication

: 원 사이클안에 곱하기 할 수 있다

hardware divisions

: 나누기를 하드웨어적으로 한다 = 빠르다

Memories
– 64 or 128 Kbytes of Flash memory
– 20 Kbytes of SRAM

: 메모리 저장용량

power supply supervisor : 전원감시기

2.0 ~ 3.6 V의 전원을 공급 가능
POR( Power - On - Reset) : Vpor 이상이면 리셋 해제
PDR(Power -Down Reset) : Vpdr 이하이면 리셋
BOR(Brownout reset) : threshold voltage 감지
PVD(Programmable valtage Detector) :
전원 전압이 지정값 이하로 떨어지면 인터럽트를 발생하는 기능

4-to-16 MHz crystal oscillator

: 발진 회로가 내장되어 있음

크리스털 crystal : 소자
oscillator 오실레이터(발진기)

IC가 내장된 크리스털 OSC
X-TAL

Internal 8 MHz factory-trimmed RC
Internal 40 kHz RC

: 내부에 8MHz, 40kHz의 클럭을 발생시킬 수 있는 발진기가 있다

pll (위상 동기회로)

: phase-locked loop
오실레이터에서 제공하는 클럭을 높은 고 주파수로 만든다

32 kHz oscillator for RTC with calibration

: RTC(Real Time clock)를 위한 32KHz 발진기 가 있다

Low-power
– Sleep, Stop and Standby modes
– VBAT supply for RTC and backup registers

저전력
모드 별로 전력을 최소한으로 사용
슬립, 스톱, 스탠바이

2 x 12-bit, 1 µs A/D converters (up to 16 channels)

:ADC가 동작하는데 1 µs 가 걸림
ADC가 2개이고 12bit로 표현
전압을 디지털화

– Conversion range: 0 to 3.6 V
– Dual-sample and hold capability
– Temperature sensor 온도센서

  • 샘플앤 홀드 회로
    adc에서 신호를 양자화하려고 할 때, 처리에 필요한 시간까지 신호를 연장 할 필요가 있다
    표본화(샘플링)과 그것을 어느정도 시간만큼 유치하는 회로를 함께 내장한 것
    양자화는 표본화 과정으로 아날로그 신호를 일정한 전압 레벨의 구간을 나눈 영역에 강제적으로 대응 시키는 과정

DMA
– 7-channel DMA controller
– Peripherals supported: timers, ADC, SPIs,
I2Cs and USARTs

: direct memory access

Up to 80 fast I/O ports
– 26/37/51/80 I/Os, all mappable on 16
external interrupt vectors and almost all
5 V-tolerant

: 16개의 인터럽트 벡터와 모두 연결되어 있음

5 V-tolerant
: 해당 핀으로 5V 입력이 들어와도 입력되는 핀이나 디바이스의 다른 블럭에 문제가 발생하지 않는다는 의미

Debug mode
– Serial wire debug (SWD) & JTAG
interfaces

: 디버그 모드
SWD , JTAG

핀 설정이 다르다
STLINK 를 통해 업로드 다운로드 펌웨어를 할 수 있다

핀 배열을 다 설정해 줘야함

7 timers
– Three 16-bit timers, each with up to 4
IC/OC/PWM or pulse counter and
quadrature (incremental) encoder input
– 16-bit, motor control PWM timer with deadtime generation and emergency stop
– 2 watchdog timers (Independent and
Window)
– SysTick timer 24-bit downcounter : 기본이 되는 타이머

Counter 모드
: 카운터가 다 줄면 인터럽트 발생

external input counter 모드
: 버튼이 눌려 외부 인터럽트가 발생하고 이때마다 카운터 값이 증가

pwm ouput모드
input capture 모드
output compare 모드

0개의 댓글