본문 바로가기

SPI

(46)
RP2040 SSM EVM - SPI 테스트 (최대 SPI클럭 테스트) RP2040 SSM EVM 보드의 SPI는 GP16 ~ GP19 에 연결되어 있다. Raspberry Pi-Pico 의 SPI 핀맵과 동일하게 제작 했다. 데이터시트를 보면 RP2040의 최대 SPI 클럭 속도는 62.5Mhz 까지 가능 하다고 한다. the maximum SSPCLK (clk_peri) frequency on RP2040 of 133 MHz, the maximum peak bit rate in [controller] mode is 62.5 Mbps RP2040 최대 SPI 클럭 테스트 void setup() { pinMode(15, OUTPUT); digitalWrite(15, 1); Serial.begin(115200); SPI.begin(); SPI.setFrequency(40000..
[STM32G4 SM] STM32G431 - STM32CubeIDE 에서 SPI DMA 테스트 STM32CubeIDE 를 이용하여 STM32G431 프로젝트를 생성하고 SPI설정을 한다. STM32G431의 SPI 최대 클럭속도는 스펙상 75Mhz까지 가능하다. SPI를 통해 2바이트를 연속해서 전송하는 코드로 SPI 전송 지연시간을 측정해 보자. SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_SPI1_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while..
[STM32G4-SM EVM] STM32G431 Arduino SPI 테스트 기존 STM32F4 시리즈와 비교 해서 하드웨어 적으로 개선된 부분이 있다고 하는데 특히 SPI클럭이 fPCLK/2 (Maximum speed at master mode – 75 MHz) 이다 STM32G4 의 MCU클럭은 최대 180Mhz 으로 85Mhz 까지 가능하다. STM32G431 로 Arduino 에서 SPI 클럭 출력 테스트를 해 보자 #define PIN_OUT PC13 #include void setup() { Serial.begin(115200); Serial.println("SPI tst.."); pinMode(PIN_OUT, OUTPUT); digitalWrite(PIN_OUT, 0); delay(2000); SPI.begin(); SPI.setClockDivider(SPI_CLOC..
[STM32-64 Ardu] STM32F732 Arduino SPI 속도 테스트 [STM32-64 Ardu] 보드에서 STM32F732의 SPI 클럭 속도를 측정해 보자. Arduino 호환 핀맵의 SPI핀은 SPI1에 할당되어 있다. STM32F7의 클럭최대 속도는 216Mhz이고 SPI로 입력되는 APB2클럭은 108Mhz 이다. SPI 최대 클럭는 APB/2 이므로 54Mhz가 최대 설정값이 된다. SPI초기화 하고 클럭 설정을 하면 SPI.setClockDivider(SPI_CLOCK_DIV2) 54Mhz가 출력 되는 것을 확인 할 수 있다. #include void setup() { Serial.begin(115200); Serial.println("SPI tst.."); delay(1000); SPI.begin(); //SPI.beginTransaction(SPISetti..
[STM32-64 Ardu] STM32F405 Arduino SPI 속도 테스트 [STM32-64 Ardu] 보드에서 STM32F405의 SPI 클럭 속도를 측정해 보자. Arduino 호환 핀맵의 SPI핀은 SPI1에 할당되어 있다. STM32F7의 클럭최대 속도는 168Mhz이고 SPI로 입력되는 APB2클럭은 84Mhz 이다. SPI 최대 클럭는 APB/2 이므로 42Mhz가 최대 설정값이 된다. #define PIN_OUT PB2 #include void setup() { Serial.begin(115200); Serial.println("SPI spee test.."); pinMode(PIN_OUT, OUTPUT); digitalWrite(PIN_OUT, HIGH); SPI.begin(); //SPI.beginTransaction(SPISettings(42000000, MS..
[nRF52 xBee EVM] Arduino SPI 테스트 - W5500 Ethernet Webserver [nRF52 xBee EVM]보드를 이용하여 SPI 테스트를 하기위해 이더넷 모듈은 W5500 EVM보드를 이용하여 테스트 해 보았다. W5500 EVM 모듈의 CS핀은 IO27에 연결되어 있다. 이더넷 모듈의 라이브러리는 Ethernet2를 사용하였다. void setup() { // Open serial communications and wait for port to open: Serial.begin(115200); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.print("server is at "); // start the Ethernet connection and the server..
[ESP32 xBee EVM] Arduino SPI 테스트 [ESP32 xBee EVM] 보드의 SPI는 IO18(SCLK), IO19(MISO), IO23(MOSI) 에 할당되어 있다. ESP32의 SPI 클럭속도는 80Mhz까지 설정 가능하다. #include #define LED_PIN1 12 #define LCD_LAT 44 void setup() { Serial.begin(115200); SPI.begin(); SPI.setFrequency(80000000); //SPI.SPISettings(4000000, MSBFIRST, SPI_MODE0); } void loop() { digitalWrite(LED_PIN1, 1); SPI.transfer(0xFF); SPI.transfer(0xFF); digitalWrite(LED_PIN1, 0); } ESP32..
[STM32-64 Ardu] STM32F405 -STM32CubeIDE에서 SPI DMA 속도 테스트 STM32F405 보드의 SPI 전송 테스트를 SPI DMA 와 비교해서 테스트 해보자 먼저 STM32CubeIDE를 이용하여 새로운 프로젝트를 생성하고 SPI 세팅을 한다. SPI DMA를 사용하지 않고 일반 모드로 구동 해 보자 unsigned char buf[10] = {1,2}; /* USER CODE END 0 */ /** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of al..

반응형