Working across different applications including industrial, automotive, defense, medical, Embien has been helping OEMs overcome challenges specific to their industry/use case. One of our customers into manufacturing Lithium-Ion batteries and battery management systems, had a lot of deployments across India and the field area to be covered is quite large. Often, the customer had to roll firmware updates and re-configure the BMS module based on the customer requirements. They were looking for easy way to implement the same in a cost-effective manner and approached Embien for the same. This case study captures how Embien met the customer expectations.
The battery management system supported firmware update based on the Unified Diagnostics Services (UDS) along with features to read system faults, set configurations etc. Adding to the challenge was the unavailability of skilled technicians across the vast installation locations. This called for a simple and failure proof design of the tool so that anyone with limited technical knowledge can perform the operation with no external support.
Embien's product engineering team analyzed the whole requirement, deliberated various options and finalized the one that best matched the customer’s needs. Our team proposed to develop a small CAN programming tool that can configure the BMS either with the support of a computer/laptop or in a stand-alone mode where simply by connecting the device to BMS module, the configurations are done. Once the customer was also in sync with our approach, we kick started the design. It was achieved with the help of a small MCU based system with USB connectivity and a SD Card for which the block diagram is captured below.
Our hardware design team zeroed in on NXP LPC5516 MCU as it offered the necessary features at a competitive price point. The CAN connectivity was provided to communicate with the battery management system and USB connectivity for communication with the PC. An SD card interface was added over the MCU's SPI interface that could serve as the storage device to store the configuration data and firmware update files. 3 LEDs were provided to indicate internal status in a simple yet effective way.
Our embedded software team developed the firmware over FreeRTOS leveraging the power of LPC5516 with the proven RTOS. A dedicated task was created for USB peripheral interface running custom class over which a proprietary protocol was developed. FAT file system was supported on top of the SD card over the SPI interface. CAN interface was also supported as a separate task.
The RAPIDSEA UDS stack was utilized in the CAN programming tool to accelerate product development. The UDS stack allowed configuration of the BMS system as well as perform the firmware update. In connected mode, the USB interface was used to transfer data from the computer. In standalone mode, the data stored in the SD card was used to perform the configuration updates. The firmware was also developed with a bootloader so that the CAN programming tool can be updated at any point of time when needed.
Standalone CAN Programming Tool - Architecture
A windows application in C# was developed that enabled transfer of configuration from the PC to the BMS over the CAN interfaces. It also allowed to download the firmware and configuration data on to the SD card in this device which would be used later to update the BMS module in the stand-alone mode. To enable direct communication, the RAPIDSEA UDS stack was also integrated in the Windows application as a Dynamic link library (UDS DLL) so that the communication can be directly managed from the PC. The application was created with a minimal user interface without any complex interfaces.
Our mechanical design team designed and developed an enclosure and validated it with SLA prototyping technology. The compact design was well received by the customer and later once production commenced, it was manufactured with injection molding of ABS plastic. Our team also helped in manufacturing of the device owning the complete responsibility right from procurement, fabrication, assembly, validation, and packaging.
Backed by our product engineering expertise, ready to use solution and rich partner ecosystem, Embien was able to quickly design and manufacture the USB-CAN tool for battery management system that met the customer needs with the following unique benefits.
We enabled our customers to serve their end-customers even without their challenges and limitations coming into play. The service requests for the BMS module could be quickly closed and positive feedback obtained.
Thus, Embien supported another battery management system OEM with a technological product and helped meet their market demands quickly. Our product engineering team extended all their support in achieving this goal and helped realize the product at a very attractive price point. This is one of the many instances where we have partnered with our customers and traveled together for a product realization journey in a mutually beneficial way. Check out our other case studies to know more about such success stories.