The software design also can solve part of static
discharges The static discharge firmware and the software
principle of design in deals with the static discharge aspect, besides
the well known hardware method, the firmware and software also is
playing the vital role. Although the firmware design cannot prevent in the system the
component damage, but can effectively avoid some non- permanent
damage. Through firmware which suitably reads in, cannot be
restored the equipment failure (deadbolt lock) usually may avoid, may
restore the breakdown also may reduce 10 times. Is similar to on the hardware the static discharge measure to be
same, the anti- static discharge firmware also has the price.
Usually, the procedure can bigger somewhat, this mean need
longer programming time and memory cell. When measures the
success and failure, must does this kind of price and time the pure
dependence hardware solution static discharge question cost the
contrast. In in many microprocessors applications, the firmware
measure cost must be lower than the hardware. When compilation static discharge 抗扰?strong firmware
certainly must set up an idea is "not the determinism". Also is,
certainly cannot think the port, the register and so on the condition
is certain. For example, when uses an index register, should
ask, if this index has time the mistake, can have any question.
If only only has some temporary or the immaterial question, if
the light emitter diode glitters, then does not need any special
processing. If can have very serious issue, for example
phylogeny deadbolt lock, then must take the measure to avoid the
question the occurrence. The firmware (software) the static discharge measure may divide
into two kinds: * Renovates * The examination and rereads in Under discusses each kind of measure from the concept,
and produces some examples. Because is impossible to foresee all
peculiar circumstances, must enable the firmware to resist the static
discharge, designs the personnel to have to have a comprehensive
understanding to the overall system. Although the under
discussion mainly aims at the firmware, but many concepts regarding
the software design also are suitable. Renovates: Carries on when renovates, programmer not nice past situation,
but only will be guarantees the next condition with the determination
data. For example, when reads the fetching from 8,409 ports
according to, certainly must first to the port read in the data.
Even if this port has not later rewritten from an on renewal,
also must carry on this step. Do not think on the port also is
retaining the data which on time reads in. Renovates when needs
to consider other factors include: A) opens the severance according to the certain time-gap to
enable the end (in 8049 is RETR, in 8051 is RETI) B) when the port uses in the serial data output,
renovates stops the position the level. C) renovates the latch and the port output condition. D) regularly reads takes the control and the choice input, the
guarantee system work in the suitable condition. E) regarding 8,049 and 8,051 processors, in each procedure ring
circuit at least has a register select order. When carries on renovates, another needs to consider the
factor is an order which renovates. Sometimes, renovates the
order is extremely important. For example, in the lock
input/output, the data line certainly must in front of the clock line
renovates. Otherwise, the process renovates the clock can cause
the data position loss. 如前所, certainly must consider
under the wrong condition each instruction order. Examination and replacement: Sometimes, purely renovates or insufficiently. In some
situations, renovates even can cover some serious issue. In
these situations, the register, the port and so on need to confirm its
condition through the examination. If the condition is not
right, the procedure should attempt to it to carry on the correction. Carries on the replacement (or initialization) when certainly
must be extremely discrete. Although the system condition
possibly has the question, but the system thorough initialization
certainly is not a good method. This could lose all past the
data. Should observe the principle is, causes the system to be
at the most possible condition, but this condition should cause the
question the harm to be smallest. If some keys project not most
possible condition, then should retain its condition. This will
be advantageous for later to use the voting the way to determine the
current condition. Usually, "3 takes 2" the voting way was
allowed. The examination function usually may divide into 3 kinds.
Below specially must do examines, if the discovery mistake,
needs to initialize. A) the test routine flows whether correct: Front 1) in the master routine, returns in the subroutine, wants
the periodic inspection subroutine storehouse indicator, confirmed the
subroutine in prearranges in the scope moves. 2) if does not inspect the storehouse indicator (or in
inspection storehouse indicator foundation), may use "the product
label" to help in the discovery procedure movement the question.
When enters a sub- procedure, preserves the product label, when
leaves the subroutine, inspects this product label. 3) in is durable in the region to arrange "the trap" the code,
for example code table or useless severance vector. When the
procedure needs to carry out these yards, is held (for example has not
arranged in use form bridging order). For the inspection routine below flows whether normally, also
should contain two stature procedures in the procedure: 4) in order to confirm the master routine movement is normal,
should have the time procedure which never can stop and expire. 5) the master routine should above the regular inspection fixed
time the procedure, confirm whether it does move normally (outside if
the microprocessor in has not set the timer, may use the hardware
which sets "看门? the electric circuit. When the processor
not on time repositions the timer, outside sets at the electric
circuit to be able to reposition the processor). B) examines the data and the information which saves are
whether correct 1) regularly carries on the vote to the retention
project, if does not have the uniformity, carries on the
initialization. Specially, the condition symbolized (specially
is enables sign) to have to retain has the backup. Besides
backup, but also may use the error correcting code. 2) regarding the index and other some extremely important
register, in uses in front of the data which its saves, must to its
value or the scope advanced line of inspection. 3) if the essential data are very many but does not suit the
backup, or is unable when examines all information, may use the
examination and or the periodic redundant check (CRC) comes to the
block data examination. C) to inputs carries on the examination with the output 1) uses each method, like the parity check, the
examination and so on, to input carries on the examination 2) confirmed the data-in the rationality, some data
possibly have the obvious mistake. 3) at least takes a sample to all inputs level level two time to
realize to the noise "the software filter" 4) through causes the receiver response output stage to
carry on verifies the out-port 5) the receiving device ought to be able to distinguish
all effective input signal, if the receiving device cannot
distinguish, then the transmitter installation should have the again
through-put capacity. If above the measure cannot correctly inspect, then requests to
be able the self-recovery. Certainly, this kind restores the
ability usually not to be able with to add the electricity (or
hardware) repositions in the process the initialization routine to be
different, RAM should not clear remove. In fact, when (ESD)
causes the wrong procedure reverse replacement as a result of the
static discharge, carries out the hardware initialization routine not
to be supposed to hinder the processor the work. This usually
may reposition the procedure through the inspection execution hardware
the symbol register priority to complete. If already established
the symbol, then should avoid completely repositioning. When
master routine execution, this sign reis established, generally only
is repositioned by the processor actual hardware eliminates.
Specially, usually should complete the replacement according to
the below step: 1st, replacement subroutine storehouse indicator. 2nd, repositions the FIFO indicator. 3rd, reset counter. 4th, prevents the suspicious code the transmission. 5th, completes when the replacement only then permits the
severance, then restarts the counter again. 6th, replacement severance indefinite symbol 7th, renovates the output. 8th, if the main engine system accepts the replacement, an
easiest to use its round pound code informs the replacement to
complete. Then, the main engine may take the measure all to
guarantee the system partial all to harmonize identically works. 9th, certainly, the replacement procedure must eliminate causes
the replacement movement concrete question. The above majority of discussions suppose the system to be
at the executive routine in the condition (although is not necessarily
correct), ` if the procedure includes the form, the processor possibly
can carry out these unit values with every effort and take it as the
instruction. Theoretically speaking, the memory unit value
possibly can cause 看门?the counter to stop counting, thus causes
the processor to enter the endless loop. Regarding this kind of
situation, may receive the logical analyzer the address bus, like this
has the possibility to find the question the crux to be at. A
circulation period memory unit value should replace by a bridging
order. This generally can cause the processor to jump out the
circulation, thereupon the procedure possibly can change, therefore,
is replaced the unit value then passed through the special way to
carry on processing. (If has the possibility, the idle memory
unit address applies to controls this to return to the operation code.
In fact, if front place states, fills up the return code all
idle addresses is extremely has the possibility.) Certainly,
this logical analyzer also can discover the procedure other parts of
endless loop. However, if uses has 伪程?the monolithic
microprocessor to carry on the design, then the address bus will
change invalid. In this kind of situation, after the debugging,
the procedure may has "the static discharge reinforcement" in the
simulation system the nature. Once the procedure is debugged
good also the movement normal speech, it may change the register the
value to simulate the static discharge effect at will. The program counter is very essential, should establish at will
the value. Moreover, the subroutine storehouse indicator should
establish the variable value. Through makes these changes in the
simulation process also does not affect the result, many latent
questions all may be able to discover. This method certainly not
always effective, but has the special question the system is does not
permit. Using these principles, with the firmware correlation
static discharge question on the other hand can very few.
 |