MCU Flash Loading

The flash loading equipment is connected to the baseband by means of the test connector before the module is cut out from the frame. Updating SW on a final product is done by removing the battery and connect a special battery that contains the necessary contacting elements. The contacts on the baseband board are test points that are accessable when the battery is detached. The power supply for the base band is supplied via the adapter and controlled by the flash programming equipment. The base band module is powered up when the power is connected to the battery contact pins.

Five signals are required for the flash programming, with the addition of the battery supply. The baseband MCU will automatically wait for flash down loading to be performed if one of the two following criteria are met.

- The flash is found to be empty when tested by the MCU

- The serial clock line at the baseband MCU is forced low when the MCU is exiting reset

The second alternative is used for reprogramming as the flash is not empty in this case. To allow the serial clock line to be forced low during MCU initial boot there is a requirement that the flash prommer can control the power on of the baseband module. This is done by controlling the switching of the battery power supply. This arrangement allows the baseband module to operate in normal mode even if the flash prommer is connected but not active. The flash prommer also disables the power supply watchdog during flash programming to prevent unwanted power off of the baseband. The programming voltage to the flash is applied when the flash prommer has detected that the baseband module is powered. This detection is performed by monitoring the serial interface RX line from the baseband. The RX line is pulled high by a pullup resistor in idle. The VPP voltage is set to 5V as it is not known at this point what type of device is used.

The following diagram shows the block diagram for the baseband flash programming circuitry.

Technical Documentation

System Module






WDDis 5


FLASH pin11 Vpp





PSCLD pin 22 WDDis

Programming Voltage Vpp

VBAT Flash Prommer


ASIC pin 120 ^ PurX


PSCLD pin 22 WDDis



2,71 1








Master Reset

PSCLD pin 26 PurX

Master Reset








MCUAdrress >


Programming Voltage Vpp





9(24) 37(24) 38(9)

ASIC pin 51 CSelX

MCU pin 56 WrX

ASIC pin 130 PwrDown MCU pin 55 RdX

ASIC pin 51 CSelX

MCU pin 56 WrX

56 81

120 ASIC D151










MCU pin 56 WrX MCU pin 55 RdX

ASIC pin 130 PwrDown MCU pin 55 RdX



The following picture shows the location of the flash programming contact pads on the PCB. These pads are used for SW updating at after sales locations. A special battery pack is used for this purpose. The battery pack contains contacting elements that can access these pads without having to disassemble the phone.



The interface lines between the flash prommer and the baseband are in low state when power is not connected by the flash prommer. The data transfer between the flash programming equipment and the base band is synchronous and the clock is generated by the flash prommer. The same MCU USART that is used for MBUS communication is used for the serial synchronous communication. The PSCLD watchdog is disabled when the flash loading battery pack and cable is connected.

System Module

Technical Documentation

After the flash battery pack adapter has been mounted or the test connector has been connected to the board the power to the baseband module is connected by the flash prommer or the test equipment. All interface lines are kept low except for the data transmit from the baseband that is in reception mode on the flash prommer side, this signal is called TXF. The MCU boots from ASIC and investigates the status of the synchronous clock line. If the clock input line from the flash prommer is low or no valid SW is located in the flash MCU forces the initially high TXF line low acknowledging to the flash prommer that it is ready to accept data.

The flash prommer sends data length, 2 bytes, on the RXF data line to the baseband. The MCU acknowledges the 2 data byte reception by pulling the TXF line high. The flash prommer now transmits the data on the RXF line to the MCU. The MCU loads the data into the internal SRAM. After having received the transferred data correctly MCU puts the TXF line low and jumps into internal SRAM and starts to execute the code. After a guard time of 1 ms the TXF line is put high by the MCU. After 1 ms the TXF is put low indicating that the external SRAM test is going on. After further 1 ms the TXF is put high indicating that external SRAM test has passed. The MCU performs the flash memory identification based upon the identifiers specified in the Flash Programming Specifications. In case of an empty device, identifier locations shows FFH, the flash device code is read and transmitted to the Flash Prommer.

Boot OK

Internal SRAM execution begin

External SRAM test going on


Length OK

Ready to send Flash ID

External SRAM test passed

1 ms

After that the device mounted on base band has been identified the Flash Prommer down loads the appropriate algorithm to the baseband. The programming algorithm is stored in the external SRAM on the baseband module and after having down loaded the algorithm and data transfer SW, MCU jumps to the external SRAM and starts to execute the code.

The MCU now asks the prommer to connect the flash programming power supply. This SW loads the data to be programmed into the flash and implements the programming algorithm that has been down loaded.

Technical Documentation System Module

DIY Battery Repair

DIY Battery Repair

You can now recondition your old batteries at home and bring them back to 100 percent of their working condition. This guide will enable you to revive All NiCd batteries regardless of brand and battery volt. It will give you the required information on how to re-energize and revive your NiCd batteries through the RVD process, charging method and charging guidelines.

Get My Free Ebook

Post a comment