[ARM] STM32_Driver(CLCD I2C, Ultrasonic)
ARM/2_Study2024. 4. 26. 09:03[ARM] STM32_Driver(CLCD I2C, Ultrasonic)

1.  CLCD I2C   1-1.  CLCD 메모리 CGROM(Character Generator ROM)8비트 문자 패턴을 저장하고 있는 메모리208개의 5x8 도트와 32개의 5x10 도트의 문자 패턴 저장(9920bit)Character Code 0b0010 0000(공백) ~ 0b0111 1111(←)까지는 ASCII (아스키 코드) 와 일치          → c언어에서 문자로 표현된 데이터를 변환하지 않고 그대로 LCD에 출력 가능→ 위 표와 같이 문자가 CGROM에 저장되어 있고 저장된 문자를 DDRAM을 통해 화면에 출력→ 표 좌측 CGRAM(1) ~ CGRAM(8)은 사용자가 문자를 만들어 CGRAM에 저장하여 사용 가능 CGRAM(Character Generator RAM)사용자 정의..

[ARM] STM32_메모리 저장&실행 과정, Driver(Button, LED)
ARM/2_Study2024. 4. 26. 00:03[ARM] STM32_메모리 저장&실행 과정, Driver(Button, LED)

1.  메모리 저장 & 실행 과정 `main.c` 소스 파일 Compile → `main.o` 오브젝트 바이너리 코드 파일 변환 → Linker가 `main.elf` 실행 코드로 변환Flash Memory : 실행 코드 저장RAM : 데이터 저장  .elf 실행 코드가 flash Memory에 저장되는데 어떻게 저장? → 메모리는 각 section으로 나뉘어져 있음 .map 파일`.map` 파일에서 각 section을 어디에 저장시킬지 저장되어 있음. (네비게이션 역할)(.text : 사용자 정의 함수 등) LinkerScript 파일더보기/*********************************************************************************** @file ..

[ARM] STM32_Low level Programming
ARM/2_Study2024. 4. 24. 10:01[ARM] STM32_Low level Programming

1.  STM32F411RET6(ARM Cortex-M4) STM32f411RET6 특성Flash Memory : 512 kBytesRAM : 128 kBytesSpeed : 100 MHz   2.  STM32 구조 D-BUS : RAM BUSI-BUS : Flash Memory BUSS-BUS : 주변장치 BUS APB1, APB2 : Bus 이름→ ARM Architecture에서는 모든 peripheral, clock을 사용자가 설정해줘야함⇒ 복잡할 수 있지만 전력 소모에서 이득  3.  ioc를 이용한 설정 3-1.  Clock 설정  PLL회로 : 클럭 증폭→ NUCLEO 보드에는 8MHz 외부 크리스탈 오실레이터가 장착되어 있음..

[FullCustomIC] Cadence Virtuoso_4bit Adder, Subtractor
Full Custom IC/Study2024. 4. 21. 22:10[FullCustomIC] Cadence Virtuoso_4bit Adder, Subtractor

1. 4bit Adder Half Adder 1개, Full Adder 3개가 직렬로 이어져 있는 형태 → 각각의 Adder가 각 자리수에 대한 연산 시행 test setup VDD VSS VINH source type DC 1V DC 0V Pulse Voltage range x x 0 ~ 1V Period x x 20n Delay time x x 0s Rise time x x 1ps Fall time x x 1ps Pulse width x x 10n Simulation time 30ns 0111 (VING, VINE, VINC, VINA) x100 (VINH, VINF, VIND, VINB) → VINH의 값만 0, 1로 바꾸어 연산 결과 확인 VINH = 0) 0111 + 0100 (7+4) = 10..

[FullCustomIC] Cadence Virtuoso_XOR Gate, Adder
Full Custom IC/Study2024. 4. 21. 21:11[FullCustomIC] Cadence Virtuoso_XOR Gate, Adder

1. XOR Gate ⦁ Truth Table VINA VINB VOUT 0 0 0 0 1 1 1 0 1 1 1 0 X = A ⊕ B = A’B + B’A ⇒ Input 2개가 서로 다를 때 1 출력 → 덧셈과 유사 (1) Logic Level Design → TR 22개 (2) Switch Level Design → TR 6개 2. Adder Half Adder(carry X) : 17 + 15 = 2 Full Adder(carry O) : 17 + 15 = 32 3. Half Adder : 덧셈 연산을 수행하는 디지털 회로 Truth Table VINA VINB S(out) C(out) 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S = A’B + AB’ (XOR Gate) C = AB ..

[FullCustomIC] Cadence Virtuoso_4x1 MUX(Logic, Switch), 8x1 MUX(Logic, Switch), 16x1 MUX(Logic, Switch)
Full Custom IC/Study2024. 4. 20. 22:24[FullCustomIC] Cadence Virtuoso_4x1 MUX(Logic, Switch), 8x1 MUX(Logic, Switch), 16x1 MUX(Logic, Switch)

1. 4x1 MUX(Logic) ⦁ Truth Table VINA VINB VINC VIND S0 S1 VOUT A B C D 0 0 A A B C D 1 0 B A B C D 0 1 C A B C D 1 1 D 2. 4x1 MUX(Switch) 3. 8x1 MUX(Logic) ⦁ Truth Table S2 S1 S0 VOUT 0 0 0 VINA 0 0 1 VINB 0 1 0 VINC 0 1 1 VIND 1 0 0 VINE 1 0 1 VINF 1 1 0 VING 1 1 1 VINH 4. 8x1 MUX(Switch) 5. 16x1 MUX(Logic) ⦁ Truth Table S3 S2 S1 S0 VOUT 0 0 0 0 VINA 0 0 0 1 VINB 0 0 1 0 VINC 0 0 1 1 VIND 0 1 0..

image