GPIO Functional Description (stm32f103 reference manual p.155)
아래 사진과 같이 gpio 포트를 사용시 general purpose output과 alternate function output, input의 모드에 따라 비트를 설정해 push - pull / opne - drain 방식을 사용하는 것을 알 수 있다.
push-pull / open-drain(collector) 방식 비교
위 회로도의 하늘색 표시된 부분을 봤을때 두개의 mosfet으로 구성되어 있고, 이 두개의 mosfet을 이용해 push-pull / open-drain 방식을 지정하게 된다.
먼저 개별 트랜지스터의 동작에 대해 설명하겠다.
(* bjt와 mosfet의 동작은 유사하므로 pnp, npn bjt로 예를 들어 기술함)
- 트랜지스터
- pnp tr : base에 gnd(<VE) 연결시 on → 전류 emitter에서 collector로 흐름
→ 용도 : +V를 on / off
- npn tr : base에 +V(>VE) 연결시 on → 전류 collector에서 emitter로 흐름
→ 용도 : 0V(gnd)를 on / off
- push - pull
(I) A = HIGH signal
pnp tr의 base = high (sw off) , npn tr의 base = high (sw on) → B = LOW (gnd) 가 npn tr을 통해 아래로 전달된다.
(II) A = LOW signal
pnp tr의 base = low (sw on), npn tr의 base = low (sw off) → pnp tr의 emitter 쪽에서 +V가 내려와 B단의 저항쪽에 전달된다.
- open-collector(drain)
push-pull 방식과 비교시 아래쪽 npn tr 하나만 존재하는 구조이다.
사진에서의 설명과 같이 base단에 high 신호 인가시 sw on 되어 A단(collector쪽)에 emitter단의 low(gnd) 신호가 전달된다.
base 단에 low 신호를 인가시에는 sw off 되어 회로가 floating 상태가 된다.
'하만 세미콘 아카데미 8기 > stm32기반 ARM architecture' 카테고리의 다른 글
SPI (serial peripheral interface) 통신 (0) | 2024.11.02 |
---|