This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-TMS57004: Regarding selection of Micro controller for BMS

Part Number: LAUNCHXL-TMS57004
Other Parts Discussed in Thread: TMS570LC4357, TMS570LS1224, HALCOGEN, TMS570LS0432

Hello All,

I am developing a Battery management system for Li-ion batteries using Bq76pl455 and TMS57004. In this, I need sample data from bq76pl455 every 1 second and perform BMS task. But I am not able to complete the task in 1 second due to large no. of computations. I am thinking of using a microcontroller with higher RAM and speed. On the product page, I found that TMS570LS1224 and TMS570LC4357 microcontrollers have higher RAM and speed than TMS57004.

So if I generate halcogen files for TMS570LS1224 and TMS570LC4357 then can I use the same CCS code which I have written for TMS57004 in order build a BMS?

Also, do I need to perform some changes in hardware for using TMS570LS1224 and TMS570LC4357?

Regards,

Gunit 

  • Hi Gunit,

    It should work for TMS570LS1224 launchpad.
  • thanks for replying.

    Can you answer my following questions?
    1.
    e2e.ti.com/.../668626

    In the above post, the author is using a 3.3 V to 5 V converter IC for connecting TMS57012 with Bq76pl455 EVM?

    I wanted to know whether it is required or not?


    2. Why can't I use TMS570LC4357 for interfacing with BQ76PL455 EVM?

    3. While I was using TMS 57004 and BQ76PL455 EVM I remove R8 so that I can use SCI1 UART (It was mentioned in the example code of BQ76PL455 EVM) similarly do I need to remove some Resistor in TMS57012 while doing UART communication with BQ76PL455 EVM?

    Regards,
    Gunit
  • Hi Gunit,

    1. You don't need to use a voltage converter between 2 devices. The VCC of BQ76 EVM is from TMS570 Launchpad, and BQ75 IO supports 3.3V.
    There is no problem to use sciREG to replace scilinREG. I recommend to use PLL functions to do register read/write:
    WriteReg(..), and ReadReg(..)

    The places needed to be modified in pl455.c are listed:
    scilinREG --> sciREG;
    sciSetBaudrate(scilinREG, 250000); --> sciSetBaudrate(sciREG, 250000);
    sciSend(scilinREG, bPktLen, pFrame); --> sciSend(sciREG, bPktLen, pFrame);
    sciReceive(scilinREG, bLen, bBuf); --> sciReceive(sciREG, bLen, bBuf);
    sciEnableNotification(scilinREG, SCI_TX_INT); --> sciEnableNotification(sciREG, SCI_TX_INT);

    2. Yes, you can use TMS570LC43x. But I think it is a bit luxurious to use LS4357 for a simple BMS demo.
    3. If you use SCI to communicate with BQ76, and use scilin to interface PC. You don't need to remove R8 and R9. But if you want to use emulated SCI to interface PC, you need to remove R8/R9 and wire NHET signals to TM4C SCI pins (connected to R8 and R9).
  • Thanks for quick reply.

    I fully understand point no. 1 and 2. But Point 3 is not clear. Can you please elaborate further.

    As of now in the system I developed I am using serial monitor for displaying the result and I have removed R8 of TMS57004.

    TMS57012 has 2 UART ports I am planning to use one port with Bq76pl455 and other with WiFi Module.

    Regards,
    Gunit
  • Hi Gunit,

    There are 2 SCI modules on TMS570LS12x device. One is SCI (pin 38, pin39), other is SCI2 or SCILIN (pin 131, and pin 132). You want to use SCI (pin 38, pin39) for BQ76, and use SCI2(pin 131, and pin 132) for an external WIFI module.

    The BMS demo uses TMS570LS0432 launchpad. The only SCI is used to communicate with BQ76, and the emulated SCI (using 2 NHET pins) to communicate with the BMS GUI on PC. On TMS57004 launchpad, the SCI signals are routed to FTDI chip through R8 and R9, then to the external devices through micro USB port. In order to use SCI for BQ76 and emulated SCI for BMS GUI, we need to wire the SCI signals to BQ76 EVM, and wire 2 NHET signals to FTDI chip, and also remove the R8/R9 resistors.

    The TMS57012 launchpad uses TM4C MCU instead of FTDI chip for USB-JTAG-SCI. There are no resistors between TMS570 SCI2 pins (or SCI signals on header) and TM4C SCI pins (pin 33, pin 34). If you want to use SCI2 for your WIFI module and NHET emulated SCI for BMS GUI on PC, you have cut the SCI signal traces between TMS570 and TM4C, and wire the NHET signals to TM4C pin 33 and pin 34.

    I recommend you use SCI2 (SCILIN) for BMS GUI, adn use the NHET emulated SCI for your WIFI module. But if you use SCI2 (CILIN) for BMS GUI on PC, you need to modify the code in host_msg.c:
    HetUART1TxStart(...) --> sciSend(scilinREG,...)
  • Hello Wang,

    I wanted to establish CAN communication and also interface SDcard with my system.

    But TMS 57004 launchpad we need to connect additional CAN transceiver for CAN communication. Also, there is no support for SDcard.

    I found that TMS 570 has two Hardware development kits
    1. TMS570LS31x HDK
    2. TMS570LC43x HDK

    HDK for TMS 57004 is not available.

    So can I use this to develop my BMS?

    As of now, I have developed my BMS using TMS 57004 launchpad and bq76pl455 EVM.

    Regards,
    Gunit
  • Hi Gunit,

    You can use LS31x HDK or LC43x HDK for BMS development. The project for LS0432 can be migrated to LS31x platform with some minor changes.
  • Hi Wang,

    Can you tell me what changes do I need to perform for migrating to LS31x platform from LS0432 platform ?

    Regards,
    Gunit
  • Hi Gunit,

    Since LS31x has more than 1 SCI modules, you don't have to use NHET emulated SCI. If you want to use SCILIN for PC, and another SCI for BQ76. You need to replace the NHET emulated SCI driver with SCILIN driver.