[C&Processor] 1장 입문 -1-
입문
본 서에서 다루는 프로세서는 M3, M4에 대한 내용입니다.
C언어로 작성된 명령어를 해석하고 연산을 수행하는 반도체를 Core 라 합니다.
(컴퓨터로 작업을 한다는 것은 다른 말로 하면 연산을 한다고 표현할 수 있다.)
이렇게 해석이 된 명령은 명령에 따라 Output(Ex> Speaker, Motor, LED etc..)을 내는데
이러한 외부주변장치를 구동할 수 있도록 ' 연결통로 ' 를 ' Core '와 묶어서 만든 반도체를
' Processor ' 라고 부릅니다.
즉, Core(연산부) + 연결통로(Wire부&소자) = Processor(Function적) 라 할 수 있다.
① I2C(온도센서), SPI(Flash Memory), UART(UART to USBA) 를 통해 PC와 통신하는 방법을 학습하게 될 것입니다.
② Interrupt 에 대한 개념과 GPIO에 대한 설명과 사용방법이 있습니다.
그리고 이들을 주기적으로 동작시키는 데 필요한 ' Timer ' 를 설정하는 방법을 배울 것입니다.
보드에는 여러 반도체 소자들이 서로 상호연결 되어있는데
(물리적 배치)
우리가 코딩을 한 후 보드에 이미지를 다운로드하고 전원이 인가되거나 ReSet 상황이 되었을 때
정말 이 들이 올바르게 동작하는지 확인할 필요가 있습니다.
(H/W를 통한 S/w의 검증= 전에도 말했듯 문자열을 통한 확인인 Code Review와 파형그래프의 검증,
이렇게 2가지 방법이 있다.)
개발자가 원하는 파형(Programing)을 서로 주고 받는지 우리는 확인해봐야 합니다.
(오실로스코프를 통해 신호라인에 Probe를 연결해주어 전달된 파형을 화면(GUI Graph)으로 확인해야 합니다.)
오실로스코프는 직접 H/w(S/w를 통한)를 제어하고자 할 시 반드시 필요한 기기입니다.
신호는 크게 Digital 신호와 Analog 신호가 있습니다.
전자(Digital)는 시간에 따라 0과 1만을 발생하며 불연속적인 특징이 있습니다.
일반적으로 0은 0[V] 를 나타내며 1은 3.3[V] 를 의미합니다.
후자(Analog)는 시간에 따라 연속적으로 변하는 특징을 지니고 있으며 예로는 Mic가 있겠습니다.
원리대로 보자면 Analog 신호의 Data는 시간에 따라 연속적으로 변하는 특징을 지닌만큼
복조시 엄청나게 많은 Data를 저장해야 그 신호를 복원할 수 있습니다.
주기(Period) : 일정한 시간 간격마다 동일한 파형이 반복되는 정현파(Sine Wave)
위 2차 그래프(Sine Wave)에서 0부터 360 까지 영역을 주기라 하며
1부터 -1까지의 높이를 진폭(Amplitude) 라고 합니다.
간단히 식으로 나타내보자면
주기(T) = 1/주파수(f)
주파수(f) = 1/주기(T)
가 되는 것을 알 수 있습니다.
예를 들어 우리나라의 대표적인 가정용 전기 규격인 220[V] 60[Hz] 로 설명해보자면
1초에 60번 반복 됐다는 것을 의미합니다.
이 같이 주기적인 신호를 복조시에는 일정시간동안 발생하는 모든 신호 Data를
저장할 필요는 없습니다.
왜냐면 수학적으로 구간을 정의할 시 그 해가 명쾌하게 떨어지기 때문입니다.(Constant적)
(수학적인 규칙을 알아낼 수 있기 때문)
이처럼 얼마간의 Data로 그 신호의 수학적인 규칙을 알아낼 수 있다면 많은 Data가 없어도
그 신호를 복조할 수 있습니다.
더불어 모든 주기성을 갖지 않는 신호까지도 정현파를 수학적으로 더하여 주면
표현할 수 있습니다.