정보 및 신제품 안내

[안내] F2838x MCU 모듈, 트레이닝 키트에서 TI 예제 실행하기

싱크웍스 (IP: 115.23.241.***) 2024.03.12 13:26:03 조회수 1,120

(본 안내는 2024년 3월 11일 이후 구매하신 F2838x MCU 모듈 및 TR2838x 트레이닝 키트 제품에 해당됩니다.)

 

 

싱크웍스의 TMS320F2838x 칩 기반 MCU 모듈 및 트레이닝 키트 제품에는 20MHz의 Crystal(X-TAL)이 칩 외부 클럭 원으로 적용되어 있습니다. 반면, TI가 C2000Ware를 통해 제공하는 기본 예제들의 경우 25MHz의 외부 클럭 원이 TMS320F2838x 칩에 연결되어 있음을 가정하여 작성되어 있습니다. 따라서, 싱크웍스의 F2838x MCU 모듈이나 TR2838x 트레이닝 키트 제품에 TI의 예제를 Load 하고 실행하려면 아래와 같이 클럭 관련 설정을 수정해주셔야 합니다.


>> 1. 비트 조작 기반 예제 수정방법 (클릭)
>> 2. 드라이버 라이브러리 기반 예제 수정방법 (클릭)
>> 3. SysConfig 사용 시, 클럭 설정 예 (클릭)


[1. Legacy Bit-field approach examples]

이전 세대의 28X 칩부터 적용되어 온 방식이며, 칩의 MMR(Memory Mapped Register)을 직접 조작하는 방식으로 28X CPU 및 주변회로들에 대한 초기화 및 운용을 다루는 방식입니다. TI C2000Ware 설치 시, 아래의 경로에 이 방법을 기반으로 한 칩-지원 소스 및 헤더 파일들과 예제들이 수록되어 있습니다.

>> C:/ ti / c2000 / C2000Ware_x_xx_xx_xx / device_support / f2838x / ...

TI의 비트 조작 기반 예제들은 25MHz External Crystal(X-TAL)이 칩 외부에 설계되어 있음을 기준으로 작성되어 있지만, 20MHz 클럭 설정에 대해서도 간단하게 대응할 수 있도록 칩-지원 소스 및 헤더가 미리 작성되어 있습니다. 사용자는 CCS 프로젝트 전체에 대해 'USE_20MHZ_XTAL' 키워드가 적용되도록만 설정해주면 됩니다.

1-1. CCS Project Explorer 창에서 마우스 우측버튼으로 예제 프로젝트를 선택하면, 단축메뉴가 화면에 나타납니다.
단축메뉴들 중 가장 아래쪽의 'Properties' 를 클릭합니다. (상단메뉴 이용 시, Project --> Properties)

1__164615.png


1-2. 프로젝트 환경설정 창이 나타나면, 좌측 카테고리에서 Build --> C2000 Compiler --> Predefined Symbols 항목을 선택합니다.
그럼 우측에 관련 설정들이 나타나며, 'Pre-define NAME (--define, -D)' 란의 우측 상단 초록색 + 버튼을 클릭합니다.

2__164628.png


1-3. Enter Value 창이 나타나면 USE_20MHZ_XTAL 값을 기록하고 OK 버튼을 클릭합니다.

3__164642.png


1-4. 아래의 이미지와 같이 Pre-define NAME 란에 USE_20MHZ_XTAL 항목이 추가되었다면 모든 설정이 완료된 것 입니다.
창 하단의 Apply and Close 버튼을 클릭해서 변경된 설정을 프로젝트에 적용합니다.

4__164758.png


위의 과정을 완료하면, TI 제공 칩-지원 소스들 중 f2838x_sysctrl.c 파일의 내용 중 아래의 코드가 활성화되며, 20MHz의 외부 클럭을 기준으로 칩의 시스템 클럭을 200MHz로 설정하도록 관련 정의 구문들이 적용됩니다.


5__164848.png


추가로, f2838x_sysctrl.c 파일의 InitSysCtrl( ) 함수 내부의 InitSysPll( ) 함수와 InitAuxPll( ) 함수의 첫번째 전달인자가 XTAL_OSC 인지 확인해주세요. 해당 구문은 f2838x_examples.h 헤더 파일에 정의되어 있으며, 싱크웍스 F2838x MCU 모듈 및 트레이닝 키트는 20MHz 주파수의 Crystal(X-TAL)을 이용하고 있으므로 XTAL_OSC 항목이 사용되어야 합니다.
(참고 : XTAL_OSC_SE 항목은 Single-ended Mode를 의미하며, Crystal 이나 Resonator 가 아닌 Oscillator 사용을 의미합니다.)


6__164859.png


7__164912.png


 

[2. Driverlib. examples]

TI가 F2837x, F2838x 칩부터 그 이후에 출시되는 28X 칩들을 대상으로, 이전부터 지원하던 Bit-field 조작 방식의 칩-지원 소스 및 헤더, 예제를 제공함과 동시에 Driverlib. 라는 이름으로 칩을 다루기 위한 Driver API 함수들을 제공하고 있으며, 이를 기반으로 한 예제들도 제공하고 있습니다. TI C2000Ware 설치 시, 아래의 경로에 Driverlib. 의 API 함수들과 이를 이용한 예제들이 수록되어 있습니다.

>> C:/ ti / c2000 / C2000Ware_x_xx_xx_xx / driverlib / f2838x / ...

TI의 Driverlib. 기반 예제들은 25MHz External Oscillator(Single-ended Mode)가 칩 외부에 설계되어 있음을 기준으로 작성되어 있지만, 20MHz 클럭 설정에 대해서도 간단하게 대응할 수 있도록 관련 코드가 미리 작성되어 있습니다. 사용자는 CCS 프로젝트 전체에 대해 'USE_20MHZ_XTAL' 키워드가 적용되도록만 설정해주면 됩니다.

2-1. CCS Project Explorer 창에서 마우스 우측버튼으로 예제 프로젝트를 선택하면, 단축메뉴가 화면에 나타납니다.
단축메뉴들 중 가장 아래쪽의 'Properties' 를 클릭합니다. (상단메뉴 이용 시, Project --> Properties)

1__165352.png


2-2. 프로젝트 환경설정 창이 나타나면, 좌측 카테고리에서 Build --> C2000 Compiler --> Predefined Symbols 항목을 선택합니다.
그럼 우측에 관련 설정들이 나타나며, 'Pre-define NAME (--define, -D)' 란의 우측 상단 초록색 + 버튼을 클릭합니다.

2__165405.png


2-3. Enter Value 창이 나타나면 USE_20MHZ_XTAL 값을 기록하고 OK 버튼을 클릭합니다.

3__165419.png


2-4. 아래의 이미지와 같이 Pre-define NAME 란에 USE_20MHZ_XTAL 항목이 추가되었다면 모든 설정이 완료된 것 입니다.
창 하단의 Apply and Close 버튼을 클릭해서 변경된 설정을 프로젝트에 적용합니다.


4__165433.png


위의 과정을 완료하면, TI가 제공하는 Driverlib. 지원 소스들 중 device.h 헤더 파일의 내용 중 아래의 코드가 활성화되며, 20MHz의 외부 Crystal 클럭 원을 기준으로 칩의 시스템 클럭을 200MHz로 설정하도록 관련 정의 구문들이 적용됩니다.


5__165449.png


추가로, device.h 헤더파일 DEVICE_SETCLOCK_CFG 구문의 첫번째 항목에 SYSCTL_OSCSRC_XTAL 값이 적용되어 있는지와 DEVICE_AUXSETCLOCK_CFG 구문의 첫번째 항목으로 SYSCTL_AUXPLL_OSCSRC_XTAL 값이 적용되어 있는지 확인해주세요. 해당 값들은 driverlib. 에 포함된 sysctl.h 파일에 정의되어 있으며, 싱크웍스의 F2838x MCU 모듈 및 트레이닝 키트는 20MHz 주파수의 Crystal(X-TAL)을 이용하고 있으므로 SYSCTL_OSCSRC_XTAL 및 SYSCTL_AUXPLL_OSCSRC_XTAL 항목이 사용되어야 합니다.
(참고 : SYSCTL_OSCSRC_XTAL_SE 및 SYSCTL_AUXPLL_OSCSRC_XTAL_SE 항목은 Single-ended Mode를 의미하며, Crystal 이나 Resonator 가 아닌 Oscillator 사용을 의미합니다.)

6__165521.png


 

[3. using the SysConfig Tool]

최근 TI가 그래픽 환경을 통해 칩의 포트나 주변회로들을 초기화 할 수 있도록 SysConfig 라는 툴을 배포하고 있으며, 아직 전체 28X 칩들을 대상으로 모든 기능을 지원하고 있지는 않지만 계속적인 업데이트를 통해 기능을 개선하고 있습니다. 현재 출시된 최신 28X 칩들(F2838x, F28P65x 등)에 대해 이 SysConfig 툴을 기반으로 한 기본 예제들을 제공하고 있으며, 차후 출시될 28X 칩들에 대한 TI 제공 기본 예제들도 이 SysConfig 툴을 기반으로 할 가능성이 높습니다. 이 방법은 SysConfig 라는 GUI 툴과 Driverlib. 가 결합된 형태이며, GUI를 통해 개발자가 조작 및 설정한 칩 포트 및 주변회로들에 대한 각종 파라미터들이 Driverlib. 에 포함된 API 함수들을 이용해서 실제 코드로 구현됩니다.

TI C2000Ware 최신 버전인 v5.01.00.00 의 경우, Driverlib. 를 기반으로 제작된 F2838x 칩 기본 예제들이 대부분 SysConfig + Driverlib. 의 형태로 제공되고 있습니다.

>> C:/ ti / c2000 / C2000Ware_5_01_00_00 / driverlib / f2838x / examples / ...

최신 C2000Ware에 수록된 SysConfig Tool 기반 F2838x용 기본 예제들은 25MHz External Oscillator(Single-ended Mode)가 칩 외부에 설계되어 있음을 기준으로 작성되어 있습니다. 따라서, 싱크웍스의 F2838x MCU 모듈이나 TR2838x 트레이닝 키트에서 해당 예제들을 실행하려면 아래의 이미지 예와 같이 SysConfig 툴의 Clock Tree 설정에서 System PLL 설정(for CPU1, CPU2 Core)과 Auxillary PLL 설정(for CM Core)이 20MHz Crystal(X-TAL) 사용을 기준으로 수정되어야 합니다.
예제에 포함된 SysConfig 환경설정 파일 (*.syscfg) 을 더블클릭하여 열고, 좌측의 Clock Tree 항목을 선택한 후, System PLL, Auxillary PLL 설정을 수정해주세요.

1__165806.png


2__165819.png


각 Clock Tree 블록다이어그램의 'XTAL_OR_X1' MUX 에서 'X1' 항목은 Single-ended Mode로 칩 외부의 클럭 원으로 Oscillator 를 사용하는 경우에 해당되며, 'XTAL' 항목이 Crystal 이나 Resonator 를 칩 외부 클럭 원으로 사용함을 의미합니다.

아래의 예는 SysConfig 툴에서 싱크웍스 F2838x MCU 모듈이나 트레이닝 키트에 맞춰 System PLL 및 Auxillary PLL 항목을 설정한 예 입니다. 아래와 같이 설정되면 20MHz External Crystal(X-TAL)을 기준으로 CPUx Core 클럭은 200MHz, CM Core 클럭은 125MHz로 설정되며, 이는 clocktree.h 파일에 코드로 자동 반영됩니다.

ec2353111c3276b180108d61fcc330ff_165832.png



a46b42f792be2bbc6a7c9712c51ae576_165851.png


 

 

위의 내용에 대해 추가적인 문의사항이 있으시면 웹 기술문의 게시판이나 아래의 싱크웍스 대표번호로 연락을 주세요. 혹은, 카카오톡 싱크웍스 채널을 통해서도 기술문의가 가능합니다.

TEL. 031-781-2812
Kakao. 싱크웍스 카카오채널 페이지 (클릭)


감사합니다.

총 댓글 0
로그인을 하셔야 댓글을 등록하실 수 있습니다.
 

비밀번호 인증

글 작성시 설정한 비밀번호를 입력해 주세요.

닫기