글
(1) GPIO
: GPIO는 General Purpose Input/Output이라고 합니다. 일반적인 목적으로 하는 I/O라 불리는 군요.
: GPIO는 General Purpose Input/Output이라고 합니다. 일반적인 목적으로 하는 I/O라 불리는 군요.
대개는 CPU에 달려 있어 일반적인 목적을 위해 사용됩니다. (꼭 CPU뿐 아니라 micom 및 여러 칩에도 gpio는 존재합니다.)
즉, 다른 칩으로부터 데이터를 읽어오거나 다른 칩을 제어하기 위해 쓰거나 합니다.
때로는 혼자서 동작하기도 하고 또 때로는 그룹을 지어 같이 움직여야 읽어오거나 쓰여지게 됩니다.
좀 더 하드웨어적인 지식을 잘 정리한 글이 있네요.
쉽게 이해하기 위해 Input과 Output을 예로 들어보지요.
(2) Input
CPU가 다른 칩에 상태를 읽어오면 됩니다.
○ key별 gpio
만드는 기기가 상,하,좌,우키가 존재한다고 합시다.
각각 gpio로 4개가 연결되어 있으면 CPU는 이 키값을 각각 모니터링 하면 됩니다.
○ key interrupt gpio
요즘 나오는 CPU의 gpio는 interrupt가 가능한 gpio입니다.
즉, 해당 gpio가 falling edge이거나 rasing edge일 때 interrupt를 trigger해 두면
kernel 단에서 interrupt가 가능하도록 합니다.
key값은 I2C로 가져오게 됩니다. 계속해서 가져오도록 polling을 돌아도 되지만
interrupt가 발생할때 마다 가져오게 되면 CPU가 바쁘지 않고 사용자가 값을 입력했때만 동작하게 디자인 할 수 있습니다.
(3) Output
CPU가 중앙처리장치인 만큼 주로는 다른 칩을 제어하기 되지요.
○ LED점멸
간단하게는 LED 점멸이 있습니다. 대부분의 device driver관련 책이 쉽게는 LED를 점등합니다. 가장 직관적이지요.
켰다 껐다 할 수 있는건 gpio를 까딱까딱 해주면 되지요.
○ mux IC 제어
최종적으로 C라는 라인으로 들어가게 될 path를 gpio가 A soure와 B source로 변경해 줍니다.
gpio가 low면 A source가, 반대로 high면 B source가 들어갑니다.
○ LCD ON, IC reset등
(4) Input/Output
칩간 통신 방법 중에는 양방향 통신을 가능하게 합니다. 대개는 이와 같이 통신하기 위해서
여러 gpio를 한 쌍으로 사용합니다.
○ SPI 통신(4개의 gpio사용)
chip에서 SPI통신을 지원한다면 굳이 gpio를 사용해서 SPI통신을 안해도 됩니다만, 지원하지 않을 경우
gpio를 통해서 SPI통신을 해야 합니다.
간략하게 Wikipedia에서 SPI 통신을 이해 하시고,
이를 도식화 해 봅니다.
○ I2C 통신(2개의 gpio사용)
chip에서 I2C를 지원하지만 slave모드와 master모드를 모두 사용해야 할 상황이 된다면 할 수 없이 I2C통신을 gpio로 해야 합니다.
간략하게 다시 Wikipedia에서 I2C 통신을 이해하시고,
이를 도식화 해 봅니다.
이런 gpio를 읽어오거나 쓰는 제어 루틴은 CPU마다 틀립니다.
이는 CPU 제조사에서 release한 databook을 참고하여 코딩하시면 됩니다.
※ 출처 : http://musart.tistory.com/74
※ 출처 : http://musart.tistory.com/74
'T heory > Comn Basics' 카테고리의 다른 글
UART(Universal Asynchronous Receiver & Transmitter) (1) | 2011.10.17 |
---|---|
I2C(Inter Integrated Circuit) (18) | 2011.10.17 |
SPI(Serial Peripheral Interface Bus) (2) | 2011.10.17 |
I2S(Integrated Interchip Sound) (3) | 2011.10.17 |
직렬통신(Serial Communications) (0) | 2011.10.17 |
RECENT COMMENT