본문 바로가기

SPI

(46)
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 기능핀은 여러핀 리맵가능한것 처럼 되어 있지만 사실 상당히 제한적으로 설정 가능하다. 데이..
K20 EVM - SPI 테스트 3축 가속도 센서값을 TFT LCD 그래프로 표시하기 K20 EVM - SPI 테스트 3축 가속도 센서값을 TFT LCD 그래프로 표시하기 SPI 를 쉽고 재미 있게 테스트하기 위해 가속도 센서를 활용할 수 있다. LIS3LV02 3축 가속도 센서를 SPI모드로 설정하고 확장 EVM보드에 연결하여 테스트 할 수 있다. SPI 방식으로 센서를 설정하거나 3축 가속도 센서값을 읽을 수 있다. K20 SPI모드 가속도 센서 테스트 동영상 K20 가속도 센서 테스트 드라이버 코드//-----------------------------------------------------------------------------// myAccel3LV02 HAL#define MY_ACCEL3LV02_SPI_MODE1#define MY_ACCEL3LV02_I2C_MODE0 #..
MSP430FR5739 EVM - eUSCI SPI 통신 테스트 MSP430FR5739 EVM - eUSCI SPI 통신 테스트 MSP430FR5739의 SPI역시 기존과 약간의 변화가 있는것 같다. 설계 할때 잘 해둘필요가 있는데... 아무튼 다시 한번 정리해 본다. MSP430FR5739 SPI 블록도 MSP430FR5739 SPI 핀맵 설정 SEL 레지스터를 이용하여 SPI기능을 할당할 수 있다. 다른 MSP430시리즈와 달리 SEL0, SEL1으로 두개의 레지스터가 있다. //USCIA1 for MSP430FR5739 #define _SPI1_PxSEL P2SEL0 #define _SPI1_PxSEL1 P2SEL1 #define _SPI1_PxDIR P2DIR #define _SPI1_PxIN P2IN #define _SPI1_SIMO BIT5 #define ..
[adStar EVM] SPI 테스트 [adStar EVM] SPI 테스트 adStar는 2채널의 SPI가 있다. CANTUS에서는 HDSC와 핀이 겹쳐서 아쉬울 때가 있었는데... 2채널이 되어 상당히 편해 졌다. 핀맵은 아래와 같다. P0.0/SPWM2L_P/SPI0_nCS/TWI_SCL P0.1/SPWM2L_N/SPI0_MISO/TWI_SDA P0.2/SPWM2R_P/SPI0_MOSI/nCS1 P0.3/SPWM2R_N/SPI0_SCK/nCS2 P5.1/IIS_LRCLK0/SPI_MOSI1/A1 P5.0/IIS_SCLK0/SPI_MISO1/A0P4.7/IIS_SDI0/SPI_CS1/TMO3 P4.6/IIS_MCLK/SPI_SCK1/CAP3 CANTUS와 코어는 동일하지만 2개의 SPI가 존재 하므로 기존 코드어세 약간의 수정이 필요하다...
[PIC16F73] SPI 테스트 [PIC16F73] SPI 테스트 - FOSC/4 (or TCY) - FOSC/16 (or 4 • TCY) - FOSC/64 (or 16 • TCY) - (Timer2 output)/2 data rate of 5 Mbps(at FOSC = 20 MHz). PIC16F723 SPI 블록도 PIC16F723 SPI 레지스터 PIC16F723 SPI초기화 함수 void SPI0_Init(void) { //RC3 pin => SCK output //RC4 pin => SDI input //RC5 pin => SDO output SSPBUF = 0x00; //SSPBUF Clear ADCON1 = 0x06; Cbi(TRISC, (BIT3|BIT5)); Sbi(TRISC, (BIT4)); SSPSTAT = 0; S..
[TMS320C6720] SPI 테스트 - 3축 가속도 센서 CCS 를 이용한 그래프표시 하기 [TMS320C6720] SPI 테스트 - 3축 가속도 센서 CCS 를 이용한 그래프표시 하기 TMS320C6720에는 UART는 없지만 SPI포트가 2채널 있다. 테스트 결과 최대 클럭 스피드는 50Mhz(100Mhz//(1+1))까지 출력은 가능하다. FIFO가 없긴하지만, 클럭 설정도 유연하게 설정가능한것 같고...DMA도 지원한다니 SPI인터페이스에 좋을것 같다. TMS320C6720SPI 관련 블록도 TMS320C672x SPI 주요 레지스터 SPIFMTx 레지스터 17 : POLARITY 16 : PHASE 15-8 : PRESCALE[7:0] BR = SYSCLK2/(PRESCALEx + 1) SPIDATx : 송신 버퍼 SPIBUF : 수신 버퍼 TMS320C6720 SPI Read/Wri..

반응형