Part Number: AMC131M03 Tool/software: I am controlling AMC131M03 via SPI using STM32 Microcontroller. I am not able to get the DCDC output as expected. The CLK Frequency is 4MHz. The Commands which I am sending are as follows: drady = HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_1); if(drady == 0) { if(counter > 8) & 0xFF; // Command high byte txFrame[1] = cmdWord & 0xFF; // Command low byte if(command == 1) { for(int i =0; i < 3; i++) { txFrame[i + 3] = txData[i]; } } // // Construct the input frame (DIN in 16-bit chunks) // txFrame[0] = 0xB8;//((command << 8) | reg); // Command (8 bits) + Register (8 bits) // txFrame[1] = 0x80; // Padding or CRC (if CRC is disabled) // txFrame[2] = 0x0000; // Zero for 2nd word (high 16 bits) // txFrame[3] = 0x0000; // Zero for 2nd word (low 8 bits padded) // txFrame[4] = 0x0000; // Zero for 3rd word (high 16 bits) // txFrame[5] = 0x0000; // Zero for 3rd word (low 8 bits padded) // txFrame[6] = 0x0000; // Zero for 4th word (high 16 bits) // txFrame[7] = 0x0000; // Zero for 4th word (low 8 bits padded) // txFrame[8] = 0x0000; // Zero for 5th word (high 16 bits) // txFrame[9] = 0x0000; // Zero for 5th word (low 8 bits padded) // Transaction 1: Send command frame, ignore response AMC131M03_CS_LOW(); HAL_SPI_Transmit(&hspi3, (uint8_t *)txFrame, 15, HAL_MAX_DELAY); AMC131M03_CS_HIGH(); // HAL_Delay(1); do { drady = HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_1); if(drady == 1) AMC131M03_CS_LOW(); HAL_SPI_TransmitReceive(&hspi3, (uint8_t *)txFrame, (uint8_t *)rxFrame, 15, HAL_MAX_DELAY); AMC131M03_CS_HIGH(); }while(drady == 0); // Reconstruct the response frame into 5 words of 24 bits each for (int i = 0; i < 8; i++) { rxData[i] = rxFrame[i]; } return 0; // Success } I am attaching Image of my application.
↧