본문 바로가기

MCU83

TMS320F28377D DSP eQEP 사용법 : Bitfield 구조 활용 예제 코드(수정) 1. TMS320F28377D eQEP 모듈 개요TI의 TMS320F28377D는 C2000 Delfino 시리즈의 32비트 마이크로컨트롤러로, 모터 제어 및 엔코더 기반 위치/속도 감지에 최적화된 eQEP(Enhanced Quadrature Encoder Pulse) 모듈을 제공합니다. eQEP 모듈은 로터리 엔코더 또는 리니어 엔코더 신호를 처리하여 위치, 방향, 속도를 측정합니다. 이 문서에서는 eQEP 모듈의 설정 방법, Bitfield 구조를 활용한 레지스터 설정, 그리고 실용적인 예제 코드를 제공하여 초보자와 숙련된 개발자 모두가 쉽게 활용할 수 있도록 돕겠습니다.주요 사양모듈 수: 최대 3개 독립적인 eQEP 모듈(eQEP1~eQEP3)입력 신호:QEPA, QEPB (직교 펄스 신호)QEPI.. 2025. 8. 17.
TMS320F28377D DSP ePWM 사용법 : Bitfield 구조 활용 예제 코드(수정) TI의 TMS320F28377D는 C2000 Delfino 시리즈의 32비트 마이크로컨트롤러로, 모터 제어, 전력 변환, LED 조명과 같은 고속 PWM(펄스 폭 변조) 애플리케이션에 최적화되어 있습니다. ePWM(Enhanced Pulse Width Modulation) 모듈은 고해상도 PWM 신호 생성, 타이밍 제어, 트리거 생성 등 다양한 기능을 제공합니다. 이 글에서는 TMS320F28377D ePWM 모듈의 상세한 설정 방법, Bitfield 구조를 활용한 레지스터 설정, 그리고 실용적인 예제 코드를 제공하여 초보자와 숙련된 개발자 모두가 쉽게 활용할 수 있도록 돕겠습니다.1. TMS320F28377D ePWM 모듈 개요TMS320F28377D는 최대 16개의 독립적인 ePWM 모듈(ePWM1~.. 2025. 8. 17.
TMS320F28388D DSP DMA 사용법: DriverLib API로 DMA 설정 및 코드(수정) 1. TMS320F28388D DMA 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈 32비트 마이크로컨트롤러로, 최대 6개의 DMA(Direct Memory Access) 채널을 제공합니다. DMA 모듈은 CPU 개입 없이 메모리 간 데이터 전송을 처리하여 실시간 애플리케이션에서 효율적인 데이터 이동을 가능하게 합니다. 모터 제어, 데이터 로깅, ADC 결과 처리 등에 적합합니다.DMA 모듈의 주요 특징채널: 6개의 독립적인 DMA 채널 제공.트리거 소스: ePWM, ADC, SPI, McBSP, 외부 인터럽트 등 다양한 트리거 소스 지원.전송 모드: 단일 전송, 블록 전송, 버스트 전송 지원.데이터 크기: 16비트 또는 32비트 단위 전송.메모리 액세스: RAM, F.. 2025. 8. 17.
TMS320F28388D DSP SPI 사용법: DriverLib API로 SPI 설정 및 코드(수정) 소개이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 SPI(Serial Peripheral Interface) 모듈을 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 SPI 모듈을 활용하여 SPI 통신을 구현하는 방법을 배우고, 다양한 독립적인 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드에는 상세한 주석이 포함되어 있으며, Code Composer Studio(CCS) 환경에서 실행 가능합니다.1. TMS320F28388D SPI 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에 속하는 32비트 마이크로컨트.. 2025. 8. 17.
TMS320F28388D DSP CAN 사용법: DriverLib API로 CAN 설정 및 코드(수정) 소개이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 CAN(Controller Area Network) 모듈을 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 CAN 모듈을 활용하여 CAN 통신을 구현하는 방법을 배우고, 다양한 독립적인 예제 코드를 통해 actual implementation 방법을 익힐 수 있습니다. 각 코드에는 상세한 주석이 포함되어 있으며, Code Composer Studio(CCS) 환경에서 실행 가능합니다.1. TMS320F28388D CAN 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에 속하는.. 2025. 8. 17.
TMS320F28388D DSP SDFM 사용법: DriverLib API로 SDFM 설정 및 코드(수정) 이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 SDFM(Sigma-Delta Filter Module) 모듈을 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 SDFM 모듈을 활용하여 시그마-델타 아날로그 신호를 디지털 데이터로 변환하는 방법을 배우고, 다양한 독립적인 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드에는 상세한 주석이 포함되어 있으며, Code Composer Studio(CCS) 환경에서 실행 가능합니다.1. TMS320F28388D SDFM 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에.. 2025. 8. 17.
TMS320F28388D DSP CLB 사용법: DriverLib API로 CLB 설정 및 코드(수정) 이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 CLB(Configurable Logic Block)를 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 CLB 모듈을 활용하여 사용자 정의 논리 및 복잡한 타이밍 제어를 구현하는 방법을 배우고, 다양한 독립적인 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드에는 상세한 주석이 포함되어 있으며, Code Composer Studio(CCS) 환경에서 실행 가능합니다.1. TMS320F28388D CLB 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에 속하는 고성능.. 2025. 8. 17.
TMS320F28388D DSP CLA 사용법: DriverLib API로 CLA 설정 및 코드(수정) 이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 CLA(Control Law Accelerator)를 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 CLA 모듈을 활용하여 병렬 연산을 수행하는 방법을 배우고, 다양한 독립적인 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드에는 상세한 주석이 포함되어 있으며, Code Composer Studio(CCS) 환경에서 실행 가능합니다.1. TMS320F28388D CLA 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에 속하는 고성능 32비트 마이크로컨트롤러로, C.. 2025. 8. 17.
TMS320F28388D DSP EMIF 사용법: DriverLib API로 EMIF 설정 및 코드(수정) 이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 외부 메모리 인터페이스(EMIF, External Memory Interface) 모듈을 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 EMIF를 활용하여 외부 SRAM, SDRAM, 또는 병렬 장치(ADC, FPGA)와 통신하는 방법을 배우고, 독립적인 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드는 상세한 주석을 포함하며, Code Composer Studio(CCS) 환경에서 실행 가능합니다.1. TMS320F28388D EMIF 개요TMS320F28388D는 Texas Instrumen.. 2025. 8. 17.
TMS320F28388D DSP eQEP 사용법: DriverLib API로 eQEP 설정 및 코드(수정) 1. TMS320F28388D eQEP 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에 속하는 고성능 32비트 마이크로컨트롤러로, 최대 4개의 eQEP(Enhanced Quadrature Encoder Pulse) 모듈을 제공합니다. eQEP 모듈은 로터리 인코더 또는 리니어 인코더를 사용하여 모터의 위치, 속도, 방향을 정밀하게 측정하는 데 최적화되어 있습니다. 이는 모터 제어, 로보틱스, 산업 자동화 등에서 필수적인 기능을 제공합니다.eQEP 모듈의 주요 특징쿼드러처 디코딩: A, B, I(인덱스) 신호를 분석하여 위치와 방향을 감지.위치 카운터: 32비트 카운터로 고해상도 위치 추적 가능.속도 계산: 단위 시간당 펄스 수 또는 펄스 간 시간을 통해 속도 계산.인덱.. 2025. 8. 17.
TMS320F28388D DSP eCAP 사용법: DriverLib API로 eCAP 설정 및 코드(수정) 이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 eCAP(Enhanced Capture) 모듈을 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 eCAP 모듈을 활용하여 외부 신호의 타이밍 이벤트를 캡처하거나 PWM 신호를 분석하는 방법을 배우고, 다양한 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드는 Code Composer Studio(CCS) 환경에서 바로 컴파일 및 실행 가능하며, 상세한 주석과 계산식을 포함합니다.1. TMS320F28388D eCAP 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에.. 2025. 8. 17.
TMS320F28388D DSP ePWM 사용법: DriverLib API로 ePWM 설정 및 코드(수정본) 이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 ePWM(Enhanced Pulse Width Modulation) 모듈을 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 ePWM 모듈을 활용하여 PWM 신호를 생성하는 방법을 배우고, 다양한 독립적인 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드에는 상세한 주석이 포함되어 있으며, Code Composer Studio(CCS) 환경에서 실행 가능합니다.1. TMS320F28388D ePWM 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에 속하는 고성능 32.. 2025. 8. 16.
AVR128DA48 Modbus ASCII 슬레이브 구현 1. 개요 (Overview)이 문서는 AVR128DA48 마이크로컨트롤러를 위한 Modbus ASCII 슬레이브 구현을 설명합니다 (This document describes the implementation of a Modbus ASCII slave for the AVR128DA48 microcontroller). MPLAB X IDE와 XC8 컴파일러를 사용하며, 주요 Modbus 기능 코드를 모두 지원하고, UART 인터럽트와 링 버퍼를 활용하여 데이터를 효율적으로 처리합니다 (It uses MPLAB X IDE and XC8 compiler, supports all major Modbus function codes, and utilizes UART interrupts and a ring buff.. 2025. 8. 16.
AVR128DA48 Curiosity Nano를 아두이노 보드 만들기 | 어셈블리 코드로 1602 LCD 제어(Controlling 1602 LCD with AVR128DA48 Curiosity Nano Using Arduino DxCore) 1. 소개 (Introduction)이 글은는 AVR128DA48 Curiosity Nano 마이크로컨트롤러(24MHz 시스템 클럭)를 사용하여 PCF8574 I/O 확장 칩을 통해 I2C로 1602 LCD를 제어하는 최적화된 방법을 설명합니다 (This report explains an optimized method for controlling a 1602 LCD using the AVR128DA48 Curiosity Nano microcontroller (24MHz system clock) via a PCF8574 I/O expander over I2C).시스템은 첫 번째 줄에 "Count: "와 0~99 카운터를 표시하고, 두 번째 줄에 "end of count!"를 표시한 후 1초마다 화면을 지웁.. 2025. 8. 14.
STM32로 Modbus RTU Slave 코드 구현: DMA와 저전력 최적화 모드버스 RTU는 산업 자동화에서 널리 사용되는 통신 프로토콜입니다. 이 글에서는 STM32L432KC 마이크로컨트롤러를 사용해 Modbus RTU 슬레이브를 구현하는 방법을 설명합니다. DMA, 링버퍼, 저전력 모드, 80MHz 클럭을 활용해 최적화된 코드를 제공하며, 초보자와 숙련자 모두를 위해 상세한 주석과 설명을 포함하였습니다.1. 모드버스 RTU 개요모드버스 RTU(Remote Terminal Unit)는 모드버스 프로토콜의 바이너리 기반 변형으로, 주로 시리얼 통신(RS-232, RS-485, RS-422)을 통해 산업 자동화 환경에서 장치 간 데이터를 교환하는 데 사용됩니다. 모드버스 RTU는 마스터-슬레이브 구조를 따르며, 간단하고 효율적인 데이터 전송으로 인해 PLC, SCADA, HMI.. 2025. 8. 13.
Arduino UNO R4: RA4M1 I2C 드라이버 구현 (Implementing I2C Driver with RA4M1) 1. I2C 프로토콜이란? (What is the I2C Protocol?)I2C(Inter-Integrated Circuit)는 마스터와 슬레이브 간의 직렬 통신 프로토콜입니다 (I2C is a serial communication protocol between master and slave devices). Arduino UNO R4에서 센서, LCD 등 다양한 장치와 통신하는 데 사용됩니다 (It is used to communicate with sensors, LCDs, and other devices on Arduino UNO R4). 주요 특징은 다음과 같습니다 (Key features include):SDA (Serial Data): 데이터 전송 라인 (Data transmission lin.. 2025. 8. 13.
STM32G474 를 이용한 동일 어드레스를 갖는 64채널 I2C 디바이스 제어 목적: STM32G474 마이크로컨트롤러와 TCA9548A I2C 멀티플렉서를 사용하여 동일한 I2C 주소를 가진 64개 디바이스를 제어하는 방법을 구현하고 설명한다.1. 개요본 내용은 STM32G474를 사용하여 동일한 I2C 주소를 가진 64개 디바이스를 제어하기 위해 TCA9548A I2C 멀티플렉서를 활용한 구현 방법을 기술한다. TCA9548A의 A0~A2 핀은 하드웨어적으로 고정되어 있으며, 단일 채널 번호(0~63)를 입력받아 TCA 인덱스와 내부 채널을 계산하는 간소화된 함수를 제공한다. 코드는 STM32CubeIDE와 HAL 라이브러리를 기반으로 작성되었으며, 데이터 읽기/쓰기 기능을 지원한다.2. 시스템 구성2.1 하드웨어 구성마이크로컨트롤러: STM32G474 (I2C1 사용, SCL.. 2025. 8. 12.
STM32H503RB I3C 통신 코드 구현: 초보자를 위한 상세 가이드 MIPI I3C(Improved Inter-Integrated Circuit)는 I2C의 후속 프로토콜로, 최대 12.5MHz의 데이터 전송 속도, 저전력 설계, 동적 주소 지정, 인-밴드 인터럽트(IBI)를 제공합니다. STM32H5 시리즈는 I3C 하드웨어 컨트롤러를 내장하여 센서, 메모리, 카메라 등과 효율적으로 통신할 수 있습니다. 이 가이드는 STM32H5(NUCLEO-H503RB)와 LSM6DSO 센서(X-NUCLEO-IKS01A3)를 사용해 I3C 통신을 구현하는 방법을 단계별로 설명합니다. 동적 주소 지정, 가속도 데이터 읽기, IBI 처리, UART 디버깅을 포함하며, STM32CubeMX와 STM32CubeIDE를 활용합니다. 모든 코드에는 이해를 돕도록 상세 주석을 추가하였습니다.키워.. 2025. 8. 10.
TMS320F28388D DSP ADC 사용법: DriverLib API로 ADC 설정 및 코드(수정) 이 문서에서는 Texas Instruments의 TMS320F28388D 마이크로컨트롤러에서 **ADC(아날로그-디지털 컨버터)**를 DriverLib API를 사용하여 설정하고 사용하는 방법을 상세히 다룹니다. C2000 시리즈의 고성능 마이크로컨트롤러인 TMS320F28388D의 ADC 모듈을 활용하여 아날로그 신호를 디지털로 변환하는 방법을 배우고, 다양한 독립적인 예제 코드를 통해 실제 구현 방법을 익힐 수 있습니다. 각 코드에는 상세한 주석이 포함되어 있으며, Code Composer Studio(CCS) 환경에서 실행 가능합니다. 1. TMS320F28388D ADC 개요TMS320F28388D는 Texas Instruments의 C2000 시리즈에 속하는 고성능 32비트 마이크로컨트롤러로, .. 2025. 8. 8.
TMS320F28388D DSP CPU 타이머 사용법 : Driverlib API로 CPU 타이머 설정과 예제(수정본) TMS320F28388D는 Texas Instruments의 C2000 시리즈 마이크로컨트롤러로, 실시간 제어 애플리케이션에 최적화된 32비트 CPU 타이머를 제공합니다. 이 가이드에서는 TMS320F28388D의 CPU 타이머 구조, 모든 DriverLib API의 상세 설명, 그리고 상세 주석이 포함된 예제 코드를 제공합니다. 초보자부터 숙련된 개발자까지 활용 가능한 실용적인 정보를 제공하며, C2000Ware의 DriverLib를 기반으로 한 예제를 포함합니다.TMS320F28388D CPU 타이머란TMS320F28388D는 CPU1과 CPU2 각각에 3개의 32비트 타이머(Timer0, Timer1, Timer2)를 제공하여 총 6개의 타이머를 지원합니다. 이 타이머들은 주기적 인터럽트, 시간 측.. 2025. 8. 8.