본문 바로가기

SPI

(27)
ESP8266 SPI 테스트 - MAX31855 를 이용한 써모 커플 온도 읽기 ESP8266 SPI 테스트 - MAX31855 를 이용한 써모 커플 온도 읽기 [ESP8266-SSM EVM] 보드의 SPI포트는 IO12~IO14에 할당 되어 있다. Arduino Code 이므로 라이브러리 함수를 사용하면 쉽게 출력 할수 있다. SPI 방식의 MAX31855 온도 센서 모듈을 이용하여 온도 값을 읽어 오는 예제를 테스트 해 보았다. MAX31855 온도 센서 모듈은 SSM-EVM Type 핀맵에 호환되고 SSM-EVM 확장 테스트 보드에 연결하면 쉽게 테스트 가능하다. MAX31855를 테스트 하기 위해 기존 SPI 코드를 이용해도 되지만 Ardino 예제를 이용해 보고 싶어서 Arduino 라이브러리를 검색해서 추가 하였다. 기본 제공 예제를 이용하면 써모커플의 온도 값을 가져오는..
MSP432 EVM - SPI테스트 MSP432 EVM - SPI테스트 [MSP432 EVM] 보드의 SPI 포트는 UCB1 P6.2, P6.3, P6.4, P6.5에 할당되어 있다. SPI로 핀을 할당하기 위해 코드에서 아래와 같이 설정해 주면 된다. void PinMuxConfig(void){ // // Configure P6.3 for EUSCI_B1_SPI_I2C EUSCI_B1_SPI_I2C.CLK // MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P6, GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION); // // Configure P6.4 for EUSCI_B1_SPI_I2C EUSCI_B1_SPI_I2C.SIMO // MAP_GPIO_setAsP..
TM4C123 - SPI 테스트 (3축 가속도 센서) TM4C123 - SPI 테스트 (3축 가속도 센서) TM4C123 의 SPI 기능을 테스트 해 보았다.최대 SPI클럭이 25 MHz까지 동작 가능하고 FIFO를 내장하고 있다. 특이사항으로 4채널의 SPI블럭을 사용할 수 있어서 SPI블록이 많이 필요한 어플리케이션에 좋을것 같다. TM4C123 EVM 보드에서는 PA2, PA3, PA4, PA5 에 SPI를 할당해 두었다. TM4C123 의 SPI블록도 TM4C123 의 SPI 핀맵TM4C 는 최대 4채널의 SPI모듈을 제공한다. 핀맵을 아래와같이 설정 가능하다. TM4C123 의 SPI 초기화 함수TI의 기존 Cortex-M3 코어와 코드를 호환하도록 제작되어 있기 때문에 코드 변경없이 그대로 사용가능하다. 물론 초기화 코드는 약간의 수정이 필요하다..
M052LBN EVM - SPI 테스트 M052LBN EVM - SPI 테스트 M052LBN는 저렴한 MCU임에도 2채널의 SPI를 제공한다. FIFO있고 SPI속도도 빠르다. M052LBN SPI 블록도 M052LBN SPI 초기화 함수void SPI0_Init(void){SYS_UnlockReg(); CLK_EnableModuleClock(SPI0_MODULE); /* Set multi function pin for SPI1 */ //SYS->P0_MFP = SYS_MFP_P04_SPISS1 | SYS_MFP_P05_MOSI_1 | SYS_MFP_P06_MISO_1 | SYS_MFP_P07_SPICLK1; SYS->P1_MFP = SYS_MFP_P15_MOSI_0 | SYS_MFP_P16_MISO_0 | SYS_MFP_P17_SPICLK0..
LM3S101 SPI 테스트 LM3S101 SPI 테스트 LM3S101 SPI 초기화 함수//----------------------------------------------------------------// SPI 통신 초기화 함수void SPI0_Init(void) {SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5);GPIOPadConfigSet(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5, GPIO_STRENGTH_4MA, GPIO_PIN_TYPE_STD_WPU); SSIConfigSetExpClk(SSI0_BASE, Sy..
STM8S - SPI 테스트 STM8S - SPI 테스트 STM8S의 SPI는 최대 클럭 스피드 10Mhz로 동작한다. 동급의 8bit MCU인 AVR과 비교하면 조금더 성능이 좋아 보인다.S-Type EVM 보드를 이용하여 SPI인터페이스의 가속도센서를 테스트 해 보았다. STM8S SPI블록도8bit MCU의 전형적이 SPI구조 이고 AVR과 비교 했을때 큰 차이가 없어 보인다. STM8S SPI초기화 함수void SPI0_Init(void){SPI_DeInit();SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_32, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLE..
LPC812 EVM - SPI 테스트 LPC812 EVM - SPI 테스트LPC812는 2개의 SPI를 내장하고 있다. 저가격 소형 칩이라도 기능은 막강하다. 특히 SWITCH MATRIX 방식으로 SPI 핀맵을 원하는 형태로 할당 할 수 있기 때문에 상상히 유연성이 좋은것 같다.SPI의 최대 클럭 속도는 메인클럭인 30Mhz까지 출력 가능하다. LPC812 SPI 블록도 LPC812 EVM 에서 SPI 핀맵할당LPC812 EVM에서 SPI핀맵은 아래와같이 할당 했고 Switch Matrix Tool을 이용하여 코드 생성을 쉽게 할 수 있다. LPC812 SPI 초기화 함수void SPI0_Init(void){ /* Enable SWM clock */ LPC_SYSCON->SYSAHBCLKCTRL |= (1PINASSIGN4 = 0xffff..
XMC1300 EVM - SPI 테스트 (Infineon Cortex-M0) [XMC1300 EVM] - SPI 테스트 (Infineon Cortex-M0) XMC 시리즈는 시리얼 통신( UART, SPI, I2S, I2C )을 동일한 블록으로 만들어 두고 모드로 선택해서 사용할수 있도록 되어 있다.장단점이 있을것 같은데... 장점으로 동일한 셋팅으로 사하기 때문에 소프트웨어 부담이 줄어든다. 반면 2채널 밖에 없기 때문에 여러 통신을 동시에 사용할때 어려움이 있다. XMC1300 SPI 블록도 XMC1300 SPI 핀맵XMC의 핀기능은 하나의 포트에 여러가지 기능을 사가능하도록 해 두었는데, 다만 기능들이 일관성이 없어 데이터시트 상에 핀의 기능을 확인할 때 주의가 필요한것 같다. SPI 기능핀은 여러핀 리맵가능한것 처럼 되어 있지만 사실 상당히 제한적으로 설정 가능하다. 데이..