TMS320F2838x에서 지원하는 최대 SPI Clock speed는 기본적으론 12.5MHz인데 High-speed mode를 사용하면 50MHz까지 가능하다.
High-speed mode를 사용하기 위한 제약사항과 사용 방법을 알아보자.
먼저 연결 시 특정 핀 구성을 따라야만한다.
칩에 SPI 모듈이 4개있는데 각 SPI는 아래 GPIO핀 먹스 옵션을 사용해야만 High-speed SPI를 사용할 수 있다.
그리고 capacitive load 때문에 High-speed mode는 single master에 single slave 연결만 지원한다.
소스코드상에서 해야할 일은?
SPI baud rate의 최대값은 LSPCLK/4 이다. 이건 바꿀 수 없다.
대신 LSPCLK는 defualt로는 SYSCLK/4 = 50MHz인데, SYSCLK/1 = 200MHz로 변경해주면 SPI baud rate를 최대로 50MHz로 설정할 수 있다.
// device.c
void Device_init(void)
{
//...
SysCtl_setLowSpeedClock(SYSCTL_LSPCLK_PRESCALE_1);
//...
}
// device.h
#define DEVICE_LSPCLK_FREQ (DEVICE_SYSCLK_FREQ / 1)
// 초기화 코드
SPI_setConfig(base, lspclkHz, protocol, mode, 50000000, dataWidth);
SPI_enableHighSpeedMode(base);
'임베디드 개발 > TMS320F2838x (C28x)' 카테고리의 다른 글
CCS ] Invalid project path: Missing project folder or file 해결법 (0) | 2024.01.20 |
---|---|
TMS320F28388D ] CCS에서 hex 파일 출력하는법 (0) | 2023.12.28 |
UniFlash 사용 방법 (0) | 2023.09.15 |
TMS320F28388D ] 부트 과정 (0) | 2023.08.16 |
TMS320F28388D ] Reset Sources (0) | 2023.08.14 |