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.

BQ40z50 Production Programming

Other Parts Discussed in Thread: BQ40Z50-R1, BQ40Z50, BQSTUDIO

For mass production programming, there used to be (with the BQ20zXX devices) a need to load the binary rom file, rather than just the gg file, to ensure that various hidden constants were set.

Is this the case with the BQ40z50-R1 or is loading the GG file (as per slua743) sufficient?

Thanks

  • Hi David,

    You can follow Bq40z50 Data Memory Programming for Mass Production (SLUA743)

    Another way to program the device is to use the .srec file. This will also program the firmware, so it will take longer.

    Best,
    Justin
  • So how do program the srec file? I assume I cant do that via the block access command and that I need to use the ROM mode instead?

    There's no docs on the rom mode as far as I know and  need to write my own app to program the srec as the guys buokding these things will need to program and test other devices on the boarx.

    Thanks.

  • Hi David,

    In bqStudio, go to the Firmware tab. Here you can indicate a location to output the SREC file. After this, you can press "Read Srec from device"

    This will generate the srec file that you can use to program the devices. To test it, go back to the firmware tab and find the file you generated. Then press "Program" This will program the device with all of the firmware, configuration data, etc

    Best,
    Justin
  • Yes. Im familiar with how to do it in bqstudio. However I am writing an app for our production guys that will program and test their board in one or two clicks so I need to know the commands.or protocol needed for programming the srec file.
    We could use bqstudio but apart from havin to train them in using it I also have a processor and an id device to program so I want it all in one application to save time in production.
  • Hi David,

    For the purposes of writing your own app for mass production programming, I recommend following the app note mentioned earlier ( Bq40z50 Data Memory Programming for Mass Production (SLUA743) )

    Best,
    Justin
  • Hi Justin,

    My problem with that is that I can't readily allow for firmware other than that which I have validated in my end product. So, if/when TI start shipping the devices with a firmware upgrade, we will have to downgrade the firmware to the version we have validated until we can update our validation.
    Because I am trying to streamline our assembly process and because the TI device is not the only device on the board, I am creating a jig which can program and test everything in one hit. It will also automatically handle the situation described (e.g. if the version reports differently, load the approved srec). I know you have tools for mass programming but they only apply to the BQ devices and unsurprisingly, the BQ device isn't the only one on our board. To have to switch jigs during production will waste a lot of time.

    Is SREC programming a commercial secret or something? I can't believe I'm the only one who would find this useful.
    For what it's worth, I'm not after all the ROM Mode commands, just the sequence/commands required for SREC programming.

    Thanks
  • Hi David,

    We're working on material to go over programming an SREC.  

    One thing to note however, is that it is much safer to just load your data flash (DF) onto the device. You do not need to worry about the firmware version changing on your future bq40Z50 devices.  Only if the part number changes,  there will be a different firmware. For example, see in this change list from bq40z50 to bq40z50-r1 that shows a firmware change

    Best,

    Justin

  • Justin Erfan said:

    Hi David,

    We're working on material to go over programming an SREC.  

    One thing to note however, is that it is much safer to just load your data flash (DF) onto the device. You do not need to worry about the firmware version changing on your future bq40Z50 devices.  Only if the part number changes,  there will be a different firmware. For example, see in this change list from bq40z50 to bq40z50-r1 that shows a firmware change

    Best,

    Justin

    Hi Justin,

    one additional question regarding your note "just load the data flash":

    It is possible to transfer the information of the Learning cycle (specially the  low Max Error value) without loading the srec onto the device? 

    One of our customers required correct gas gauging from the begin of delivery. Please let me know if this can achieved by just loading the data flash. 

    Thanks, Patrick.

  • Hi Patrick,

    The Max Error is a data flash parameter, so you don't need to worry about this not being loaded. The SREC will copy the dataflash parameters and the firmware, but it's not necessary to copy both of these while in production. Usually the device you order has the firmware you want to use, and then you compete the device by loading the dataflash, which includes the user settings.

    Best,
    Justin
  • Hello,


    I see that you're discussing about production programming. I have similar question: Our customer asked us to implement production programming of this devices on our programming tools. Does there exist application note which describe how to implement dataflash programming (and FW programming) on 3rd party device programmers? Can you disclose us such application note?

    Best regards,

    Frantisek Zabecky

    ELNEC, s.r.o.