본문 바로가기

전체 글99

[Embedded] STM32 - US Interrupt 이전 글에서 초음파 센서를 GPIO로 통제했다면 이번에는 Interrupt를 이용하여 센서를 동작시켜보도록 하겠습니다. 트리거 & 에코에 대한 설명은 이전 글을 참고해주시길 바랍니다.https://engineeringstudentww.tistory.com/36 [Embedded] STM32 - US GPIO이번에는 초음파 센서를 이용하여 거리를 측정하는 코드를 GPIO를 사용하여 만들어보도록 하겠습니다.  트리거 & 에코 신호 트리거 신호 (Initiate)센서에는 일반적으로 TTL(Transistor-Transistor Logic)engineeringstudentww.tistory.com  먼저 새 프로젝트를 생성합니다. 그 다음 핀을 설정해주도록 하겠습니다.    PB5 신호, 트리거 신호는 출력 모.. 2024. 5. 31.
[Embedded] STM32 - US GPIO 이번에는 초음파 센서를 이용하여 거리를 측정하는 코드를 GPIO를 사용하여 만들어보도록 하겠습니다.  트리거 & 에코 신호 트리거 신호 (Initiate)센서에는 일반적으로 TTL(Transistor-Transistor Logic) 신호를 사용하여 트리거 신호를 입력받습니다. 이 트리거 신호는 센서에 10마이크로초(µs) 동안 고신호를 제공하여 초음파 펄스를 발생시키라는 지시를 합니다. 초음파 펄스 발생 (Internal)트리거 신호를 받은 센서는 40kHz의 초음파 펄스를 발생시킵니다. 이 펄스는 주변의 물체에 부딪혀 반사되어 센서로 돌아옵니다. 에코 신호 수신 (Echo back)반사된 초음파는 센서에 도달하며, 이때의 펄스 폭(에코 신호의 길이)은 물체까지의 거리에 따라 결정됩니다. 에코 신호는 대.. 2024. 5. 31.
[Embedded] STM32 - PWM 보호되어 있는 글 입니다. 2024. 5. 31.
[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.