Hi I'm trying to interface an audio codec chip VS1053B with my STM32L476 Microcontroller. But in the microcontroler there is SPI interface and in the VS1053B chip it is SCI interface with few extra pins as, XCS - Send Command (Active Low) , XDCS - Send Data (Active Low), XRST - Reset (Active Low), DREQ - Data Request.

What is the purpose of these pins? is it possible to interface this IC using SPI? What are the major differences between the interfaces, SPI,SCI and SDI??

  • \$\begingroup\$ Hmm skimming over the datasheet it looks like normal SPI with a CS-pin for commands and a CS-pin for data, probably to reduce the protocol overhead when streaming data. \$\endgroup\$
    – Arsenal
    Mar 14, 2017 at 9:06

2 Answers 2


In the descrition of the VS1053B on Adafruit you can see that there is :

  • SPI flash boot for special applications
  • UART for debugging purposes
  • Serial control and data interfaces

And here there is a response about SCI :

SCI is not a standard term. Usually it's called a UART, and that's the interface you would use to communicate between the dev board and the PC. SPI is used for communication between chips on a board, supports higher speeds, and has a single master clock. UARTs are used for longer distances, each side asynchronously transmits their own data such that the clock can be recovered from it, and is usually transmitted at speeds just necessary for human interface devices such as keyboards.

So SCI is a sort of UART and you can find more infos here : http://www.ece.utep.edu/courses/web3376/SCI%20Overview.html


This section from the datasheet is useful -

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.