728x90

반도체, 임베디드 Study 74

STM32 - 알람 시계 구현하기 (1) (시간, 알람 띄우기)

이번 글에서는 알람 시계를 가장 기본 단계에서 구현할 것이다.1. 지정한 날짜, 시간을 기준으로 시계가 동작하고2. 알람으로 설정한 시간에 Alarm이 울렸다는 화면을 띄우는 작업을 할 것이다. https://insoobaik.tistory.com/638  STM32 - I2C를 이용한 LCD 문자 출력 (함수 분석)https://insoobaik.tistory.com/624 STM32 - LCD 문자 출력 (I2C)https://insoobaik.tistory.com/626 STM32 - I2C 이론보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comI2C 이론에 이어 I2Cinsoobaik.tistory.comI2C에 대한 함수 분석은 위 글을 참고한다..

STM32 - I2C를 이용한 LCD 문자 출력 (함수 분석)

https://insoobaik.tistory.com/624 STM32 - LCD 문자 출력 (I2C)https://insoobaik.tistory.com/626 STM32 - I2C 이론보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comI2C 이론에 이어 I2C 통신을 이용하여 LCD에 문자를 출력해볼 것이다.LCDinsoobaik.tistory.com이전에 LCD에 I2C를 이용하여 문자를 출력했었는데, LCD를 출력하기까지 함수를 제대로 파악하지 않고 사용했다.이번 글은 LCD를 사용하기 위한 함수에 대해 자세히 알아보기 위해 LCD 관련 DataSheet와 함수에 대해 파악해보려 한다. LCD 관련 코드#include "lcd.h"extern I2..

Virtuoso - MOS를 구성하는 요소 개념

PMOS 트랜지스터는 반드시 N-Well 위에 형성되는데, NMOS 트랜지스터는 P-Well 일반적으로 안보이는 것을 볼 수 있다.그 이유는 CMOS 공정에서는 기본 기판이 P형이기 때문에 NMOS 트랜지스터는 기본 기판에 바로 형성되며, 별도의 P-Well을 추가로 표시할 필요가 없기 때문이다. PIMP (p-implant), NIMP (n-implant)p, n implant는 특정 영역에 p, n형 도핑을 추가하는 과정이다.pmos, nmos는 각각 소스와 드레인이 p형, n형으로 도핑되어 있다. NMOS의 경우 기본 기판이 P형이고 PMOS의 경우 N-Well 위에 만들기 때문에 각 MOS는 소스와 드레인에 NMOS에는 N형 도핑을 PMOS에는 P형 도핑을 소스와 드레인에 처리를 해야하기 때문에 ..

C# - Arduino Serial 통신을 이용한 비쥬얼라이저 구현

C#과 Arduino의 Serial 통신을 이용하여 간단한 비쥬얼라이저를 구현하였다.void setup() { Serial.begin(9600); // 시리얼 통신 시작 pinMode(8, OUTPUT); pinMode(9, OUTPUT); // LED 핀을 출력 모드로 설정 pinMode(10, OUTPUT); pinMode(11, OUTPUT);}void loop() { int sensorValue = analogRead(A0); // A0 핀의 아날로그 값을 읽어서 sensorValue 변수에 저장 Serial.println(sensorValue); // 읽어온 값을 시리얼 모니터에 출력 if (Serial.available() > 0) { int value = ..

C# - WinForm을 이용한 기억력 게임

C#의 Winform을 이용하여 기억력 게임을 만들어 보았다. 게임은 크게 1초, 0.5초 0.25초 간격의 난이도를 가지고 있다.아래 GIF 파일들은 실제 게임을 실행하는 중요 부분들만 캡처한 것이고, 그 외 상세한 부분들은 글과 코드를 통해 설명할 것이다.속도 선택가장 먼저 게임 속도를 선택하게 되면 게임 속도가 선택에 맞게 설정된다.속도 1 게임 실행1단계 게임을 실행하게 되면 1초의 속도로 기억력 게임이 시작되고 속도 1 점수에 해당하는 곳에 최고 점수가 기록된다.속도 2 게임 실행속도 2를 선택하게 되면 0.5초 간격의 난이도로 게임이 시작되고, 속도 2에 해당하는 점수판에 최고 속도가 기록된다.속도 3 게임 실행속도 3을 선택하게 되면 0.25초 간격의 난이도로 기억력 게임이 시작되고, 속도 ..

Virtuoso - Buffer 생성 (Layout 전까지)

buffer를 만들기 위한 라이브러리를 새로 생성한다.위까지 구성하고 단축키 L을 이용하여 Wire Name을 생성 및 부여한다. (핀 이름 VVD 오타 VDD로 변경)  !!!!!!!Error!!!!!!!여기서 Simulation을 돌리게 되면 에러가 발생하게 된다. 확대해보면 약간의 딜레이가 발생하지만 바로 Buffer가 동작하는 것을 볼 수 있다.  VDD & VSS instance 불러오기NMOS의 body와 PMOS의 body로 사용되면서 GND와 VDD로도 사용할 수 있는 M1_PIMP와 M1_NWELL을 Contact 명령을 이용해서 불러온다.

Virtuoso - Inverter 만들기 (Schematic ~ Layout ~ DRC Check ~ LVS)

Schematic, Symbol, Simulation 수행 라이브러리 매니저의 Library, Cell, View 생성을 통해 schematic, layout, symbol를 생성하여 사용할 수 있다. 위 방식을 통해 Library를 생성할 수 있다. 이 Library안에 Symbol, Schematic, Layout을 생성하여 저장할 수 있다.Cell View를 통해 여러가지 Type을 선택하여 생성할 수 있다.Inverter  만들기위와 같이 Inverter에 대한 Schmetic을 그릴 것이다. 단축키 I를 누르게 되면 Instance를 불러올 수 있고, Library를 통해 원하는 Library의 Cell을 가져다가 사용할 수 있다. Inverter에는 기본적으로 PMOS와 NMOS를 사용하여 생..

STM32 - OC (Output Capture)

OC (Output Capture)출력 비교 모드는 카운터(CNT)의 출력값이 캡쳐/비교기에 설정된 비교값(CCRx)과 일치할 때 인터럽트나 (CCxl)나 해당 핀에 출력(OCx)이 발생하는 모드다.이전 PWM의 경우 TIM의 PSC의 값과 ARR값에 의해 타이머의 주기가 정해지고, CCR 값에 의해 Duty ratio를 통해 PWM가 정해지는 것을 알게되었다.OC (Output Compare) 또한 마찬가지로 PSC와 ARR에 의해  타이머의 주기가 정해지고 CCR의 값에 의해 비교가 발생한다.위 DataSheet를 보게되면 CCR의 값이 003A로 설정되어 있을 경우 CNT가 003A를 만나게되면 OC1의 출력 값이 반전되고, 중간에 CCR의 값이 B201로 바뀌게 되면 CNT가 B201을 만나게 되..

STM32 - RTC (Real Time Clock), Alarm을 통한 시간 및 알람 출력

RTC (Real Time Clock)RTC는 기본적으로 초고속 클럭이 필요하지 않기 때문에 LSE를 사용한다.  STM32는 RCC(Reset and Clock Control)를 통해 HSI, HSE, LSI, LSE를 설정하게 된다.HSE는 MCO 즉, ST-Link로부터 클럭을 전달 받고, LSE의 경우 Nucleo 보드에 장착된 크리스탈에 의해 클럭 신호가 생성된다.Clock Configuration을 보게 되면 LSE는 32.768KHz를 사용중이다. STM32 RTC는 Clock Source 외에도 Alarm 용도로 사용 가능하다.RTC의 Parameter Settings를 보게되면 기본적으로 시간과 관련된 Parameter를 확인 가능하다. 시간 포맷을 정함과 동시에 Asynchronous ..

728x90