728x90

분류 전체보기 625

디지털 논리 회로 정리 - 1 (기본)

- 디지털 출력 신호와 입력 신호의 범위 디지털 출력 신호와 입력 신호는 1 or 0으로만 출력이 되며, 전달되는 전압에 따라 해당 신호를 0으로 출력 할 것인지 1로 출력할 것인지 정해진다. 1. 출력 전압출력 전압의 경우 2.7 V 이상이 전압이 전달될 경우 1의 신호를 전달하고, 0.4V 이하의 전압이 전달될 경우 0의 신호를 전달하게 된다.0.4V ~ 2.7V의 전압은 허용되지 않는 영역으로 해당 전압이 전달되면 0인지 1인지 알 수 없는 값을 전달하게 된다. 2. 입력 전압입력 전압의 경우 2.0V 이상의 값이 들어오면 1의 신호로 판별하고, 0.8V 미만의 값이 들어오면 0의 신호로 판별한다. 0.8.V ~ 2.0V의 전압은 허용되지 않는 영역이다. 때문에 출력 전압과 입력 전압간의 High ..

통신 프로토콜 UART 동작 원리

UART란UART(Universal asynchronous receiver/transmitter)는 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종이다.통신 데이터는 메모리 또는 레지스터에 들어 있어 이것을 차례대로 읽어 직렬화 하여 통신한다. 최대 8비트가 기본 단위이다.UART는 일반적으로 컴퓨터나 주변 기기의 일종으로 병렬 데이터를 직렬화 하여 통신하는 개별 집적 회로다.비동기 통신이므로 동기 신호가 전달되지 않는다. 따라서 수신 쪽에서 동기신호를 찾아내어 데이터의 시작과 끝을 시잔적으로 알아 처리할 수 있도록 약속되어 있다. 비트수1234567891011 시작 비트(Start bit)5~8 데이터 비트패리티 비트(Parity bit)종료 비트(Stop bit(..

FPGA - SPI 통신을 이용한 DC Motor 제어하기

https://insoobaik.tistory.com/648 SPI - 신호 검증 (ILA) & (Cadence) Synthesis ~ POST SIM보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.com이전에 SPI를 ILA를 통해 전달되는 신호를 확인하고 Synthesis부터 Post Layout Simulation을 통해 코드가 정상적으로 실행되는 것을 확인하였다.https://insoobaik.tistory.com/630 Verilog- FPGA를 이용한 DC 모터 구동보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.com 위에서 SPI 통신을 통해 전달 받은 Data를 이전에 실습해본 Dc Motor를 ..

FPGA - LUT(Look-Up Table)

FPGA 내부의 디지털 회로 구성에 있어 가장 기본이 되는 요소는 LUT와 FF(Filp-Flop)이다. 이 중 LUT에 대해 알아보겠다. -  LUT(Look-Up Table)LUT는 입력값에 따라 미리 정의된 출력값을 반환하는 테이블 형태의 데이터 구조다.디지털 회로에서 복잡한 논리나 연산을 간단한 테이블 조회로 처리할 수 있게 해준다. 기본적으로 FPGA는 4-INPUT LUT를 사용하는데 (5-INPUT, 6-INPUT도 존재한다.) 4개의 input 조합할 수 있는 모든 Bool 함수 구현이 가능하다.y = (a & b) | c위 로직은 아래와 같아 AND, OR 게이트를 사용해서 다음과 같이 구성할 수 있다.  abcd00000011010001111000101111011111위 로직에 대한 진..

ASIC Flow - SPI 설계, 신호 검증 (ILA) & (Cadence) Synthesis ~ POST SIM

https://insoobaik.tistory.com/571 SPI - Serial Peripheral Interface 통신보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comSPI 이론과 관련된 내용은 위 글을 참조한다.SPI Slave (FPGA)Slave로 들어오는 bit는 총 32bit가 들어오게 된다.0~1 bit : ID 값 전달 bit2 bit : READ/WRITE 값 전달 bit (0 READ / 1 WRITE)3 bit : ADDRESS 값 전달 bit (현재 간단한 통신 테스트를 위해 2개의 16bit Register를 사용하는 예시에 해당하며, 0일경우 0번 Register, 1일경우 1번 Register에 접근4~15 bit :  ..

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..

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초 간격의 난이도로 기억력 게임이 시작되고, 속도 ..

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을 만나게 되..

728x90