하만 세미콘 아카데미48 [Embedded] STM32 - Timer 이번에는 PWM을 사용하여 LED의 밝기를 서서히 올리는 코드를 작성해보도록 하겠습니다. PWM(Pulse Width Modulation, 펄스 폭 변조)은 아날로그 신호를 디지털 출력으로 흉내 내는 기법으로, 전자제어에서 널리 사용됩니다. STM32와 같은 마이크로컨트롤러에서 PWM은 LED 밝기 조절, 모터 속도 제어 등에 활용됩니다.PWM의 기본 원리듀티 사이클(Duty Cycle): PWM 신호는 "HIGH"와 "LOW" 상태의 반복으로 구성되며, 듀티 사이클은 신호가 HIGH 상태를 유지하는 시간의 비율을 의미합니다. 예를 들어, 듀티 사이클이 50%인 경우, 신호는 절반의 시간 동안 HIGH 상태이고 나머지 절반은 LOW 상태입니다.주파수(Frequency): PWM 신호의 주파수는 신호가 얼.. 2024. 5. 31. [Embedded] STM32CubeIDE GPIO - LED 점멸 먼저 상단 메뉴에서 Project를 하나 생성해줍니다. File - New - STM32 Project를 눌러주면 됩니다. 그 후 사용하시는 Board를 검색하셔서 선택 후 Next를 눌러줍니다. 그 후 Project Name을 지정해주시고 Finish를 눌러주시면 IDE가 생성이 됩니다. IDE를 생성하게 되면 STM32F411RETx 마이크로컨트롤러를 위한 STM32CubeIDE 소프트웨어 인터페이스를 보여줍니다. Pinout & Configuration 특정 프로젝트에 맞게 마이크로컨트롤러의 핀과 주변 장치를 설정할 수 있습니다. 화면의 중앙 부분은 STM32F411RET6 칩의 레이아웃을 보여주며, VBAT, I/O 핀, 전원 공급 핀(VDD, VSS) 등의 기능을 나타내는 라벨이 있는 .. 2024. 5. 31. STM32_Cube_IDE 설치 방법 보호되어 있는 글 입니다. 2024. 5. 31. Verilog HDL 실습 (UART) 이번 프로젝트에서는 간단한 Uart 모듈을 Verilog HDL를 활용하여 검증해보도록 하겠습니다. UART란?UART (Universal Asynchronous Receiver/Transmitter)는 컴퓨터 하드웨어의 일종으로, 디지털 장치 간에 직렬 통신을 가능하게 하는 통신 인터페이스입니다. 직렬 통신이란 데이터를 한 번에 한 비트씩 비트 스트림 형태로 전송하는 방식을 말합니다. UART는 이러한 데이터 전송을 위해 비동기식 방법을 사용합니다, 즉 송신기와 수신기 사이에 별도의 동기화 클록 신호 없이 데이터를 전송합니다. UART의 기본 작업은 송신 측에서는 병렬 데이터(한 번에 여러 비트를 처리하는 형태)를 직렬 데이터로 변환하고, 수신 측에서는 이 직렬 데이터를 다시 병렬 데이터로 변환하는 것.. 2024. 5. 31. UART 이론 (수업시간 내용 정리) chblee@weduslution.com synthesis: 베릴로그 코드를 회로도로 바꾸는 과정 고속이 필요하지 않을 때UART는 데이터 전송 속도가 매우 빠르지 않아도 되는 통신에 적합합니다. 예를 들어, 간단한 센서 데이터를 수집하거나 작은 양의 데이터를 주고받는 장치간 통신에 사용됩니다.저렴한 통신 수단이 필요할 때UART는 하드웨어 구성이 간단하고 비용이 낮아 비용을 최소화하면서 두 장치 간 통신을 구현할 수 있습니다. 예를 들어, 마이크로컨트롤러와 센서 사이에 단일 와이어를 사용하여 데이터를 전송할 수 있습니다.비동기 직렬 통신UART는 송신기와 수신기가 필요하며, 각 방향마다 하나의 와이어만 필요하고, 또한 접지선이 필요합니다. 하드웨어가 간단하고, 전송 시작 시점과 끝 시점이 정.. 2024. 5. 31. Verilog HDL 실습 (Stop_Watch) 오늘은 간단한 Stop_watch를 만들어보도록 하겠습니다. Stop_watch는 매우 훌륭한 실습 프로그램으로 전반적인 RTL 설계 능력을 향상시킬것이며 먼저 스톱워치를 만들기 전에 필요한 기능에 대해서 생각해보도록 하겠습니다. 1. 시작 / 정지 기능 구현먼저 버튼으로 스톱워치를 통제할 수 있는 기능을 만들어야 합니다. 이는 플립플롭을 이용하여 엣지를 검출하는 방식으로 만들어 보도록 하겠습니다. 2. 시간 초 증가시간을 증가시킬 수 있는 기능은 많은데 저는 tick 신호를 만들어 카운터가 일정한 시간까지 세면 해당 부분에서 값을 할당하는 방식으로 초 증가를 만들어보도록 하겠습니다. 3. 세그먼트 출력만든 스톱워치를 세그먼트에 출력으로 표시해주려고 합니다. 그에 따라 세그먼트 모듈도 제작했습니다. V.. 2024. 5. 31. Verilog HDL 실습 (Traffic) 오늘은 일상에서 흔히 볼수있는 보행자 신호등을 Verilog HDL로 구현해보도록 하겠습니다.신호등은 다음 네 가지 주요 상태를 갖습니다: 노란색, 빨간색, 초록색, 그리고 보행자 신호 상태입니다.노란색(YELLOW) 상태는 신호 변경을 알리는 경고 신호로 잠시 지속됩니다.빨간색(RED) 상태에서는 사람이 건널 수 없고 차량이 도로를 자유롭게 진행할 수 있습니다.초록색(GREEN) 상태는 차량에 정지를 명령하고, 보행자가 도로를 건널 수 있도록 합니다.보행자(PED) 신호 상태는 보행자가 버튼을 누를 때 활성화되어, 안전하게 길을 건널 수 있도록 초록색 신호를 제공합니다.위 조건을 가지고 보행자 신호등을 구현해보도록 하겠습니다. Verilog HDL Traffic Module & Testbench더보.. 2024. 5. 31. Verilog HDL 실습 (Security) 오늘은 간단한 보안 장치를 Verilog HDL로 만들어보겠습니다. 키를 작동시키게 되면 감지 구간으로 진입하여 일정한 시간내로 버튼을 누르지 않으면 알람이 울리는 형태로 만들어보도록 하겠습니다. 실제 부저를 부착하는 대신 LED로 대신하여 제작해보도록 하겠습니다. 보안 시스템의 주요 동작을 구현한 것으로, FSM (유한 상태 기계)을 사용하여 시스템의 상태를 관리합니다. 시스템은 클록 신호(CLK), 리셋 신호(RST), 사용자 입력 키(KEY), 그리고 센서 입력(SENSOR)에 의해 제어됩니다. 이 시스템은 네 가지 주요 상태를 가지며, 각 상태는 알람 시스템의 동작을 결정합니다. 더보기Security Module`timescale 1ns / 1psmodule my_security( input.. 2024. 5. 31. Verilog HDL 실습 (FSM) 오늘은 FSM을 Verilog HDL로 만들어보겠습니다. FSM이란? 유한 상태 기계(finite-state machine, FSM)는 컴퓨터 프로그램과 전자 논리 회로를 설계하는 데에 쓰이는 수학적 모델이다. 간단히 '상태 기계'라고 부르기도 한다. 많은 디지털 시스템에서 System 및 Data Flow Path의 동작을 제어하는 데 사용되는 Sequential 회로입니다. 현재 상태 Current state 와 input에 따라 다음 상태 Next state가 결정이 됩니다. Verilog로 컨트롤러를 설계한다고 했을 때 FSM을 이용하면 비교적 쉽게 설계할 수 있습니다. If else 분기문을 통해서 설계할 수 있으나 HW는 동시성의 개념이 있기 때문에 If else를 여기저기 남발하다가 나도.. 2024. 5. 31. 이전 1 2 3 4 5 6 다음