Abstract
In the capstone project on the topic: "The software
specialized logic analyzer (ALS) has developed management
programs and self-control of ALS on based single-chip
microcomputer AT89C52, and also exchange data with PC via an
interface RS-232 with software compression.
ALS is working with the management
PC for the issuing of the results read on the screen and record
it on magnetic media.
Functional diagram of the device, the description of
algorithms and software programs themselves, the creation and
justification of the method of data compression, as well as
testing technique developed software and performance evaluation
programs are given in settlement memorandum.
Software developed in Assembler,
Compiling and Debugging held by
Package Asm51Edit 2 + Debugger-51.
This software is included in the
of the software system developed by the scientific and
technical department of the Federal State Unitary Enterprise
RCB <Globe>, which was created diploma
project.
Summary
In given degree project on a theme:
"Software of specialized logic analyzer
(SLA) "has been developed program of management and
self-checking and data exchange with PC by interface RS-232
with a program compression.
SLA is based on microcontroller AT89C52
and works together with manager personal
computer, which can view results on the
screen and record them onto magnetic disk.
Functional scheme of SLA, description of
algorithms and programs, compression method
creation and explanation, testing methods
and examination of results of work of programs - are given in
an explanatory note.
The software is written in ASSEMBLER
language. Compilation and debugging are
carried out with the help of package
Asm51Edit 2 + Debugger-51.
The given software is a part of the
program complex, which is being developed
by a scientific and technical department
of design office "the Globe" where the degree project was
created.
Contents
1. Introduction .............................. 4
2. Feasibility Study ..... 6
3. Statement of the Problem .................... 10
3.1. Principles for building an ultralight ............ 10
3.2. The block diagram of ALS .............. 14
3.3. The command system of ALS ................. 21
3.4. Develop requirements to the program .. 30
4. The theoretical part of .................. 36
4.1. Timing measurement ........... 36
4.2. Selection and justification of
Development .......................... 48
4.3. Development of general and detailed
algorithms of the program ................ 50
5. The practical part of ................... 57
5.1. Features of development programs
for OEVM ............................ 57
5.2. Development and description of the program
for OEVM ............................ 60
5.3. Standalone debugging program
Model .............................. 68
5.4. How to work with ALS .............. 76
6. The economic part of .................. 79
6.1. Defining complexity of development
software ............... 79
6.2. Building a ribbon graphics ...... 82
6.3. Estimating the development .... 83
6.4. Conclusions on cost-effectiveness
software ............... 86
7. Safety and environmental proekta.87
7.1. Analysis of working conditions in the premises
with PC .............................. 87
7.2. Selecting the method of conditioning
room with PC .................... 94
8. Conclusion ........................... 99
9. Literature .......................... 100
10. Applications ......................... 102
1. Introduction
The life cycle of electronic products, produced by the
enterprise, includes the following steps:
■ development of the concept and other necessary design
documentation; ■ manufacturing;
■ control of manufacture;
■ setting;
■ operation.
Design, manufacture and commissioning complex electronic
equipment (REO) unthinkable without the use of
avtomatizatsii.Primenenie various automated systems (AS) can
significantly shorten the product development, to minimize
errors and increase reliability apparatury.V presently a member
of the AU as the controls are widely and effectively used as a
specialized computer and universal computer. Modern personal
computers for various speakers have acceptable parameters, such
as high speed (Hundreds of millions of operations per second),
a large amount of memory (hundreds of megabytes), the
possibility of long-term storage large amounts of information
on magnetic and other carriers, the ability to exchange data
with external devices at high speed, multitasking, etc. It
became possible to implement algorithms that have previously
almost could not be implemented because of lack of memory
capacity and speed.
The process of creating a modern electronic equipment is
complex and accumulates errors at all stages. Part of the error
is detected only after a build, in phases
control of manufacturing and setting are already operating
device.
It is therefore important in the production equipment has
debugging process of setting up and operation.
A large number of instruments and devices used in the
enterprise RCB <Globe>, focused on a common bus connection type
MMI. Adjustment of devices connected to the bus MMI requires
the use of logic analyzer. Logic Analyzer - a measuring
instrument, a function which is the removal of the timing
charts of digital signals (hereinafter - the measurement) with
a time-bound withdrawal timing chart at the time of occurrence
of certain combinations of signals (synchronizing combination).
The need for a logical
Analyzer (LA), as well as focus on the basic design decisions
predpriyatiyaizgotovitelya required the development of
specialized aircraft (ALS) in the construction business.
An integral part of automated
debugging the equipment, based on
ALS is a software
core devices - single-chip microcontroller, which supports
management of the hardware monitoring and dialogue with PC.
Development of such software, and is dedicated to this
thesis project.
2. Feasibility
rationale for developing
In the large enterprise shops
often required to implement centralized control and management
of multiple devices.
On Federal State Unitary Enterprise RKB <Globe> developed
specialized intermodule interface (MMI) oriented to connect to
one bus a number of devices and control their behavior with the
mainframe.
Debugging devices connected to the bus
MMI, requires special equipment, such
as digital storage oscilloscopes or
logic analyzers. Localization error
in each device with manual control
(Functional testing) can take
several days, while special equipment can find the same error in
within a few hours or minutes.
Logic analyzers, in this case
preferable because of the large number of simultaneously
observed signal lines, which makes it possible to trace the
interaction processes signals according to from each other in
terms of their aperiodic education. Identification of some
errors of schemes devices is almost impossible without the
simultaneous observation of the majority of the signals. For
example, pairwise comparison 32 MMI interface signals on a
two-beam oscilloscope includes 32.31 / 2 = 496 measurements
with different probe position, whereas logic analyzer can
perform the same problem for 1Ў3 measurement, depending
the number of simultaneously analyzed lines
for the aircraft. In this case, the logic analyzer has the
ability to automatically synchronize to some combination
signals generated on the bus, which allows avoid manual
analysis of long sequences of recorded signals.
Produced in series logic analyzers are described, for
example, [7], because its stationarity is difficult to use for
monitoring equipment in the existing shop. Moreover, conditions
in the shop often do not meet performance characteristics of
the device, which can lead to its incorrect operation or
malfunction. So the best solution would be handheld
a dedicated logic analyzer
(Ultralights), dividing the functions of a computer, as
which may be a modern personal computer equipped with a serial
RS-232 to communicate with ALS on twisted-pair. A full
display installed on a PC, allows
reduce the complexity of visual work
operator of ALS, and a powerful central processor enables PCs
to implement algorithms computer analysis of the removed signal
sequences. When using the bank of reference signals can
completely automate the process of testing to the standard
equipment.
Specialized logic analyzer differs in that its connection to
bus will be the only way to help boards being placed in one of
Slots intermodule interfeysa.Eto avoids a lengthy process of
placing probes on the signal conductors, paired with errors
that can not only lead to incorrect measurements, but also to
burnout test equipment.
When the above system design
ALS - PC device ALS should be the most prostym.V Currently it
allows to achieve the use of SoC technology
mikroEVM.Sovremennye microminiaturization allowed to place on a
single chip CPU, ROM, RAM and controllers of access to external
ports.
Microcontrollers MCS-51 family (domestic counterparts - the
family MK51) were popularity among other microcontrollers
because of particularly good architecture, convenient for the
design based on her various devices. Has proved useful to use a
portable ALS chip AT89C52, compatible with MCS-51, but reflect
greater performance, increased in comparison with their
predecessors RAM and ROM, as well as an improved mechanism for
synchronization.
Since the process of removing the signals specialized logic
analyzer has to produce at high frequencies
(Up to 5 MHz), for which no
fit the selected microcontroller, you need to mount in the same
device SRAM with the scheme of automatic
write to one of the tires of MMI. In this scheme
records must be controlled programmatically
software controller AT89C52, which
in turn, must execute the commands
transferred to the control program running on a PC.
Also, the microcontroller must perform periodic health check
of ALS RAM (self) and encoding data (with compression and error
protection) transfer them to the PC via an interface
RS-232.
A significant factor influencing the time
development described above, ALS is
design-time control software
ensure mikrokontrollera.Eto time is significantly reduced
through the use of specialized cross-development tools:
krossassemblerov, debuggers, and in-circuit emulators, etc.
Conclusions:
1. Any device after assembly may contain errors that can be
localized with debugging at the stage of operation.
2. Fittest device
debugging devices connected to a common bus type MMI, is a
specialized logic analyzer (ALS). 3. The portable part of the
SLA should be compact, which is achievable with modern
technologies (single-chip microcomputer, in future - OEVM).
4. Necessary software for
management microcontroller - the core of ALS.
5. Should apply specialized
cross-development tools and debug software ALS.
Requirements for the product:
1. The program should provide specialized management board
logic analyzer. 2. The program must be placed in ROM
Microcontroller AT89C52 (volume of 8 kilobytes).
3. The program needs to communicate
with PC via serial interface
RS-232 with a speed of 19200 baud.
4. Format parcels between ALS and the PC should
comply with standards adopted by
enterprise.
5. The program must perform the following
main functions: starting and stopping measurement task
measurement modes, transfer measurement data on PC,
self-control and issuance of state of the logic analyzer.
6. All actions should be carried on
commands sent from a PC.
3. Problem Statement
3.1. Principles for building an ultralight
Depending on the implementation of logic analyzers can be
divided into two Class:
■ fully implemented by hardware;
■ controlled by a PC.
In the case of a hardware implementation of opportunities
for interaction with the operator, the organization of files
and protocols significantly limited. An example of
hardware-based aircraft are devices Thandar TA 2080, Soar 1420,
Racal Dana 202 [7]. The implementation is integrated with the
control PC has the following advantages:
■ developed a means of user interface, allowing the operator
to organize the interactivity with the control PC;
■ opportunities for storage and
editing of documents accompanying
process of adjustment;
■ reducing the time required for the introduction of the
original data; ■ the possibility of implementing complex
control algorithms; ■ High flexibility;
■ the possibility of interaction
Database;
■ possible through automation, interfacing with CAD systems,
etc.
In this diploma project is developed specialized software
logic analyzer, integrated with an IBM-compatible PC.
Description structure and operation of the device are shown in
Sections 3.2 and 3.3 of this diploma
project.
Develop specialized logic analyzer (ALS) is composed of two
parts: a portable unit with a commuting
connector (plugs with jumper), intended for connection to the
bus MMI, and stationary computers total naznacheniya.Dve parts
are interconnected by bus cable with a serial protocol for
standard RS-232 frequency of 19200 bps.
The portable part of the ALS is based on single-chip
microcomputer AT89C52 and operated program in the language
ASSEMBLER.Dannaya program should handle the requests received
through the channel PC-ALS, and depending of these requests: to
control the work recording and synchronization schemes, placed
on the same portable part, return the data in compressed form
to the main Computers, as well as to produce self-schemas
devices on the team and for inclusion.
Recording scheme, and synchronization work
separately from the microcontroller, but to manage it. It
provides data on logic levels on the bus with MMI high
(Up to 5 MHz) sampling frequency,
which is impossible by means of the microcontroller AT89C52.
Scheme of records contained on a portable
parts, writes to dual-port RAM
(Dose) of arbitrary cross-connected 32
MMI bus lanes with a sampling frequency defined by a
programmable counter-taymerom.Pri This division ratio of base
frequency, which yields a sampling frequency of recording
signals in the dose given command of the microcontroller.
The scheme of synchronization with the control unit starts
and stops scheme records in RAM after the bus
certain combination of logic levels
signalov.Sinhroniziruyuschim can be of any
set of 16 signals shiny.Sinhroniziruyuschy
set of signals given by the microcontroller
in the form:
■ 16-bit mask participating in the comparison
signals;
■ 16-bit polarity involved in comparing signalov.Polyarnost
signals outside the mask, when compared to the synchronization
is not considered.
Unlike an oscilloscope, which usually starts at the first
crossing of a predetermined threshold, the aircraft may have
multiple modes running [7]:
■ Start with the appearance of the word
data, ie analyzer is triggered when
inputs form part of a combination of data;
■ pre-launch / poslezapusk used
to remember, and if necessary, and the input data indicating
that came before the launching of speech and after it; ■
Start-up, when there is a definite difference between the
expected signals and received input data, etc.
Developed ALS should work
several modes of synchronization run:
clock signal occurs at the beginning / before the read sequence
(span), or at the end this interval, either in the middle.
Therefore, synchronization scheme can start reading before the
synchronization combination or some time thereafter. With the
help of other programmable counter-timer is given time off
delay circuit record. Time delay start / Stop recording scheme
is given in units of the microcontroller AT89C52 sampling
period are read.
Used chip RAM has a capacity of
16 Kbps (for storing up to 4096 readings
32 channels). Wiring diagram of the RAM
is a conditional two-port, ie, to her
access scheme and the recording and mikrokontroller.So by
recording scheme has 12razryadnaya address bus and 32-bit data
from the microcontroller - 14razryadnaya address bus and 8-bit
data. DOSE is located in the address space of the external
memory OEVM in lowest address.
All measurement parameters (type of synchronization,
synchronizing the combination, the number of points of the
interval measurement, sampling, etc.) are specified by the
operator and the main PC to be transmitted to the SLA on a
serial interface together with a command or query. ALS software
must interpret and execute commands and requests filed with the
PC, and return on the serial interface
data on the results of execution.
PC, which manages automated debugging of equipment based on
ALS, should display the read sequence of logic levels of
signals and display these signals in the form of a graph.
For management of ALS can be used almost every model of PC,
equipped with a graphic display, archival memory and serial
interface RS-232.
The device of ALS, but also based on
It debugging equipment detail
considered in the next section.
3.2. The block diagram of ALS
Specialized logic analyzer controlled by a PC consists of two
main components:
■ LA (ALS);
■ Leading (control) computer.
The block diagram of ALS with control
PC is shown in Figure 3.2.1.
PC OPERATOR
RS-232
| |
OEVM SH.UPR
| |
| |
RAM SH.ZAP
| |
ALS MMI
Yi
Ris.3.2.1. The block diagram of ALS.
The scheme marked by:
■ OEVM - CPU ultralight, single-chip microcomputer AT89C52;
■ PC - Control PC connected to
ALS using a serial interface
RS-232;
■ yi - debugged device connected to the bus;
■ MMI - MMI common bus (intermodule interface);
■ Sh.Upr. - Account management scheme in
RAM;
■ Sh.Zap. - Scheme of automatic recording
in the RAM data, taken from the bus MMI.
Functional diagram of the device depicted in Figure 3.2.2.
[Prim.izdateley: here was a scheme in landscape layout,
sm.grafichesky material]
Ris.3.2.2. Functional diagram of ALS.
The scheme designated (in addition to the described
above):
■ P0, P1, P2, P3 - bi-directional ports
OEVM for connecting external devices;
■ SHA - address bus;
■ SM - Data Bus;
■ WR - recorded signal to external memory,
generated OEVM;
■ RD - a signal read from external memory
generated OEVM;
■ ALE - strobe negative momentum generated OEVM transfer the
high part of address through port P0 when accessing external
memory; ■ TM1, TM2, TM3 - incremented counter-timers with a
programmable division factor of the base frequency. Controlled
pulse increment (+1). Because the counters run continuously,
the resolution transmission of the generated pulses of overflow
(OV) manages control scheme; ■ MMI - MMI with a common bus
connected debuggable devices Y1, Y2 ,..., yn.
■ TS - Schmitt trigger;
■ RG - buffers registers. OE - allowing input, controls the
third state of the output register. C - input pulse records in
the register; ■ DOSE - dual-port RAM, which accumulate
data on the logic levels of signals for
measurement period. OE - allowing entry.
WE - write enable input of RAM. From the OEVM DOSE decrypted
when A15 = 0; access to other devices implemented with A15 = 1;
■ Self-control - a route on which at
test value of ALS from the outputs of address counter are
supplied to kommutator.Eto allows a self-input channels ALS
after assembling the device; ■ F1 - clock.
Addressing devices on the internal bus
Address ALS has two simultaneously set bits addresses. Complete
device addresses are shown in Table 3.2.1.
Table 3.2.1
Device Address
Significant bits of the word polarity
sync combinations 0C000h
Significant bits words polarity
sync combinations 0A000h
Significant bits of word sync configuration combinations 09000h
Significant bits word sync configuration combinations 08800h
Initial state schetchikataymera TM1 (article) 08400h
Initial state schetchikataymera TM1 (Jr.) 08200h
Initial state schetchikataymera TM2 (article) 08100h
Initial state schetchikataymera TM2 (Jr.) 08080h
Initial state schetchikataymera TM3 (article) 08040h
Initial state schetchikataymera TM3 (Jr.) 08020h
Code switching devices 08010h
When "0" in the words of the discharge configuration -
channel is not involved.
When "1" in the words of the discharge configuration -
channel is activated.
"0" in the words of the polarity of the discharge - the
polarity of the signal "+".
"1" in the words of the polarity of the discharge - the
polarity of the signal "-".
Device switching commutes with a set of jumper bus line MMI
32 channels, numbered 0 .. 31, and returns
code of commuting Jumper
validation connect the
to the bus.
All counters, timers, 16-bit and work on the growth rate.
Overflow (OV) in counters, timers, generated during the
transition from 0FFFFh to 0000h.
Address space of RAM (16 kbytes)
divided into four regions as follows
read (ris.3.2.3):
3FFFh
These channels
3000h 24 ... 31
2FFFh
These channels
2000h 16 ... 23
1FFFh RAM
These channels
1000h 8 ... 15
0FFFh
These channels
0 ... 7
0000h
Ris.3.2.3. The distribution of data channels
in RAM.
In each of these channels are distributed on the bits of
bytes of RAM, as shown in Table 3.2.2:
Table 3.2.2
Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7
K.31 K.30 K.29 K.28 K.27 K.26 K.25 K.24
K.23 K.22 K.21 K.20 K.19 K.18 K.17 K.16
K.15 K.14 K.13 K.12 K.11 K.10 K.9 K.8
K.4 K.5 K.6 K.7 K.3 K.1 K.2 K.0
Protection circuitry protects the ALS exit
failure due to the possible occurrence of large
stresses on the bus in case of breakage kakogolibo MMI device
connected to the bus.
The work of ALS in the following manner.
On command <Original> ALS from PC to reset sostoyanie.Dlya
setting the initial state forms of ALS The following control
signals:
■ - resets the trigger circuits control the timing
records in RAM; ■ - reset signal is forced shutdown
control circuits.
In addition, given the initial state the serial port RS-232.
When a request is ALS programs all
schetchikitaymery specified in the query coefficients division,
puts in a word and configuration word of the polarity of the
desired type of sync combinations, and then creates the
positive momentum to start management scheme.
The control circuit for clock signals
counter TM1 sends a gating pulse
buffers to the register entries in the RAM, after
Why register on the outputs generated a stable combination of
logic levels 32 signals intended for recording and
gives impetus to write the appropriate
input RAM.
TM2 delay counter starts to run the comparison circuits and
guarantee entry in RAM, the required number of samples of
information about the channels until you sync kombinatsii.Eto
required in sync, at which the synchronizing combination should
occur in mid- or the end of measurement interval.
Count of the number of points TM3 determines how many
samples logic levels channels will be written after the
appearance of bus sync combinations. After
This scheme records into RAM automatically shuts off.
Timer values can be represented by
next Timeline (ris.3.2.4):
SC
written information is t
>
<T2> <T3>
<>
number of points
Ris.3.2.4. The initial values
counter-timers.
Here:
■ UK - the moment of occurrence sync
combination;
■ T2 - inverted primary content
counter-timer TM2 (as the timer runs on the growth rate);
■ T3 - inverted primary content
counter-timer TM3;
If you specify a form of ALS launch delayed
after receipt of sync combinations, while the delay measured in
strokes recording scheme includes (added with opposite sign) in
the initial contents of TM3.
Starting address read to the RAM is not defined, so a read
request memory and channels provided field start address for
reading, and the request <Read state LA> PC returns the current
state of the address counter.
3.3. The command system of ALS
To control the operation of a specialized logic analyzer with
PC must be provided for several
types of commands and queries that are sent via RS-232. For
shipment in PC data assume that the sequence of signals ALS
should provide appropriate responses (OS).
Formats of input and output messages
for ALS developed FSUE RKB <Globe> and
indicated in the technical task of development.
Information via the RS-232 transmitted frames. The exchange
is made at 19200 baud, 1 stop bit, 8 data bits no parity
control.
Frame structure is shown in Table
3.3.1.
Table 3.3.1
№ bytes Appointment
An operation code (CPC)
2 (inversion CPC) + 1
3 Number of bytes of data item. (Nst)
4 Number of data bytes ml. (Nml)
5 bytes of data 1
6 bytes of data 2
... ...
N +4 data byte N
N +5 checksum
Bytes 3Ў (N +5) - optional, they are present in the frame,
if 7-bit code operation is 1.
Checksum - add up to 28
sum modulo 2 bytes 3Ў (N +4).
Opcodes commands, requests and OS are shown in Table 3.3.2.
Table 3.3.2
Bits CPC Name
76543210 hex
Encoding Opcodes
commands and queries
00000001 01 Team <Original>
10000010 82 teams
00000011 03 Team
00000100 04 Team
00000101 2005 Request
<Read the state of LA>
10000110 1986 Request <Read RAM>
10000111 87 requests <Read channel>
Encoding Opcodes
Response
10000001 81 OS
00000010 02 OS
00000011 03 OS
<Error Data>
00000100 04 OS
00000101 05 OS
ALS provides the OS, if:
■ bytes 1 and 2 made no errors;
■ byte value 2 is the growth rate of inversion value byte 1;
■ adopted a valid CPC.
Otherwise, the OS is not issued.
ALS provides OS:
■ or if taken without error
correct command or request;
■ <Error Data> if an error is detected when receiving byte 3Ў
(N +5) or did not match the checksum;
■ if taken
incorrect data;
■ if passed incorrect CPC.
PC repeats the issuance of a command or request to M times
in the following cases:
■ there is no OS for T seconds;
■ encountered an error when receiving byte
1Ў (N +5);
■ did not match the checksums;
■ adopted OS <Error Data>.
Repeated or a new command or query
must be issued no earlier than t seconds after taking the OS.
Exchange parameters by default:
■ M = 4;
■ T = 4;
■ t = 0,1 sec.
The following are the formats of commands and prompts the
leading PC and the actions ALS performed in accordance with the
format received the command or request, and formats of the OS.
a) Team <Original>.
Table 3.3.3.
Command format <Original>
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
By this command:
■ issued a ;
■ Microprocessor module ALS is set to its initial state;
■ self-satisfied microprocessor unit ALS and the external
memory; ■ formed the word state of the aircraft.
b) Team .
Table 3.3.4.
Command format
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
3 Nst
4 Nml
5, the word configuration item.
6, the word configuration ml.
7, the word polarity of Art.
8 words polarity ml.
9 is running
10 Number of measurement points
1911 measurement period art.
12 ml of the measurement period.
13 Number of cycles delay station.
14 Number of cycles delay mL.
15 Checksum
By this command:
■ reset the status byte LA;
■ downloaded relevant registers
LA;
■ start the admission process sinhroslova
or measurements;
■ formed the word state aircraft;
■ issued a .
c) Team .
Table 3.3.5.
Command format
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
By this command:
■ terminate the admission process sinhroslova or measurements;
■ LA prepared for the next launch;
■ formed the word state aircraft;
■ issued a .
d) Team .
Table 3.3.6.
Command format
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
By this command:
■ issued a ;
■ self-satisfied LA;
■ formed status word on the results of self-control aircraft.
OS is issued before the operation to the PC can monitor the
successful reception of the team. The following command or
query may be issued no earlier than Tsmk
(To be determined in due course
after the development of the program LA). Default: Tsmk = 800
ms (time of the self-RAM and ROM).
e) Request <Read the state of LA>.
Table 3.3.7.
Request Format <Read the state of LA>
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
For this request:
■ given status word in the frame LA OS
;
■ reset ranks number number 0, 1, 2, 3 bytes
the state of LA.
Table 3.3.8.
OS code on request
<Read the status>
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
3 Nst
4 Nml
5 bytes of the state of LA
0p .= 1 refusal self-RAM
initialization
1p .= 1 refusal self-ROMs
initialization
2p .= 1 refusal self-RAM
3p .= 1 refusal self-ROMs
4p .= 1 expectation sinhroslova
5p .= 1 expectation of the end
measurement
6p .= 1, data in RAM ready
for extradition
7p. Reserve (0)
6 Code switching devices
7, the word diagnostic item.
8 words diagnostics ml.
9 State of the address counter st
10 state of the address counter ml
1911 Reserve (0)
12 Checksum
e) Request <Read RAM>.
Table 3.3.9.
Request Format <Read RAM>
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
3 Nst
4 Nml
5 Number of channels:
0 - (0-7) channel
1 - (8-15) channel
2 - (16-23), the channel
3 - (24-31), the channel
6 Number of initial bytes of Art.
7 rooms start byte ml.
8 The number of bytes of Art.
9 the number of bytes ml.
10 Checksum
For this request:
■ given a specified number of bytes from
specified number of bytes in a given group
RAM Aircraft operating in the frame .
Table 3.3.10.
OS code on request <Read RAM>
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
3 Nst
4 Nml
5 bytes of RAM, a
6 bytes of RAM, 2
... ...
N +4 N bytes of RAM
N +5 checksum
g) Request <Read channel>.
Table 3.3.11.
Request Format <Read channel>
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
3 Nst
4 Nml
5 Channel number
6 Number of initial bytes of Art.
7 rooms start byte ml.
8 The number of bytes of Art.
9 the number of bytes ml.
10 Checksum
For this request:
■ Choose the most efficient method
compression / encoding data
desired channel;
■ in a compressed / encoded form issued
specified number of bytes from a given number bytes for a given
channel of RAM LA in the frame OS .
When you send a chosen method of compression /
data coding, the most profitable for
the volume of parcels (transmission time) in this
sluchae.Vybor specific compression method is performed on
Statistics of fronts (Compression techniques discussed in
section 4.1: <Timing Measurement>).
Table 3.3.12.
OS code on request <Read channel>
№ bytes Appointment
1 CPC
2 (inversion CPC) + 1
3 Nst
4 Nml
5 methods of compression:
0 - constant signal 0
1 - Permanent signal 1
2 - signal with no compression
3 - signal is compressed by
bit RLE-method
6 bytes of a data channel
7 bytes of data channel 2
... ...
N +4 B N-1 data channel
N +5 checksum
These formats of commands and queries as
must be supported by the program management computer.
3.4. Develop requirements to the program
Based on the above formulated the following requirements for
program management of specialized logic analyzer.
The program shall maintain the following
stages:
1. receiving a command or request from the management
PC;
2. Preparation for measurement;
3. waiting for synchronization of the combination;
4. wait for the measuring and reading
Data Bus MMI in RAM;
5. data transfer to the control of ALS
PC;
6. self-control modules ALS;
7. setting the initial state and initialize modules ALS.
Receiving a command or request from the management
PC
Program management specialist
logic analyzer must produce
All of the commands sent from
PC. The program should expect to command or
query is always, except for time
she is not busy with other tasks, such as
self-control or data transmission.
In receiving a command or query
program must provide:
■ input validation for correctness;
■ in the case of correct reception of the frame program should
handle any given command and issue a reply message or ; ■ In the case of erroneous
reception of the frame (invalid length or mismatch control
amount) the program should give the OS <Error Data>;
■ in the case of incorrect input data
program should give the OS .
Preparation for Measurement
The beginning of the measurement should be initiated
operator controls the PC. When you receive the command management program must initialize the ALS counters,
timers and comparison circuit in accordance with those in
command data, and then apply to the input control circuit
positive momentum .
After that the program should be transformed into
Standby new request or command
with the control computer.
Measurement can be forcibly interrupted before its
completion when applying the operator controls the PC team
. In response to this command management
program must apply for ALS input control circuit positive
momentum .
Waiting for sync combinations
After starting the measurement, prior to
synchronizing a combination of ALS management program should be
in the loop standby command or request a personal computer. In
response on request <Read the state of LA> Program
should be in the running to return the body of information about
that LA is in standby mode
sinhroslova (set 4-th digit of the status byte LA).
Information about finding a LA Mode
expectations sinhroslova allows the operator to
Personal computer monitor <hang> LA (at
Waiting is not possible, for example, mistakenly
introduced, the synchronization combination) and
take a decision on compulsory termination of the current
measurement.
Waiting for the end of the measuring and reading
Data Bus MMI in RAM
During the measurement, after the receipt of
synchronizing a combination of ALS management program should be
in the loop standby command or request a personal computer. In
response on request <Read the state of LA> Program
should be in the running to return the body of information about
that LA is in standby mode
end of measurement (set 5-th digit of the status byte LA).
In sync after receiving sinhroslova begin automatic recording
in the RAM data bus channels MMI.V other modes of
synchronization record in the RAM starts up
sinhroslova.Poskolku expectation records in RAM requires the
introduction of the scheme has a counter, in the implementation
of ALS entry in the RAM starts to sinhroslova in all modes of
synchronization, but used only useful data is considered the
last. When recording an increase of addresses are cyclically
within each of the 4 areas of RAM.
Measurement is considered complete when
RAM is read by the required number of samples
useful data about the channels.
After completing the measurement circuit record
in RAM is disabled and the request <Read the state of LA> the
program should return information about the successful
completion of the measurement (Set 6-th digit of the status byte
LA). Of bits 4,5,6 of the status byte LA at the same time can
only be installed one.
Transferring data from an ultralight to the control
PC
Once the request <Read the state of LA> the PC will receive
a reply message containing information about the measurement is
finished, the PC may file a request for extradition measurement
data.
Program management of ALS should provide two modes of
transmission of the channels on PC: Each channel
simultaneously.
In the case separately to each transfer program
Management of ALS on request <Read channel>
returns in a compressed form of the required number of bytes of
data on the state desired channel stored in the RAM with ALS
specific address.
In the case of simultaneous transmission of a single query
PC <Read RAM> Program Management of ALS returns data
immediately about 8 adjacent channels, located in one area
OZU.Szhatie is not performed.
Self-control modules ALS
Self-monitoring of ALS is made immediately after the reset /
enable and team-PC <Run self-LA>.
Control program checks for ALS
the truth of the contents of internal ROM and
tests the performance of the external RAM.
At the time of self-control (Tsmk = 800 ms) of ALS are not
handles the message management computer.
Self-monitoring of memory produced by
control and sequential filling
RAM from the top down and bottom-up values
55h, 0AAh, 00h.
Self-control ROM is signature analysis: by comparing the
signature Rom, recorded in the last 19 bytes of ROM
(16 byte signature + 3 bytes of
amount), with the signature, calculated on the basis of
actual content of ROM. Signature
computed for each bit separately,
polynomial basis:
16 12 9 7
X + X + X + X + 1.
The efficiency of the input path and
recording scheme in the RAM is made by
institutions address counter outputs to the input switch, then
control the PC the general procedure can read these signals at
the request of ALS.
Setting the initial state and initialize modules ALS
Program management of ALS found in
initial state after reset /
inclusion and team-PC <Original LA>.
In the transition to its original state program is to
produce self-control and formed on the basis of its results
status word of the aircraft. Configuring modules ALS
initialization is reset signal lines and and
clearing the contents of the dose.
Input
Input data at different stages of the program are:
■ commands and requests issued by SLA to
RS-232 interface in accordance with clause 3.3.;
■ information obtained as a result of self-ALS;
■ information read from the bus MMI;
■ information about the status of ALS received
from the control circuit record in the RAM.
Imprint
Output of the program are:
■ response messages from ALS to RS-232 interface in accordance
with clause 3.3.; ■ signals given by the control circuit;
■ Information to be entered when you start measuring in
meters, timers, and a comparison circuit.
Requirements for the structure and parameters of technical
means
Management program should operate an ultralight single-chip
microcomputer AT89C52 clocked at 24 MHz, connected to
IBM-compatible PC via the serial interface RS-232 speeds
transmission of 19200 baud. Program should be placed in ROM
OEVM of 8 kilobytes.
4. Theoretical part
4.1. Timing measurements
For efficient operation of ALS cycle time
measurement and transmission of its results should be
minimizirovano.Rasschitaem this time.
Raw data:
■ speed data exchange interface
RS-232 (19200 baud);
■ performance OEVM AT89C52: machine
cycle (the time the simple commands)
500 ns at a clock frequency f = 24 MHz;
■ while reading a single quantum state
analyzed lines: 200 ns to 200 microseconds
(In practice, most commonly used operating range from 200 ns to
500 ns); ■ number of analyzed lines in the bus
(Maximum 32);
The total measurement time T is the sum of the following
times:
T = tSelect Tozh + + + Tcht Tpodg + Tper, (4.1.1)
where Tzap - the total time spent
to forward requests from a computer in ALS; Identically -
start measuring the waiting time for synchronization to a
specific combination of signals on the bus; Tcht - time spent
ALS to read and save in RAM data bus lanes MMI; Tpodg - the
time of preparation data to transfer; Tper - total time
spent on the shipment of ALS in a computer
information about the status of the analyzed lines.
In the fragments of time Tozh Tcht + +
+ Tpodg receiving side, waiting for the data, sends the
requests. But while these requests are not Tzap included, since
they all, except the last, do not increase the measurement
time. Last request must come after the preparation of data for
transfer, and itself transfer will be carried into his
receipt.
Tzap time depends on the number of bytes of C,
transmitted in the command and query
for ALS.
Let R denote the rate of exchange between ALS and PC. Since
each byte in sending coded 10 bits (8 data bits, 1 start and 1
stop bit), then
19,200 bytes
R = = 1920. (4.1.2)
10
The total length of queries C can be calculated as the sum
of the lengths of queries containing command, and type of
measurement, method of synchronization, the list of
interviewees signal lines, frequency quantization, as well as
the sum of the lengths of individual transfer requests for each
signal.
Let a PC for ALS to read N = 32
channels referred inquiries:
■ STARTING MEASUREMENT, length 15 bytes;
■ READ STATE LA, length of 2 bytes;
■ 32 CHANNEL READ request, the length of 10 bytes;
When the total length of queries C = 15 +2 +
32 × 10 = 337 bytes:
C
TSelect =, (4.1.3)
R
337
TSelect = ¢ 0.18 (c).
1920
The waiting time start measuring Identically
(In sync early, mid
or the end of the measurement of the arrival of a certain
combination of signals on the bus) is theoretically unlimited,
but in the calculation, we can take it equal to 0.1 seconds.
Transmission time Tper determined by the formula:
Q · N
Tper =. (4.1.4)
8R
Where N - number of analyzed lines
bus.
Tcht time determined by the number of quantization points Q
(max 4096) and the sampling rate f, selected by the operator,
and does not depend on the number of monitored lines.
Q
Tcht =. (4.1.5)
f
We take the average measurement of Q = 4000,
f = 2000000 Hz:
Q 4000
Tcht = = = 0,002 (c).
f 2000000 (Hz)
If the transmission of measurement data to a central
computer takes place without the use of compression, while
Tpodg negligibly malo.Vremya measurement is almost entirely
determined by the time of transfer:
T = tSelect Tozh + + + Tcht Tpodg + Tper =
4000.32
= 0.18 0.1 0.002 0 + 8.6 ¢ (c).
8.1920
Measurement cycle, amounting to a second, not acceptable,
since the operator is forced long wait for evidence (in the
case of a single measurement), and the measurement of cyclic
almost impossible, because the result such a measure would be
composed of widely separated time intervals, not constituting a
complete picture of the processes occurring on the bus.
Transmission time can be reduced in several ways: by
reducing the number of quantization points, or numbers of
analyzed lines, or using compression transmitted data. The
first two methods do not you can always apply, because in most
cases required to read a specific list of signals, no signals
from which can not be sacrificed, and the decrease
number of points will either reduce the resolution of ALS, or
loss of sight of the temporary diagrammy.Poetomu appropriate to
use these methods only as a recommendation to the operator, and
compress the data transmitted from the SLA on the PC.
The choice of compression algorithm (compression)
Data
Examples of graphs for signals arriving by bus (Figure
4.1.1), it is clear that some signals is a high-frequency part
low-frequency, periodic and not part of
is separate pulses, others contain
noise (open) or no change in
the present time.
Ris.4.1.1. Types of signals
coming on the bus MMI.
Compression method should take into account all of these
cases not to make losses in the time (the amount of
information) during transmission.
Compression algorithms can be divided into reversible and
irreversible (loss of information). Last in our case is
unacceptable, because it is necessary to recover an accurate
picture measured signals.
Known groups of algorithms
reversible compression of one-dimensional flow [4,
15]:
1. Use of multiple encoding
consecutive occurrences of a unit of information (RLE - Run
Length Encoding); 2. Removing the redundancy arising from
difference in frequency of use of different
characters (the method of Huffman or arithmetic
coding);
3. Use Replace repetitive
fragments with the help of dictionaries or reference
(LZ - Lempel, Ziv, by author name of the method);
4. Using the predictability of the flow
(Markov chains, contexts);
5. Other methods.
Among other methods can distinguish methods of compression
of analog signals, such as DAKX, including methods of working
with spectrum signal, etc. But in our case
no digital signal is provided to an analog form.
The methods of the fourth group are not applicable to
implementation on OEVM of the requirements for high performance
and memory. We can estimate the timing requirements for the
algorithm for ALS in single-chip micro-computer AT89C52, taking
advantage of the fact that data transfer should take place at
speeds R = 1920 bytes / sec. In this case, the time between
transfer of two adjacent bytes is:
-1 1
t = R = ¢ 0,5 (ms), (4.1.6)
1920
500 (ms)
that equals = 1000 machine cycles
500 (ns)
crystals (MC) OEVM.
Methods of LZ enough raznoobrazny.Bazovy version of the
algorithm requires excessively high costs of memory (several
tens of kilobytes in the amount of RAM in the AT89C52 256
bytes). In our case, apply only methods with a predefined
dictionary (table tokens - symbols that encode multiple data
items). Since kind of coded signals is quite diverse, it is
difficult to propose a set of tokens, which allows to realize
efficient compression of the stream at any size units of
information.
Methods for removing the frequency redundancy
can be used effectively in conjunction with
methods other grupp.Metody this group, applied to a stream
containing samples the digital signal can remove the redundancy
caused by the difference of the frequencies of occurrence of
ones and zeros. This difference is large only for pulse
signals.
In our case the most acceptable methods such as RLE, since
most of them fairly quickly and has low
memory.
Compression using the methods of RLE
Consider the basic method of this group.
It is designed for flow compression with
unit of information (a symbol), close to
size to 1 byte (8 bits). In this case N
occurrences of the character C is encoded by a sequence (Table
4.1.1):
Table 4.1.1. Coding repeats
by the method of RLE.
C C N-2
If the symbol C meets exactly 2 times
row, then the algorithm gives a loss of 1 byte. If the same
character repeated more than 257 times in a row, a sequence
should be split into two or more, coding them as shown above.
Since the ALS must pass binary signals, before using this
and similar methods of signals must be
sgruppirovany.Mozhno offer two fundamentally different ways of
grouping data bits derived from measurements using the ALS.
<Vertical> grouping together in
One byte or word counts of different signal lines, taken in the
same time. <Horizontal> grouping together in one byte (word) is
somewhat neighboring samples of the same signal line.
In our case, the more acceptable the second
way, because <Vertical> group is desirable, firstly, the
presence of the multiplicity of lines, the size of the units of
information (that we can not guarantee, since the number of
lines analyzed is indicated in each case the operator), and
second, the correlation between bits in formed a byte, which is
also generally not performed.
Another method of the RLE group does not lose money compared
with the initial sequence with short repeats of one symbol.
In this method, the compressed sequence
consists of alternating blocks, the first of
which encodes a sequence of arbitrary bytes (contains bytes -
the length of the sequence may be 0, and the data itself), the
second - encodes a repetitive symbol (containing the symbol and
bytes - the number of its repetitions, possibly 0), the next
block - again encodes arbitrary data, etc.
For we are considering the analog
signal bunched <horizontal>
You can refuse storage byte character
in each block, repetition coding, using the fact that recur in
most cases can only bytes containing all zeros, or bits of all
bits unit. The choice between zero and one can make the last
bit last compressed bytes.
It is easy to see that the maximum loss (if compressed
random noise signal) is only 5 bytes for Q = 4096. The data in
this case will be encoded as follows (Table 4.1.2):
Table 4.1.2. Coding
Alternative method of RLE.
The length of the uncompressed Sequential STI 255
Uncompressed (255 bytes)? ... ?
Number of retries 0
The length of the uncompressed Sequential STI 255
Uncompressed (255 bytes)? ... ?
Number of retries 0
The length of the uncompressed Sequential STI 2
Uncompressed data (2 bytes)? ?
The author of this graduation project proposed variant of
RLE, manipulative bitstream.
It will be next. At the beginning of the compressed sequence
indicated the initial state of the signal. In each of the next
byte must be kept a distance between the front of the signal in
bits is equal to zero for further continuation of the previous
signal polarity in the case of a pulse of one polarity than 255
bits.
Synchronizing the transfer is complete
Variant of RLE, encoding the distance between the fronts is
good that the introduction of a restriction makes it possible
to predict the length of the packaged unit on the basis of data
on the number of fronts packaged signal. Restriction leads to a
small loss in compression and the density is reduced to the
partition of the interval measurements on the subintervals
(segments) of length 256 bits at the beginning of each of which
clearly indicates the polarity of the signal in this moment.Pri
The front signal coming among these intervals should coded as
an additional psevdoimpuls length 0 bits. This shows that the
length of the resulting packed sequence is:
L = (1 +8) I +8 F = 9I +8 F (bits), (4.1.7)
1
where I - we know in advance the number of intervals, and
the F - calculated the number of fronts, the signal at the
measurement period, not including fronts, coinciding with the
beginning and end of the interval izmereniya.Ochevidno that in
the absence segmentation of the measurement period (I = 1) the
number transmitted pulse lengths for 1 more
than the number of fronts.
If we consider that the polarity of the signal
beginning of the next interval can be found
as the polarity of the signal at the end
previous interval, including the front
Front psevdoimpulsa possible length 0
bits, the length of the parcel will be:
L = 8I +8 F +1 (bits). (4.1.8)
2
This method is applicable to bad frequency and noise
signals, the fronts in which change more frequently than once
in 8 bit.Dlya such signals packed by this method
get a long block of the original.
So it makes sense to signal compression and transfer it with
ALS on a PC to make counting the number of fronts in this
signale.Protsedura counting the number of edges must be
performed prior to the transfer and is optimized for execution
time due to simultaneous testing eight signal lines in the form
in which they placed in the memory reader.
This operation may take place the following code snippet
(run time depends on the data, but on average 40 MC = 20 s):
...
movx a, @ DPTR / / reading from
inc DPTR / / external RAM
xrl a, R5 / / compare with
/ / Previous count
jz m1_7 / / skip,
/ / If the same
mov b, a
clr a
jnb b.0, m1_0 / / Jump if 0-
/ / Category has not changed
inc Lreg0 / / otherwise increment
cjne a, Lreg0, m1_0 / / induces 16
inc Hreg0 / / bit counter
m1_0:
jnb b.1, m1_1 / / similar
/ / Check for 1-th digit to change
inc Lreg1
cjne a, Lreg1, m1_1
inc Hreg1
m1_1:
...
jnb b.7, m1_7 / / check 7-th
/ / Discharge change
inc Lreg7
cjne a, Lreg7, m1_7
inc Hreg7
m1_7:
movx a, @ dptr / / restore
/ / In the battery current count
mov R5, a / / store in regi
/ / R5 tends to follow-up examinations
...
The information obtained will allow to choose
acceptable method of compression, and for some
methods - and to predict the length of the block after
compression. Data on the block length is important, because the
premise should contain the title its length, it is necessary to
synchronize the end of the parcel to the receiving side.
Synchronizing the transfer is for
other compression methods
In many cases, the above variant of RLE, encoding the
distance between the fronts is not the most efficient on the
quality of compression. Therefore, we can envisage the
possibility of using other compression algorithms.
Since many compression methods
data length of the output sequence
not known in advance, then one must either separate the time
compression of transmission time (which is associated with
increased time measurement of the large preparation time
Tpodg), or in some way to divide the parcel into several parts,
each of which will have its own header and
checksum. In this block mode
transfer all of the parcels except the last, must have known in
advance a fixed length B bytes.
The number of B must be less than the amount of internal
memory single-chip micro-computer, as passed section (block)
the compressed data requires preparation.
The transfer in block mode:
■ The program prepares the first OEVM
block of compressed data for transmission, keeping it in the
internal RAM; ■ In response to a request from the PC is
sending the first prepared block. At the same time in another
buffer prepares the next block to transfer;
■ PC can request transmitted by the unit
repeatedly if it contains
error (loss of sync or incorrect
control code). Otherwise, the PC sends a confirmation signal
that serves as a request for continued transmission of data;
■ The above sequence of actions
repeated until, until you receive confirmation of successful
reception of the last block.
However, due to the large volume of additional data transfer
and the need placed in memory OEVM (256
B) two buffers, this method impractical, although it may be
used in this case.
Based on consideration of the characteristics
various methods of compression for transmission
data signals from the ALS to a PC has been selected
compression method "bit RLE with segmentation.
Pause between transmitted to the shift register is equal to
1000 bytes of machine cycles OEVM (4.1.6). The instruction set
of microcontroller AT89C52 does not allow 256-bit comparisons
of data from external memory during this time (you need at
least 1 comparison for 4 cars cycle for the duration of the
commands in 1Ў2 machine cycles), so the segment size is meaning
to be equal to 128 bits, then the phase signal becomes possible
to encode the MSB transferred bytes.
To avoid ambiguity in the interpretation of zero on the
lower 7 bits of byte (Pulse length 0 or 128), agree to assume
in this case the pulse length equal to zero at the end of the
next segment of 128 bytes, only if the polarity (7-bit)
that momentum is different from the polarity
the previous one.
Thus, each byte of the parcel encodes the length of the
pulse and its polarity (from F impulses and I psevdoimpulsov
zero length or psevdofrontov border segments of 128 bytes), and
the length of a parcel without regard to the title is:
Lpos = I + F (B), (4.1.9)
where Lpos - the length of the parcel excluding the header
length, I - number of segments 128 bits (the number of points
in the range of measurement must be divisible by 128), F -
number of fronts, the signal in the range of measurement, not
counting the edges on the boundaries of this interval.
One should bear in mind that if you calculate the number of
edges in the signal exceeds a certain critical value, then
compression will not be made, and the data channel will be
transmitted without compression. The critical number of fronts
signal in the range of measurement, above which the compression
inappropriate:
Lpos <128 · I,
I + F <128 · I,
F <127 · I, (4.1.10)
where I - the number of segments.
If the number of edges to be equal to zero, then the signal
is at this permanent site, and will only be transferred
signal polarity (1 bit).
Thus, the total measurement time with
using the compression ratio is:
T = tSelect Tozh + + + Tcht Tpodg Tper + = (4.1.11)
N
N · I + ∙ F
C Q -5 i = 1 i
Tozh = + + +2 * 10 Q + (c).
R f R
Using the expression (4.1.11), we construct
plots measuring time of
high frequency signals (ris.4.1.2).
Ris.4.1.2. The calculation results
measuring time:
fsig - the average frequency of the signal; Q - number of
points in the range of measurement; T - total time of
measurement. Solid line - using the implemented compression
algorithm. Dashed line - without using compression.
Dashed line - without the control of the applicability of the
compression algorithm.
4.2. Selection and justification
Development Tools
A program for single-chip microcomputer AT89C52 must provide:
■ high-speed data processing;
■ access to all resources of ALS and OEVM;
■ work with the ports;
■ compressing data during transmission;
■ correct error handling in the exchange
data;
■ small amount of code (a maximum of 8 kilobytes);
Of the existing programming languages
for the microprocessor above
requirements are satisfied by only low-level language ASSEMBLER
whose operators directly asking individual team
OEVM that allows you to implement a program
maximum efficiency in terms of
size and speed. However, to achieve the specified
characteristics programmnogro product under development in
Assembler programmer spends more time than in a high- level.
To simplify programming in Assembler created special design
tools - cross-assemblers and
monitors-otladchiki.Kross-development is the process of
designing the software for one type of computing resources on a
computing system of another species (usually more powerful).
The first of these development tools
(Cross-assemblers) can conveniently
edit Assembly language program that is created using a
full-featured text editor, multiple windows, graphical user
interface, the system of contextual clues, etc., as well as
compile (assemble) the typed text ASSEMBLER directly from the
language into machine code of the microcontroller.
Second - monitors, debuggers - are intended for finding bugs
in the program before flashing her machine code in ROM and
debug these errors Disassembly from native text. In this case,
there opportunity to imitate the work of the microcontroller:
execute individual commands, groups commands, subroutines, to
run the program, but, unlike the real processor may interrupt
the execution of a fragment of the program at any time, view
and edit the contents of CPU registers, memory and ports.
Of several sets of such funds
cross-development software for the design consideration of ALS
was selected an integrated suite of assembler and debugger:
respectively Asm51Edit 2 and Debugger-51 created in the Federal
State Unitary Enterprise RKB <Globe> Minaev AS
Package differs from analogues in a positive way
high-performance, plenty of available options, convenient and
intuitive graphical user interface and advanced system of
content assistance.
4.3. Development of general and detailed
algorithms program
4.3.1. The general algorithm of the program
Requirements for the program
Develops software must comply with the requirements set
forth in Section 3.4, and protocols for data exchange,
described in Section 3.3, deliver high performance, control
error of input data and to consider possible exceptions
(failures, disconnected, defective equipment).
Implementation
In accordance with the above requirements, develops software
to be includes the following software modules:
■ routines self-RAM and ROM;
■ unit initialization;
■ handles error situations;
■ block the interaction with the scheme of control exercised
by starting and stopping measurement; ■ I / O routines,
allowing send and receive pictures messages
RS-232;
■ sub transmission of measurement data
on a PC with compression on the fly> and the necessary software
calculate the statistics of channels recorded in the RAM.
After starting and initializing the program
must go to the main reception of the cycle
and processing of commands and queries according to
flowchart (ris.4.3.1).
(Home)
v
Ban
Interrupt
v
Initialization:
LA, timers,
Adapter
RS-232
v
Self-control:
PROM OEVM
RAM Aircraft
<
v
Receiving Frame
in buffer
Reception
v
,.
,.
Yes, / data. No
v `/ 'v
`/ '
Decoding `/ 'OS Error
and execution of the transfer>
CPC Data
v
,.
,.
, / Data. No OS
> "Incorrect>
`/ 'Data'
`/ '
`/ '
Yes
v
,.
,.
, / Need. No OS
> Data>
`Data? / 'Extradited'
`/ '
`/ '
Yes OS
> Team
executed "
Ris.4.3.1. Enlarged BSA
the main loop of the program.
4.3.2. Development of detailed algorithms
program
Of all the developed algorithms included in the software
special logic analyzer in detail in the first place
algorithms need the most important and complex actions, namely:
■ treatment team ;
■ delivery channel data with compression on the bit RLE with
segmentation.
Processing algorithm for
This algorithm is implemented as a subroutine, which is
based on the data block command NeuStar
performs the required initial values of counters, timers, and
runs the scheme management record in memory.
In verbal form, this algorithm can
be represented as follows (the contents of external memory
address DPTR denoted as {DPTR}):
1. Add to the global variable olddptr
(Start address of previous request
read channel) value 0FFFFh, so that when
the following query to read the channel there was a new
analysis of the number of fronts. 2. Copy the configuration
synchronization word combinations from the command registers
synchronization scheme. 3. Copy the polarity of the sync word
combinations from the command registers synchronization scheme.
4. Recorded in the register of the initial state
Timer TM1 value of the measurement period,
taken with the opposite sign.
5. Recorded in the variable DELAY from the team
value of the number of cycles of delay.
6. Recorded in the register of the ACC team code
number of points in the range of measurement.
7. If ACC = 0, N = 256.
8. If ACC = 1, N = 512.
9. If ACC = 2, N = 1024.
10. If ACC = 3, N = 2048.
11. If ACC = 4, N = 4096.
12. If a <form startup> is not equal to 0, then go to step 16.
13. Recorded in the register of the initial state
timer TM3 value - (N + DELAY).
14. Recorded in the register of the initial state
Timer TM2 value 0FFFFh.
15. go to step 23.
16. If a <form startup> is not equal to 1, then go to step 20.
17. Recorded in the register of the initial state
Timer TM2 value-N / 2.
18. Recorded in the register of the initial state
timer TM3 value - (N / 2 + DELAY).
19. go to step 23.
20. If a <form startup> is not equal to 2, then go to step 23.
21. Recorded in the register of the initial state
timer TM3 value
0FFFFh-DELAY =-DELAY-1.
If DELAY = 0 in the count of the number of points
gets the maximum value (overflow on the 1 st cycle).
22. Recorded in the register of the initial state
Timer TM2 value-N.
23. Set the signal line to state 1.
24. Reset signal line to 0.
25. Recorded in the status byte LA 0
26. To issue a .
27. Exit the subroutine.
Algorithm output data channel with
bit RLE compression with segmentation
This algorithm is implemented as a program that is based on
the data block query <Read channel> extradite
Data on the PC.
1. Calculate the number of segs as requested bytes divided by
128. 2. If a fractional or segs segs> 32, then go to the
issuance of the OS . 3. Check the number requested
signal. If (signal number)> 31 then go to the issuance of the
OS . 4. Of 4 or 5 bits number of the signal to get
number of external RAM:
obl: = (signal number) div 8.
5. DPTR: = 1000h · obl + (starting address).
6. If DPTR <> olddptr OR segs <> oldsegs,
call p / n front of counting.
7. olddptr: = DPTR.
8. oldsegs: = segs.
9. masker: =
= 100h shr (1 + ((signal number) and 7)).
10. Assign a number of fronts to fronts
the current channel from the table.
11. If the fronts = 0, then go to the transfer
constant signal.
12. blocklength: = segs + fronts +1.
13. If blocklength> segs-16, the transition to
signal transmission without compression.
14. Issue to the serial port of CPC
.
15. Issue-CPC.
16. Reset checksum: csum: = 0.
17. Issue a byte blocklength. Here
and then issuing a byte buffer of the serial port must
accumulate a checksum: csum: = (csum + (B)) mod 256.
18. Issue a low byte blocklength.
19. Put in the serial buffer
Port number method (value 03h) without
standby transmission byte.
20. segbeg: = DPL
(Beginning of main loop).
21. dplbeg: = DPL
(Beginning of the cycle packing within the segment).
22. If ({DPTR} and masker) <> 0 then go to item 33
(Counting one, otherwise zero).
23. Enlarge DPTR, given the loop
within 4k of RAM: DPTR: =
= (DPTR and 3000h) + ((DPTR +1) and 0FFFh).
24. If ({DPTR} and masker) <> 0 then go to paragraph 26
(Exit the loop).
25. If (segbeg-DPL) mod 256 <> 128, then go to paragraph 23
(continuation of the cycle). 26. If ((segbeg-DPL) mod 256 <>
128) OR ({DPTR} and masker) = 0) OR
DPTR = (destination address)
then go to step 31.
27. Wait for the transfer of bytes to the serial port.
28. Issue to the serial port value (DPL-dplbeg) mod 256 without
waiting for the transfer of bytes. 29. Assign the ACC: = 128
(Sign psevdoimpulsa zero length).
30. Go to Step 42.
31. Assign the ACC: = (DPL-dplbeg) mod 256.
32. Go to Step 42.
33. Enlarge DPTR, given the loop
within 4k of RAM: DPTR: =
= (DPTR and 3000h) + ((DPTR +1) and 0FFFh).
34. If ({DPTR} and masker) = 0, then go
to paragraph 36
(Exit the loop).
35. If (segbeg-DPL) mod 256 <> 128, then go to item 33
(Continuation of the cycle).
36. If ((segbeg-DPL) mod 256 <> 128) OR
({DPTR} and masker) <> 0) OR
DPTR = (destination address)
then go to step 41.
37. Wait for the transfer of bytes to the serial port.
38. Issue to the serial port value (DPL-dplbeg) mod 256 without
waiting for the transfer of bytes. 39. Assign the ACC: = 0
(Sign psevdoimpulsa zero length).
40. Go to Step 42.
41. Assign
ACC: = 128 + (DPL-dplbeg) mod 256.
42. Wait for the transfer of bytes to the serial port.
43. Issue to the serial port value of ACC without waiting for
the transfer of bytes. 44. If (segbeg-DPL) mod 256 <> 128, then
go to item 21 (continued cycle of packaging within the
segment). 45. segs: = segs-1.
46. If segs> 0, then go to paragraph 20
(Continuation of the main loop).
47. Wait for the transfer of bytes to the serial port.
48. Issue to the serial port checksum frame:-csum.
49. Exit the program.
Algorithms for other software modules are relatively simple
and therefore will not be considered here.