TMS320F28X 개발보드 V2 예제
[F28P65x / CPU1] 개발보드 2채널 가변전압 출력 회로 테스트 (Potentiometer ADC)
인터럽트
2026.09.18 12:35:03
조회수 6
1. 실습 안내
본 예제는 TMS320F28P65x(F28P650DK9 산업용 / F28P659DK8-Q1 차량용) 제어 모듈이 탑재된 TMS320F28X 개발보드(EVM) V2를 대상으로 합니다.F28P65x 칩의 온칩 12비트 ADC(Analog-to-Digital Converter) 모듈을 사용하여 개발보드의 '(9) 가변 전압 출력 2채널' 회로에 마련된 로터리 가변저항(Potentiometer)에서 출력되는 0.0V ~ 3.3V 아날로그 전압을 읽어내어 디지털 값으로 변환합니다.
보드 상의 노브(가변저항)를 손으로 회전시키면 입력 전압에 비례하여 12비트 디지털 코드(0 ~ 4095) 및 밀리볼트(0 ~ 3300 mV) 단위로 실시간 환산되는 결과를 CCS 상에서 직관적으로 관찰할 수 있습니다.
2. 실습 준비
본 예제는 아래의 개발환경에서 테스트 되었습니다.1) CCS 버전 : Code Composer Studio v12.x / v20.x / v21.x (Theia)
2) 컴파일러 버전 : TI v22.6.x.LTS 이상
3) 개발보드 : TMS320F28X 개발보드 V2
4) 프로세서 모듈 : 싱크웍스 TMS320F28P65x 모듈 (F28P650DK9 / F28P659DK8-Q1)
5) 예제버전 : v1.0
6) 프로젝트 구성 : 학습 목적에 따라 3가지 버전을 모두 제공합니다.
- Bitfield : AdcaRegs 레지스터를 직접 조작하는 전통적인 C2000 펌웨어 구현 (초경량/고속)
- Driverlib : TI 표준 HAL API 라이브러리를 활용한 모던 C2000Ware 구현 (가독성/이식성)
- FreeRTOS : 실시간 운영체제 태스크 스케줄링 기반 구현
3. 실습 예제 다운로드 (GitHub ZIP 다운로드 안내)
초보자분들도 손쉽게 다운로드하여 사용하실 수 있도록 전체 소스 코드를 GitHub에 공개해 두었습니다.아래 안내에 따라 ZIP 압축 파일로 다운로드하세요.
[다운로드 순서]
① 아래의 링크를 클릭하여 GitHub 저장소 페이지로 이동합니다.
>> [GitHub] EVM_V2_F28P65x_09_VariableVoltage2Ch 저장소 바로가기
(※ 다이렉트 ZIP 다운로드 : EVM_V2_F28P65x_09_VariableVoltage2Ch.zip 클릭하여 바로받기)
② GitHub 페이지 우측 상단의 초록색 <> Code ▼ 버튼을 클릭합니다.
③ 나타나는 메뉴 맨 아래의 Download ZIP 항목을 클릭하여 압축 파일을 다운로드합니다.
④ 다운로드한 ZIP 파일의 압축을 해제합니다.
- 권장 설치 경로 : C:SyncWorksTMS320F28X_EVM_V2_28P65x9_VariableVoltage2Ch
(※ 주의 : 경로 상에 한글이나 공백이 포함되지 않도록 주의해 주세요.)
4. CCS 프로젝트 불러오기 (CCS V20 기준) 및 컴파일
① Code Composer Studio(CCS)를 실행합니다.② 상단 메뉴에서 File > Import Projects... 를 클릭합니다.
③ Specify Search Directory 버튼을 눌러 앞서 압축을 해제한 폴더를 선택합니다.
④ 검색된 프로젝트 목록 중 실습하고자 하는 프로젝트(Bitfield, Driverlib, FreeRTOS 중 원하는 프로젝트)를 체크하여 선택합니다.
⑤ Finish 버튼을 클릭하여 프로젝트를 워크스페이스로 불러옵니다.
⑥ 프로젝트를 마우스 우클릭하여 Build Project를 수행합니다. (기본 설정: CPU1_RAM 또는 필요 시 CPU1_FLASH)
5. 예제 실행을 위한 하드웨어 점퍼선 연결 안내
개발보드 B Side 핀-헤더와 개발보드 상단의 '(9) 가변 전압 출력 2채널' 핀-헤더를 점퍼 케이블(암-암) 2가닥으로 아래와 같이 연결하세요.| 채널 | 가변전압 회로 출력 단자 | EVM V2 B-Side 핀-헤더 | 할당 신호명 | 전압 범위 |
| 1채널 | 출력 1 (가변저항 1) | B Side 111번 핀 | ADCINA0 (AIO227) | 0.0V ~ 3.3V 가변 |
| 2채널 | 출력 2 (가변저항 2) | B Side 109번 핀 | ADCINA1 (AIO228) | 0.0V ~ 3.3V 가변 |
* F28P65x에서 ADCINA0/A1은 전용 아날로그 핀이 아닌 AIO227/AIO228로 디지털 GPIO와 공유되므로 내부 아날로그 스위치(GPHAMSEL, AGPIOCTRLH)를 아날로그 모드로 설정해야 합니다. (본 예제 소스 코드에서 해당 레지스터 설정이 완벽하게 처리되어 있습니다.)
(클릭하시면 큰 이미지로 자세히 확인하실 수 있습니다.)
6. 예제 실행 및 동작 확인
① JTAG 에뮬레이터를 연결하고 디버그(Debug, F11) 후 실행(Resume, F8)합니다.② CCS WATCH 창 관찰 (기존 Expressions) :
상단 메뉴 View > Watch (기존 CCS v12 이하는 View > Expressions) 창을 열고 아래 변수를 등록합니다.
- `adcResultCh1`, `adcResultCh2` : 12비트 ADC 원본 변환 코드 (0 ~ 4095)
- `adcVoltageCh1_mV`, `adcVoltageCh2_mV` : 밀리볼트(mV) 환산 전압 (0 ~ 3300 mV)
- `conversionCount` : ADC 변환 루프 누적 카운트
③ 가변저항 조작 확인 :
WATCH 창의 Continuous Refresh를 켜두고 보드 9번 구역의 로터리 가변저항 1, 2번을 돌리면, 전압이 0 mV에서 3300 mV(3.3V)까지 부드럽게 실시간으로 변화하는 것을 확인할 수 있습니다.
| 번호 | 제목 | 작성자 | 날짜 |
|---|
- 1




