본문 바로가기
Embedded

1. ARM Cortex-M GPIO 모듈 개요

by 밥통대장 2022. 11. 2.
반응형

범용 입력 출력인 GPIO 모듈에 대해 간략히 설명합니다.

 마이크로컨트롤러에서 우선 해야 할 일은, 핀이 포트와 같이 그룹화되어 있습니다.

A, 포트 B, 포트 C, 포트 D 등입니다.

예를 들어 PA1이라고 하면 포트 A 핀 1을 의미합니다. , PD7이라고 하면 같은 방식으로 

포트 D 핀 7을 의미합니다.

GPIO:Introduction

 

마이크로컨트롤러 핀은 포트로 그룹화됩니다.

GPIO는 일반적으로 범용 입출력으로 사용되지만 아래와 같이 alternate function으로도 사용됩니다.

 

General Purpose Input/Output(GPIO)

-General function of the pin

Special Purpose Input/Output

-Special or alternate function of the pin

 

UART, PWM, ADC 등으로 사용될 때 대체 기능으로 사용됩니다.

UART, PWM과 같은 주변 장치를 구성하려고 할 때 이 작업을 수행합니다.

ADC 등입니다. 왜냐하면 UART는 송수신 회선과 송수신 회선이 필요하기 때문입니다.

송수신하기 위해서는 핀 구성을 대체 기능으로 바꿔서 사용해야 합니다.

ADC도 마찬가지입니다.

센서가 연결된 특정 핀이 아날로그 핀으로 작동하도록 구성해야 합니다.

그렇지 않으면 기본 상태이거나 일반적인 상태인 GPIO로 사용됩니다.

 

 GPIO 모듈의 일반적인 레지스터에 대해 알아보겠습니다.

ARM 마이크로컨트롤러 GPIO 모듈뿐만이 아닙니다.

모든 마이크로컨트롤러의 GPIO는 아래와 같이 최소한  두 개의 레지스터를 가집니다.

 

레지스터 

  1. 방향 레지스터

Direction Register(Set pin as input or output)

  1. 데이터 레지스터

Data Register(Write to pin or read from pin)

 

Direction Register는 이 레지스터는 핀을 입출력으로 설정하는 데 사용됩니다.

Data Register는 PIN을  Write/Read 하는 데 사용됩니다.

일부 설계에서 다른 이름과 함께 존재할 수 있습니다.

 

ST마이크로일렉트로닉스의 Direction Register는 MODE 레지스터로 알려져 있으며,

최소 네 가지 다른 모드에서 특정 핀을 구성합니다.

-Input(reset state)

-General purpose output mode

-Alternate function mode

-Analog mode

 

우리는 우리의 마이크로컨트롤러 안에 있는 버스를 보고 있습니다. 내부 블록 다이어그램을 보면 두 개의 버스라는 것을 알 수 있습니다.

고급 고성능 버스로 알려진 AHB와 주변 장치 버스로 알려진 APB가 있습니다.

Advanced High-Performance Bus(AHB)

-1 clock cycle access to peripherals

Advanced Peripheral Bus(APB)

-Minimum of 2 clock cycles access to peripherals

 

AHB를 사용하면 주변 장치에 액세스 하기 위해 단일 클럭 사이클이 필요한 반면, APB를 사용하면 최소 두 클럭 사이클이 필요할 수 있습니다.

 

이 기능이 중요한 이유는 일부 주변 장치에 더 빨리 또는 더 느리게 액세스 할 수 있기 때문입니다.

 

Texas Instruments 마이크로컨트롤러와 같은 마이크로컨트롤러에서는 APB 버스와 AHB 버스 모두에서 GPIO 포트에 액세스할 수 있습니다.

 

이것이 의미하는 것은 주변장치에 더 빨리 접근하고 싶다면, 단일 클럭 사이클로 접근하는  AHB 버스를 사용하라는 것입니다.

빠른 속도가 필요 없는 정상 모드에서 액세스해도 문제가 없으면 APB 버스를 이용하시면 됩니다.

 

따라서 설계자가 주변장치 속도를 염두에 두고 설계하면 되겠습니다.

특정 주변 장치에 대한 클럭 액세스를 활성화하기 위해 어떤 모듈 또는 어떤 주변 장치가 어떤 버스에 연결되어 있는지 알아보겠습니다.

마이크로컨트롤러 클럭 소스에 대해 이야기해보죠. 클럭 소스에 대한 세 가지 옵션이 있습니다.

 

On-Chip RC Oscillator

-Least precise

Externally Connected Crystal

-Most Precise

Phase Locked Loop(PLL)

-Programmable

 

1. 온칩 RC 발진기가 있습니다. RC는 저항 커패시터를 나타냅니다.

이것이 가장 정밀하지 않은  clock입니다.

 

2. 마이크로컨트롤러에 외부 크리스탈을 연결할 수 있습니다.

 이것은 자체 칩 RC 발진기보다 더 정확합니다.

3. PLL이 있습니다. 이것은 위상 잠금 루프라고 알려져 있습니다. 이것은 우리가 실제로 클럭을 프로그래밍할 수 있게 합니다. 

위상 고정 루프 (PLL)는 한 회로 기판이 온보드 클럭의 위상을 외부 타이밍 신호와 동기화할 수 있도록 설계된 피드백 회로입니다. PLL 회로는 외부 신호의 위상을 전압 제어 크리스털 발진기(VCXO)에 의해 생성된 클럭 신호의 위상과 비교하여 작동합니다. 회로는 발진기의 클럭 신호의 위상을 조정하여 기준 신호의 위상과 일치시킵니다. 따라서, 원래의 기준 신호와 새로운 신호는 서로 정확하게 동 위상이 됩니다.

 

반응형

'Embedded' 카테고리의 다른 글

3. ADC(Analog to Digital)  (0) 2022.11.03
2. UART(Universal Asynchronous Receiver/Transmitter)  (0) 2022.11.02

댓글