AN0103 On-Board SPI Programming DediProg Tool (Designer Version)
AN0103 On-Board SPI Programming DediProg Tool (Designer Version)
Apppplliiccaattiioonn N
Noottee:: A
ANN00110033 O
Onn BBooaarrdd SSPPII PPrrooggrraam
mmmiinngg D
DeeddiiPPrroogg IInncc..
4F., No.7, Ln. 143, Xinming Rd., Neihu Dist., Taipei City 114, Taiwan
Table of content:
Important notice:
This document is provided as is. No responsibility is assumed for errors that might
appear. DediProg reserves the right to make any changes to the product and/or the
manual at any time without notice.
1. Introduction
1.1. Motherboard BIOS memory specific
requirements
Unlike other Applications using Serial Flash, motherboards have to be compliant with
a large amount of different and new peripherals: Bios codes need continuous
modifications during development and some update in the field.
The past solution commonly used was to solder a socket on each motherboard
produced, to remove manually the corrupted memory and replace it by a new one with
the correct BIOS. The cumulative cost of this method over a number of years,
considering the cost of each socket implemented on the millions of motherboards
produced can easily lead us to conclude that this solution is not the optimal choice.
Additional solutions would be to solder a backup memory on the motherboard to boot
from it in case of main Bios corruptions. The cost of this solution is also quite
significant.
To reduce motherboard cost, some manufacturers solder the flash memory on board
but this adds to the cost and complexity of engineering Bios update or future repairs
of the motherboard.
The small size of the Serial Flash increases the difficulty to find cheap and reliable
sockets. The socket solution becomes now a risky solution:
- Increase the cost
- Increase the failure rate due to quality problem (SMT contact weakness,
oxidation, degradation of the high speed SPI signals, insertion error..)
- Reduce dangerously the number of suppliers for the DIP solution
Features: update your Main Bios memories soldered on your motherboard by using
our low cost programmer: SF100 and SF300. When connected to the motherboard,
the SF100 programmer can control the Serial Flash to read or update its content.
Advantages:
- Very fast update (10sec / 30 sec)
- Flexible update as it only requires the naked motherboard (convenient for
development, production, storage area update or repairing channel)
Requirement:
- Some Chipsets need isolations for their SPI outputs protections.
Advantage:
- Low Cost
- Work with most of the market motherboard without hardware modification
- If coupled to our SF100 programmer, our Backup Boot Flash can be used as a
“Serial Flash Emulator” (convenient for Bios development)
Requirement:
- Need to perform a Boot of the motherboard:
Î Longer updating time versus ISP method
Î Requires a complete computer environment for boot
(ATX power, processor, monitor..)
The SF100 ISP programmer is dedicated for Serial flash only, to optimize the
hardware and software performance and minimize the cost.
Why do you need to pay for memory support you don’t need?
With the SF100 ISP programmer, your motherboard will not only benefit from the
cost reduction due to the Serial Flash memory but also from the cost reduction
due to the socket removal.
Actually, the SF100 ISP programmer has been designed to update the Serial Flash
soldered directly on Board via an inexpensive Header connector on the SPI bus,
removing the need for a socket. The corrupted memory no longer needs to be
physically removed and replaced by a new one but simply updated just by connecting
the Programmer to the motherboard connector.
The SF100 ISP programmer has been designed by taking into account all the different
environments of the motherboard, from the development to the final user and repair
channel.
Like:
- Motherboard powered / not powered
- Additional Computer available / not available
- Expert engineers / inexperienced or not technical operators
- Single update (repairing channel) / High throughput (production)
As most of the Bios update needed for development requires partial change in the
memory, the SF100 software offers a “Smart update” to Erase, program and verify
only the sectors with differences (new Bios versus previous Bios). The “Smart
Update” feature reduces significantly the bios update time to few seconds only.
USB mode:
The programmer is connected to the host computer via the USB bus.
The memory management is controlled from the DediProg tool.
This mode is very convenient, friendly and gives access to a large amount of
features to be used by the experts (design, software, hardware, product, test or
quality engineers). It also offers an automatic mode that can easily be used by
inexperienced operators.
User can freely select between a friendly Window Graphic User Interface
(GUI) or a convenient Dos Command Line.
The SF300 programmer offers an additional mode, the stand Alone, that can be
manually selected by a switch.
¾ The memory Vcc is managed safely by the programmer to supply the target
motherboard memory only when needed and is switched OFF when operations
are completed.
¾ The SPI signals are also applied only when needed and are switched in High
Impedance when operations are completed.
¾ All the ISP pins are protected with ESD high performance protection devices to
discharge the Electrostatics charge before the connection to protect the
application.
Advantages:
¾ The programmer is plugged on the application board with Vcc OFF and SPI
signals have High Impedance to block inrush currents.
¾ Motherboard can work with the programmer connected without any functional
interference (helpful for Bios development).
Motherboard
Red wire: SPI Programmer
Header
(T i )
1 Vcc GND 2
3 CS CLK 4
SF100
7 Empty I/O3 8
Programmer
The ISP (In System Programming) is particularly appreciated for its update flexibility
and performance:
¾ In development:
- Easy to update or read the memory on board (no need to unsolder parts).
- Fast update thanks to the Smart update feature
¾ In production:
- Easy to implement and no technical expertise required
- Safer: programming after the memory manipulation (soldering, test)
- Flexible: update at the last time in production line or in storage area with the
last code revision or according to the last ordering
- Performance: the DediProg ISP method uses a Fast and direct connection to
the memory via the SPI bus optimised for the Serial flash speed (not limited
by a slow interface).
- SF100 can be used for ICT programming and can be controlled by tester
using our CML or .dll.
- SF100 can be used for ISP mass production programming by using our
production software (Multi-Programmer).
DediProg team will help you to have a clear overview about all the solutions
according to the chipset suppliers and select the optimized one. Our team will also
help you to generate one document where all updating steps will be described simply,
helping non expert or non technical employees to perform the bios update according
to the models. Please download the application note AN0106 "On board SPI
programming with DediProg tools: End user version" and contact us for
adaptation to your portfolio.
Important: In this document, “Chipset” includes all the application controllers who
drive the Serial Flash: Southbridge, Super I/O, Embedded Controller etc..
Chipset capabilities:
Condition 1: If not powered, the Chipset is tolerant to the SPI signals
on its SPI IO through 100 Ohm Serial Resistor.
Condition 2: SPI outputs are in High Impedance when the Chipset is reset.
Condition 3: When motherboard is in Stand By mode (supplied but not turned ON),
the chipset and memories are supplied and the chipset release the SPI
bus in high Impedance.
Condition 4: When motherboard has finished booting, the chipset release the SPI bus
in high Impedance.
Updating Methods:
1) Update the Bios memory when “Power ON and power OFF”
This solution offers to the final user the same updating method what ever the hardware,
chipset or motherboard conditions.
3) Update the Bios memory only when Chipset releases the SPI bus
This solution offers to the final user the same updating method but requires from him to setup
the motherboard in a specific updating mode.
Designers can select one of these three methods to be applied on all their
motherboards projects and adapt the hardware schematics according to the
chipset capabilities. In this case, the Bios memories can be updated exactly with
the same method for all the different projects.
These designs are recommended by DediProg as it will offer a simple, flexible and
safe method to update all the motherboards with the same tools and by the same way.
Same method means same way to update the Bios at the user point of view but the
design can be different according to the chipset used.
This is also the most convenient way to program the memory in production line or
update the corrupted content in repairing channel or storage area. Actually, when the
board is received, the operators just have to connect the programmer on the
motherboard connector and start the update on the naked motherboard. Fast, simple
and convenient, this method does not require to connect the motherboard to ATX
power supply or to connect peripherals to perform a boot.
¾ With a Diode:
The memory will be supplied through the diode when the motherboard is ON. The
diode must be selected with a low threshold drop down to keep the serial Flash
supply compliant with the memory supplier specification (Often 2.7V/3.6V). When
the motherboard is OFF and memory supplied by the programmer, the diode will
prevent the rest of the motherboard to be supplied with the programmer Vcc.
¾ With a N Mosfet:
When the motherboard is supplied, the MOSFET is ON. The Serial Flash memory
is then powered by the motherboard.
When the motherboard is not powered, the MOSFET is OFF. The motherboard is
then protected from the programmer Vcc.
When compared to the Diode solution, the Mosfet isolation has the advantage to
reduce the drop down of the memory Vcc when motherboard is ON thanks to it is
small Ron value. It is usually recommended to drive it with the highest voltage
(+5V/12V) to reduce the Ron.
Remark: The Mosfet must be connected carefully according to the parasitic diode
effect when not powered. The diode effect must prevent the current leakage from
the ISP Vcc to the Motherboard (contact our support team for more information).
- Motherboard ON: The programmer has been designed to be transparent for the
motherboard even if connected. When the update is requested by the user, the
programmer drives automatically the IO3 signal low to reset the Chipset and switch
its SPI outputs on High impedance. Then the programmer can drive the SPI bus safely
to update the Serial Flash. After update, the programmer switches its outputs in High
impedance and release the Reset signal so the motherboard can boot on the new Bios
version.
c) Hardware Requirements:
- One N Mosfet
- Four Serial resistors (the SPI bus parasitic capacitance must be minimized by
placing the Chipset, Serial Flash and ISP connector as close as possible)
- One pin header connector (can be 2.54mm or 1.27mm)
Remark: The Serial resistors (R1 to R4) are also useful to filter the under and
overshoot of the fast SPI signals. The CS pull up resistor (R5) deselects the memory
when chipset does not drive the bus and protect the memory from noise.
Chipset requirement:
Î no conditions required (work with all the chipsets)
For Cost reduction reasons, DediProg recommended to use the schematic 1 if the
Chipset is compliant with the “condition 1 and 2”. If not, designers can implement
the reference schematic 2.
This schematic is compliant with all South bridges such as Intel ICH7, ICH8, ICH9,
etc..
As these Chipsets are not tolerant to SPI signal when Chipset is not supplied (High
current injected) or because the SPI outputs are not switched in High impedance when
the Chipset is reset, designers must implement some isolations on the SPI bus to
protect the Chipset during the update with motherboard OFF or avoid any conflict
with the programmer during the update with motherboard ON.
Remark: The Mosfet must be connected carefully according to the parasitic diode
effect when not supplied. The diode effect must prevent the current leakage from the
ISP connector to the Chipset.
- Motherboard ON: When the motherboard is supplied, the MOSFET are closed and
ensure a perfect communication between the Chipset and the Serial Flash (small Ron
if driven by 5V or 12V). The programmer has been designed to be transparent for the
motherboard even if connected. When the update is requested by the user, the
programmer drives automatically the IO3 signal low to switch OFF and open the
MOSFET. Then the programmer can drive the SPI bus safely to update the Serial
Flash as they are isolated from the Chipset. After update, the programmer switches its
outputs in High impedance and release the IO3 signal so the MOSFET are closed and
the Chipset can boot on the new Bios version.
c) Hardware requirements:
- Five N Mosfet
- One Serial resistor
- One pin header connector (can be 2.54mm or 1.27mm)
Conclusion:
If you implement the schematic 1 when the Chipset fulfill the Condition 1 and 2 and
the schematic 2 when the Chipset doesn’t fulfill the Condition 1 and 2 then all your
motherboards will be compliant with our “Universal ON/OFF” method and will be
optimized for cost reduction. The users (Bios engineer, R&D, operators in production
or repairing) will be able to implement a unique and simple way to update the bios
what ever the motherboard model, the Chipset used or the Motherboard conditions.
These designs offer a simple, flexible and safe method to update all the motherboards
with the same tools and by the same way (motherboard ON).
Same method means same way to update the Bios at the user point of view but the
design can be different according to the chipset used.
Chipset condition:
- Condition 2: SPI outputs are in High Impedance when the Chipset is reset.
a) Updating conditions:
- Motherboard ON only
c) Hardware Requirements:
- Four Serial resistors (the SPI bus parasitic capacitance must be minimized by
placing the Chipset, Serial Flash and ISP connector as close as possible)
- One pin header connector (can be 2.54mm or 1.27mm)
Remark: The Serial resistors (R1 to R4) are also useful to filter the under and
overshoot of the fast SPI signals. The CS pull up resistor (R5) deselects the memory
when chipset does not drive the bus and protect it from noise.
Chipset condition:
Î no conditions required (work with all the chipsets)
For Cost reduction reasons, DediProg recommended to use the schematic 3 if the
Chipset is compliant with the “condition 2”. If not, designers can implement the
reference schematic 4.
a) Updating conditions:
- Motherboard ON only
Remark: on the schematic of figure 8, the MISO Mosfet (Q4) is needed to protect the
Chipset when update is performed with motherboard OFF (Chipset not supplied) and
avoid current injection in the Chipset input buffer.
c) Hardware requirements:
- Three N Mosfet
- One Serial resistor
- One pin header connector (can be 2.54mm or 1.27mm)
Remark: The Mosfet must be connected carefully according to the parasitic diode
effect when not supplied. The diode effect must prevent the current leakage from the
ISP connector to the Chipset.
Conclusion:
If you implement the schematic 3 when the Chipset fulfill the Condition 2 and the
schematic 4 when the Chipset doesn’t fulfill the Condition 2 then all your
motherboards will be compliant with our “Universal ON” method and will be
optimized for cost reduction. The users (Bios engineer, R&D, operators in production
or repairing) will be able to implement a unique and simple way to update the bios
what ever the motherboard model, the Chipset used but only with the Motherboard
ON.
Remark: Designers need to be sure that in Stand By mode, the motherboard will
supply the Chipset and the Serial Flash memory (3.3V) and that the Chipset releases
the SPI bus in high impedance.
Remark: Designers need to be sure that after have booted, the Chipset will not try to
access the serial Flash during the ISP update
In this case, DediProg recommends to provide a clear dedicated document where all
the methods are clearly detailed according to the motherboard models. This document
(motherboard maker specific) will then be useful for the final user that will attempt to
update the Bios memory in these different conditions.
a) Updating conditions:
- Motherboard supplied but update only during Stand By mode or after boot.
c) Hardware requirements:
- Four Serial resistors (the SPI bus parasitic capacitance must be minimized by
placing the Chipset, Serial Flash and ISP connector as close as possible)
- One pin header connector (can be 2.54mm or 1.27mm)
Remark: The Serial resistors (R1 to R4) are also useful to filter the under and
overshoot of the fast SPI signals. They are also a protection in case, the Chipset
attempt to access the Serial Flash during the ISP update. The CS pull up resistor (R5)
deselects the memory when chipset does not drive the bus and protect it from noise.
2.6. Conclusion
We recommend to the motherboard makers to select one of these updating methods
in order to rationalize their solutions and offer to all the actors involved on the
motherboard chain ONE UNIQUE METHOD to update all your motherboards
portfolio and make it simple and convenient.
This tool is very convenient for Bios development and for repairing in case, the ISP
method cannot be supported by the motherboard.
The DediProg Backup Boot Flash tool can be connected on the motherboard pin
header as below:
Table 2: 1 CS VCC 2
3 MISO Hold 4
5 x CLK 6
7 GND MOSI 8
2) Replace the Main Serial Flash by a SMT Straight 1.27mm pin Header
This solution is very convenient for Bios development. The main Serial Flash is
unsoldered from motherboard and our SMT Straight 1.27mm Pin header is
soldered on its SO8 footprint. The Backup Boot Flash tool can then be connected
for a perfect stability (no impact on the production version).
Fig 17: Backup Boot Flash connection on the Serial Flash package
3.3. Conclusion
The Backup Boot Flash method can be easily implemented without any complex
hardware modification and even used in most of the motherboard without any
modification but you have to remember that this method will not be the best
choice for all the parties involved in the bios management (production, repairing)
versus the ISP method.
Actually, The Backup Boot Flash method needs a Boot of the motherboard so:
- Requires the complete computer booting environment (ATX power, processor,
monitor, Keyboard, mousse, RAM..).
- Requires the Flash utility tool (dos or window version)
- Requires more time to complete the Bios update versus the ISP method