임베디드 시스템 설계/ARM(5)
-
ARM 프로세서 I2C, SPI 제어하기
- I2C 인터페이스 I2C와 SPI 인터페이스의 차이점 I2C의 특징 Inter Integrated Circuit 버스구조를 의미합니다. 마이크로프로세서와 저속 주변장치 사이의 통신을 목적으로 합니다. Philips에서 개발한 규격입니다. 2개의 Line만으로 통신하기 때문에 TWI(Two Wire Interface)라고도 합니다. 양방향 오픈 드레인 선인 SCL과 SDA로 이루어져 있습니다. (SCL : Serial Clock, SDA : Serial Data) Master-Slave 형태로 동작합니다. 속도면에서는 다릉 방식에 비하여 현저히 느린 특징이 있습니다.(그러나 하드웨어적으로 간단한 구성으로 자주 활용됩니다.) 하나의 버스에 많은 수의 노드를 연결할 수 있다는 장점이 있습니다. SCL, S..
2022.12.18 -
ARM 프로세서 NXP GPIO 소개
- ARM GPIO의 개념과 사용법 GPIO General Purpose Input Output(GPIO) 범용 입출력 포트입니다. 마이크로프로세서가 주변장치와 통신하기 위해 범용으로 사용되는 입력 출력포트입니다. 입출력을 마음대로 선택할 수 있고, 0과 1의 출력 신호를 임의로 만들어 제공할 수 있는 구조 입력으로 사용할 때에는 외부 인터럽트를 처리할 수 있도록 합니다. 입출력 방향 전환용 레지스터와 입출력용 데이터 레지스터 등이 존재합니다. LPC1768의 GPIO 특징 빠른 GPIO 기능 : GPIO 레지스터는 빠른 I/O 타이밍 구현을 위해 주변장치 AHB 버스에 위치합니다. 마스크 레지스터 : 각 포트의 비트 셋을 하나의 그룹으로 다룰 수 있게 합니다. 모든 GPIO 레지스터는 바이트, 하프-워..
2022.12.13 -
ARM 프로세서 명령어 소개
- ARM 명령어 메모리 접근 명령어 Load / Store 연산의 대상으로 외부 메모리를 직접 사용하지 못합니다. 외부 메모리는 반드시 레지스터를 거쳐서 연산이 이루어집니다. 메모리 > 레지스터 : LDR(Load to register)를 이용합니다. 레지스터 > 메모리: STR(Store to memory)를 이용합니다. 레지스터 간접 참조 Ldr Rd, [Rs] Rd = [Rs]입니다. Rs의 레지스터 값을 메모리 주소로 하여 내용을 Rd로 load 시켜주는 참조 방식입니다. Rs, Rd : r0 – r15입니다. 또 다른 레지스터 간접 참조의 예 LDR r0, [r1] > r1이 0x100번지를 로드하여 r0 레지스터에 로드합니다. STR r0, [r1] > r1이 0x100번지에 R0 레지스터값..
2022.12.11 -
ARM SoC 구조 이해하기
- ARM 코어 아키텍처 구조 ARM 코어 데이터 흐름. 데이터 버스 데이터(명령어, 데이터)는 데이터 버스를 통해 코어로 입력됩니다. 명령어 디코더 멸령어가 실행 전 명령어를 해독합니다. 폰노이만 아키텍처 CPU, 메모리, 프로그램 3요소로 구성됩니다. Stored program 구조이고, Fetch와 decode, execute로 구성됩니다. 하버드 아키텍처 데이터와 명령어 메모리가 분리됨으로 인한 성능이 개선되는 결과를 가진 구조입니다. Load / Store 아키텍처 프로세서 외부로 데이터를 전송하는 명령어는 단 2개 입니다. 데이터 처리는 레지스터 안에서만 수행합니다. ALU를 거쳐 주소 연산을 마무리한 후 주소 버스로 출력합니다. 부호확장기(Sign Extend) 레지스터 파일은 32비트 레지..
2022.12.07 -
Cortex-M3 ARM을 활용한 임베디드 시스템 설계의 이해
- ARM 프로세서 기술동향 소개 ARM 프로세서 역사 ARM과 Intel 비교 및 ARM을 학습하게 된 이유 RISC Architecture의 특징 RISC 구조 매우 빠른 속도로 한 클럭 안에 실행될 수 있는 간결하면서도 막강한 명령어들을 가지고 있는 아키텍쳐입니다. 하드웨어에 의해 수행되는 명령어들의 복잡도를 줄이는 것을 목표로 합니다. 컴파일러에 의존적이라는 특징이 있습니다. 지능적이여야 합니다.(CISC는 하드웨어 복잡도에 초점을 두고 있고, RISC는 컴파일러의 복잡도에 초점을 두고 있습니다.) ARM 프로세서의 특징 Instructions (Reduced instruction sets / single cycle / fixed length) Pipeline (Decoded in one stag..
2022.11.03