본문 바로가기

SPI

(27)
[W5200 EVM] TCP 전송 속도 테스트 [W5200 EVM] TCP 전송 속도 테스트 W5200을 이용하여 MCU별로 TCP/IP Loopback 전송 속도를 테스트 해 보았다. MCU별 SPI최대 속도도 참고 할 수 있는 자료가 될것 같다. TCP/IP 전송 속도 테스트 결과 참고 PIC32 마이크로 칩사의 PIC32는 SPI최대 속도가 20Mhz임에도 불구 하고 4MBps정도 까지 출력된다. SPI로 데이터 읽고 쓰는데 상당히 빠른것 같다. 저렴하면서 성능이 좋아 가장 마음에 든다. dsPIC33 SPI클럭 13Mhz 에서 최대로 나오며 2.4Mbps 정도 출력 된다. [3] iInChip Send: 2.3772 Mbps(6596649 bytes, 21.1710 sec) iInChip Recv: 2.4131 Mbps(6596649 byte..
[PIC32] W5200(W5100) TCP/IP Boopback 전송 속도 Test [PIC32] W5200(W5100) TCP/IP Boopback 전송 속도 Test 마이크로 칩사의 PIC32는 SPI최대 속도가 20Mhz임에도 불구 하고 4MBps정도 까지 출력된다. SPI로 데이터 읽고 쓰는데 다른 MCU보다 상당히 빠른것 같다. 저렴하면서 성능이 좋아 가장 마음에 든다. (SPI 효율은 가장 뛰어난것 같다.) TCP/IP 전송 속도 테스트 결과 참고 PIC32 W5200 제어 HAL 드라이버 코드 #define _SPI0_ENABLE 1 //----------------------------------------------------------------------------- // W5100 HAL #define W5100_CS_PORT LATG #define W5100_CS..
[LM3S8962 EVM] SPI테스트 - 3축 가속도센서 테스트 [LM3S8962 EVM] SPI테스트 - 3축 가속도센서 테스트 가속도 센서 테스트 드라이버 myMCU-EXP 보드의 가속도 센서(LIS3LV02)는 SPI0, CS(J18->16) ->RD3에 연결되어 있으므로 아래와 같이 드라이버 코드를 작성할 수 있다. //----------------------------------------------------------------------------- // myAccel3LV02 HAL #define MY_ACCEL3LV02_SPI_MODE 1 #define MY_ACCEL3LV02_I2C_MODE 0 #define ACCEL_CS_BIT BIT3 #define ACCEL_CS_PORT PORTD #define ACCEL_CS_INIT() SysCtlPe..
[CANTUS EVM] SPI테스트 - SPI 가속도 센서 테스트 [CANTUS EVM] SPI테스트 - SPI 가속도 센서 테스트 CANTUS의 SPI구조는 아래 그림과 같고 특징적으로는 8Byte FIFO가 있다. CANTUS SPI테스트를 위해 [NET-EVM]보드의 가속도 센서를 테스트 해 보았다. 가속도센서의 SPI CS핀은 P5.2에 연결되어 있다. ADChip사에서 제공하는 드라이버코드는 여러기능을 위해 작성되어 있기 때문에 속도 면이나 기존 코드를 위해 그냥 사용하기는 힘들다. 데이터시트보고 로레벨로 작성해 보았다. SUINT SPI0_WriteReadByte(SUINT Data) { //SPI포트로 데이터 출력 *R_SPI0DATA = Data; // 전송대기 while (!(*R_SPI0STAT & SPISTAT_SPIF)); //데이터 수신 retu..
[PIC32-SM EVM] SPI 테스트 - 가속도 센서 테스트 [PIC32-SM EVM] SPI 테스트 PIC32의 SPI는 최대 25Mhz로 동작하며 8, 16, 32비트로 설정가능하다. [PIC32-SM EVM] 보드에는 SPI핀이 SPI2 RG6(SCLK), RG7(MISO), RG8(MOSI)에 할당되어 있다. PIC32 블록도 PIC32 SPI초기화 void SPI0_Init(void) { SPI2CONbits.ON = 1; // Enable SPI2CONbits.FRZ = 0; SPI2CONbits.SIDL = 0; SPI2CONbits.DISSDO = 0; SPI2CONbits.MODE32 = 0; SPI2CONbits.MODE16 = 0; //8비트 모드 //SPI 모드 설정 SPI2CONbits.SMP = 0; //위상 설정 SPI2CONbits.C..
[LPC1K EVM] SPI 테스트 - 가속도 센서 테스트 [LPC1K EVM] SPI 테스트 - 가속도 센서 테스트 LCP1K SPI 특징 - Maximum SPI speed of 25 Mbit/s (master) or 4.17 Mbit/s (slave) (in SSP mode) - Compatible with Motorola SPI, 4-wire Texas Instruments SSI, and National Semiconductor Microwire buses - Synchronous serial communication - Master or slave operation - 8-frame FIFOs for both transmit and receive - 4-bit to 16-bit frame SPI SLK핀은 P0.10, 2.11, P0.6포트에 리맵이 ..
STM32 SPI Slave Mode 테스트 STM32 SPI Slave Mode 테스트 SPI Slave통신에 시간을 많이 까먹었는데... 아무튼 아래와 같이 해결 했다. Master로 부터 데이터 수신클럭 받고 SPI_I2S_ReceiveData()로 데이터를 받아주어야 했는데... 이부분을 생각 못해서 데이터가 이상하게 출력되었다. //SPI Master로 부터 클럭이 들어오면 데이터 받고 while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET); temp = SPI_I2S_ReceiveData(SPI2); //DebugPrint("SPI2 RX:%02X\r\n", temp); //원하는 데이터를 보낸다. //Send SPI2 data SPI_I2S_SendData(SPI2, cnt++..
[W5100] STM32에서 SPI로 테스트중... 속도문제 [W5100] STM32에서 SPI로 테스트중... 속도문제 STM32에서 SPI로 테스트중... STM32를 SPI를 이용하여 W5100테스트 중이다. 기본 동작은 잘 되지만 전송 속도가 문제다. SPI클럭을 18M/4 = 4.5Mhz 로 구동 하는데 속도가 400kbps도 안된다. AVR 4Mhz로 구동해도 500k이상 나왔는데... SPI를 클럭을 메인클럭에서 2분주 해서 다시 시도 해본다. 아예 SPI리드 라이트가 않된다. wiz_write_buf() 함수를 좀 수정해야 할듯... CS를 for루프 위쪽으로 올려서 CS제어 부분도 줄여볼까해서 해보니 데이터 에러가 발생한다. IINCHIP_CSoff(); for(idx=0;idx> 8); IINCHIP_SpiSendData((addr+idx) & ..