Simulating Daisy Chain SPI for Battery Management Systems

 

What is Daisy Chain SPI?

Computers and other electronic systems use serial interfaces to enable data transfer between connected devices. The serial peripheral interface (SPI) is a type of serial communication interface that enables synchronous data transmission between a master device such as a microcontroller (MCU) and one or more peripheral devices (slave devices). In SPI, the master device generates a clock signal, a selection signal and an input data signal (e.g. data that is transmitted to the slave devices). The slave devices receive the input data signal in synchronism with the clock signal while the selection signal is active, and generate a data output signal in synchronism with the clock signal for reception by the master device. SPI is a common form of interface in automotive applications for better flexibility, configurability and error reporting by the electronic components. Daisy Chain SPI is a method for synchronous serial communication between a master device and several slave devices. The main difference to the "conventional" SPI is that the slaves are not selected by the slave select, but that the transfer begins when the slave select is changed to logic 0 and the transfer is ended when the SS is reset.

 

 

 

Daisy chain SPI configuration

When multiple devices communicate with the same master over the same SPI bus, the daisy chain SPI configuration is required to keep GPIO ports available. The master must be configured in such a way that it generates a chip select, a header signal and several address fields depending on the number of devices connected in series. In addition, the master generates a clock signal with which the data can be transmitted synchronously through the chain. The figure below shows that the master sends a master signal over SDI1, which is decoded by each device in the chain, and the corresponding commands are executed.

 

 

Daisy_Chain_SPI

 

 

 

Implementation details

The traditional daisy chain configuration allows a reduced number of terminals on the master device, but limits the communication bandwidth. For example, in some implementations, two transactions (two communication frames) are required to read from a slave device. In systems that allow frame-by-frame reading, the speed of transferring information through the serially connected slave devices is reduced as the number of slave devices increases. The synchronous serial communication system described here uses the daisy chain configuration to reduce the number of terminals required on the master device, allow reads in a single frame, and provide a transmission bit rate that is independent of the number of slave devices in the chain is. Some implementations allow operation with a single slave device without introducing additional protocol overhead. The following figure shows the data transmission and reception structure between master and slaves.

 

 

Data_Transmit

 

 

 

 

Daisy chain SPI in battery management systems

In a battery management system there are many slaves that monitor the voltages of the battery cells. The BMS consists of a master board for each string of the battery pack. The master includes the processing of signals, measurements, communication and control interfaces. A battery module can consist of a maximum of 14 cells and requires a slave to measure the voltage and monitor the temperature. The connection between the slaves and the master is implemented using a daisy chain.

 

Promira-Serial-Platform

 

 

 

Simulate daisy chain SPI with the Promira platform

The Promira platform is a platform whose applications can be configured user-specifically. The detailed API documentation makes the Promira platform a suitable choice for creating a daisy chain configuration and for simulating a battery management system. The Promira platform has many features such as a GPIO function and an integrated level shifter function, which can cover a wide range of applications. In addition, the control center is available to the user, with which a command sequence can be loaded using a batch script.

 

 

 

Daisy chain SPI test and measurement tools

Since Daisy Chain SPI is basically differentiated from SPI only by the difference in the Chip Select selection, SPI tools can be used to control and monitor the Daisy Chain Design.

 

promira_card

 

Promira Serial Platform

The Promira ™ Serial Platform is a powerful platform that is connected to the host PC via USB. The Promira platform also enables remote control for automations and can supply the target IC with up to 200 mA of current. Different applications are available for I2C, SPI and eSPI with different performance specifications that can be expanded as required. The integrated level shifter function provides voltage between 0.9 V to 5 V.

applications_card

 

SPI Active Applications

The SPI Active Level 1 applications offer clock rates of up to 12.5 MHz for the master and 8 MHz for the slave functionalities. The SPI Active application enables clock rates of up to 40 MHz for the master and 20 MHz for the slave functionality. Dual I / O is also support-ed. The highest expansion level SPI Active Level 3 offers clock rates of up to 80 MHz for master and 20 MHz for slave functionality as well as support for quad I / O.

beagle_spi_card

 

Beagle SPI Protocol Analzer

The versatile Beagle SPI Protocol Analyzer is the ideal tool for the embedded technician developing an SPI-based product. In addition to SPI, the I2C and MDIO communication protocol are also supported. With the powerful data center software and the combination of the internal memory of the Beagles SPI protocol analyzer, all incoming data can be recorded in real time. The device is connected via USB and thus offers high-speed transmission.