임베디드/고추건조기

데이터시트 해석

twoweeks-within 2024. 11. 25. 18:01

프로그래머와 하드웨어 다루는 사람의 관점이 다름을 인지

cpu 코어의 성능 : TR 을 얼마나 밀도 있게 넣었냐에 따라 다름

하드/Flash > memory (ram) > reg > cpu
 >> reg,reg > ALU (연산) > reg

mem 1번지 > reg //32bit 만큼 읽어옴

if. 32bit) 메모리, 레지, cpu, 메모리>레지로가는 라인, all 32 bit
            : 메모리 주소 최대값 : 2^32 ~= 4gb

ARM® 32-bit Cortex®-M3 CPU Core
a)
72 MHz maximum frequency : 클럭 ( 명령의 기준점 )
1 HZ : 파형의 한주기
72,000,000번 / 1초
b) 
1.25 DMIPS/MHz (Dhrystone 2.1) 
클럭-> 명령어->특정행동
72Mhz    MIPS     DMIPS

1MIPS : 1 sec 에 M 개의 Instruction 수행
 -> 오류가 좀 있음

1.25 DMIPS 
D : dhrystone (벤치마킹 프로그램)
 > 특정 행동을 기준으로 측정
ex) 드라이스톤사 프로그램 동작의 cpu1, cpu2 비교
1MHZ 동안 1.25 번의 포로그램을 돌림
a)+b) : 1초에 72MHZ 인데 1MHZ가 지나면 1.25번의 프로그램을 돌릴 수 있다
c)
performance at 0 wait state memory access
프로세서가 메모리 엑세스 하는데 기다릴 필요 x
d)
Single-cycle multiplication and hardware division
 : cpu 1cycle ( 파이프라인) 에서 곱하기를 할 수 있고, 나누기를 hw적으로 한다( 빠르다)

Memories
 a) 64 or 128 Kbytes of Flash memory : ~= hdd
 b) 20 Kbytes of SRAM ~= ram 
> 64 kb flash 로부터 20k 만큼의 SRAM을 올림  (스택,힙,변수)

Clock, reset and supply management
a) 2.0 to 3.6 V application supply and I/Os
b) POR, PDR, and programmable voltage detector (PVD)
c) 4-to-16 MHz crystal oscillator
d) Internal 8 MHz factory-trimmed RC
e) Internal 40 kHz RC
f) PLL for CPU clock
g) 32 kHz oscillator for RTC with calibration

a) 
2~3.6v 전원 공급 가능
b)
POR: power on reset : Vpor 이상이면 리셋 해제 
PDR :power down reset: Vpdr 이하이면 리셋  // 칩보호
BOR : brownout reset : threshold voltage 감시 //참고 
PVD : programmable voltage detector :
          전원,전압이 지정값 이하 > 인터럽트 발생
c)
crystal (소자) : 전류 + 주변회로 > 진동발생
Oscillator(IC) : 발진기 // 파형 발생, 클럭과 관련
IC 가 내장된 크리스털 OSC-XTAL
>> 크리스털로 기본진동을 만들고 발진기가 증폭,안정화 >클럭신호 제공
// 지금 쓰는 회로는 8MHZ
d,e) 내부에 RC 발진기 (공장에서 다듬어진)
f) PLL : phase-locked loop (위상 동기 회로)
  현재 72MHZ 클럭에 8MHZ crystal oscillator 사용
   > 오실레이터에서 제공하는 클럭을 높은 고 주파수로 만듬.
     > 효율 up
g) RTC : real time clock : 시간을 측정하는 기준점
    RTC를 위한 오실레이터

Low-power
a) Sleep, Stop and Standby modes
b) Vbat supply for RTC and backup registers

a) 
mode 별로 각각 on,off 해서 전원효율 // 레지스터
b)
RTC 를위한 Vbat 공급 

 2 x 12-bit, 1 µs A/D converters (up to 16 channels)
// ADC 가 2개(12bit)
//아날로그 (전압: 0~3.6v) > 디지털화 (3.6v 를 2^12 로 나눔)
// 입력채널 16개
>> 16개의 채널 > 전압3.6v씩(anal) 순차적으로 > ADC > dig 
a) Conversion range: 0 to 3.6 V
b) Dual-sample and hold capability
c) Temperature senso

b) 
샘플 앤 홀드 회로
ADC 에서 신호를 양자화 > untill need for sampling(표본화) time > 신호 연장(홀드) 해야함  
c) 

센서로 온 온도 정보도 디지털로 보내줌

DMA : directory memory access
// 장치가 바로 메모리에 접근  
// direct로 memory 전송, cpu에서도 바로 > fast

a) 7-channel DMA controller 
b) Peripherals supported: timers, ADC, SPIs, I2Cs and USARTs

b) 
장치들 : 타이머 , ADC ,SPIs,, 들

Up to 80 fast I/O ports 

a) 26/37/51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant

16개의 외부 interrupt 를 받아들이는 vectors 에 맵핑
   // 특정 interrupt 발생시 그에 따른 행동을 함
5V 입력이 들어와도 핀or 디바이스의 다른 블럭에 문제 발생x

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

stlink > SWD + JTAG 둘다 지원

SWD : 간단, 선 2가닥 ( DATA I/O pin, Clock pin)
// stlink 에서 회색 넓은 선에 꼽히는 핀
JTAG : 5개 , 복잡

7 timers
a) Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and 
quadrature (incremental) encoder input
b) 16-bit, motor control PWM timer with dead time generation and emergency stop
c) 2 watchdog timers (Independent and Window)
d) SysTick timer 24-bit downcounter

Timer 7개 : 파형이 튈때마다 count 해서 몇번 할시 동작 하게 할 수 있음
 > 쓰레드, 시간측정, 
a)
counter mode : 카운터가 다 줄면 interrupt 발생
External input counter mode : 외부 interrupt > 버튼눌림> count 증가
PWM output mode 
 ( PWM ) 100v인데 50v 필요할때
             > High: 100v Low: 0v High :100v Low :0v 100v 0v,,,
                > 평균 50v 로 만들어버림
            > 언제 100v, 50v 할지를 타이머 사용
       // 100v 시간을 줄이고 0v 를 늘리면 10v 등으로 응용가능
  >> 디밍 :서서히 증가, 서서히 감소 ( ex) 크리스마스트리 )
               > 전압 가변
   >> 모터 제어
input capture mode
output compare mode
b)
긴급멈춤
c)
watchdog : 일정시간마다 내 cpu가 잘 돌아가는지 확인 
                //일정시간마다 먹이를 안 주면 짖는 개 
  > cpu 와 별개됨 // cpu 죽어도 계속
d)
systick : 기준이 되는 타이머

Up to 9 communication interfaces
a) Up to 2 x I2C interfaces (SMBus/PMBus) // 나중에
b) Up to 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
c)Up to 2 SPIs (18 Mbit/s) // 나중에
d) CAN interface (2.0B Active)
e) USB 2.0 full-speed interface

b)
LIN( local interconnect network)
자동차업계에서 많이사용
저속 차량용 네트워크 , UART 사용

// UART 전이중 (비동기)

// USART 반이중 (동기/비동기) : synchronous

> 동기식 : 클락 필요, 빠름, 고정적
> 비동기식: 시작, 정지비트 필요 // 시작 0 , 종료 1

 

CRC calculation unit, 96-bit unique ID
시리얼통신(직렬통신) >노이즈가 영향 많이 받음 > 대책

   // parallel통신 ( 병렬 )
1010 이라는 걸 보낼때
a 쪽에서 1010 에대한  CRC 까지 같이 보냄
b 쪽에서 1010 에대한 CRC 를 따로연산해서 a 의 CRC 와 맞는지 확인

Packages are ECOPACK®
패키지한 회사,,

Table 1. Device summary
디바이스 요약

'임베디드 > 고추건조기' 카테고리의 다른 글

UART로 printf() 구현  (0) 2024.11.29
오실로스코프  (1) 2024.11.26
데이터 시트 보는법  (1) 2024.11.23
GPIO 마무리, 회로도 보기  (0) 2024.11.21
GPIO 탐구  (0) 2024.11.21