|
Week 1
January 21,
1999
|
|
The PC and AC-104
were set up and unpacked. Curiously, the AC-104 runs IBM PC DOS 2000 instead of
MS-DOS. The complete
MATRIXX/AC-104
package includes:
The MATRIXX
software was given to Chris Mattus to install on the server (so students
could run the software from any location within the department).
MATRIXX
uses the flexlm license manager, so the department's existing flexlm
license manager (Windows NT version) needed to be updated with the license
information for MATRIXX. To
obtain the license key, we phoned ISI, who
promptly provided us with a license key good for 51 (1 user + 50 extra)
users. A license for 1 user of RealSim was also
provided.
The Phar Lap TNT DOS
Extender software was installed on the
PC, logged in as admin.
|
Week 2
January 28,
1999
|
|
Installed Visual C++ on the PC as
admin.
A RealSim install was attempted, but it required write
permissions to the MATRIXX
directory, which was now on the server. The
RealSim install was postponed until Chris Mattus could log on to the
server with admin (write) access, which occurred later in the day.
A client install (necessary to use the server
installation) of MATRIXX was
performed successfully on the PC.
Since communication with the AC-104
is performed
over
Ethernet, a second Ethernet card needed to be installed in the PC. The
first Ethernet card was used to connect the PC to the campus network,
including the server on which MATRIXX was
installed. Although the
AC-104
could have been placed on the same network segment as the PC, it was
decided to place it on a dedicated network, so it was not exposed to
campus traffic. In the future, the AC-104
might be moved to the campus
segment which would allow, for example, professors to demonstrate the use
of the AC-104
in a studio classroom, or other remote, network-enabled
locations.
|
Week 3
February 4,
1999
|
|
With the second Ethernet card in
place, an FTP session was attempted with the AC-104.
(The AC-104
runs an NCSA
FTP server upon bootup; this is how programs are
transferred into the unit.) The FTP connection opens successfully,
but whenever the AC-104
tries to open a connection to the PC, which
occurs whenever a directory listing is requested or a "get" command
is sent, the AC-104
becomes completely unresponsive: The FTP
session hangs, new FTP sessions will not open, even ping requests
are lost. A call was placed to ISI's
technical support area.
Found a bug in the "autocode.bat" file, while attempting to
run the super_cruise demo, in the RealSim binary
(bin)
directory. The "autostar_command" variable (about halfway down the file)
should be assigned to "$ENV{ISIHOME}/bin/autostar_60.6", not
"$ENV{ISIHOME}/bin/autostar". The demo will still not execute because of
linker errors resulting from unresolved symbols (some libraries missing?).
Initial impressions of MATRIXX
package: This software is
reminiscent of UNIX packages (perhaps because it was ported from UNIX?!),
where components are linked together by shell scripts, or in this case,
DOS batch files and PERL (!) scripts.
While more acceptable in the UNIX
world, the use of DOS
batch files, especially those requiring user input, results in a shoddy
user
interface. Most Windows packages today are, in comparison, polished and
present the user with a fairly consistent interface. While the core
MATRIXX
tools, XMath, SystemBuild, and RealSim, have
clean interfaces, the code to tie the components together is crude.
Using MATRIXX,
a cruise control demo was opened in SystemBuild
and, after much hassle, was simulated. The only apparent way to edit the
properties of a particular block is to select "Block Properties" from the
Edit menu. It would make more sense if the block was double-clickable;
instead a double-click on a block does nothing. In comparison, simulink
lets you edit the properties of any block by double-clicking it, resulting
in a simpiler interface than that presented in SystemBuild.
|
Week 4
February 11,
1999
|
|
FTP Hang Update: A temporary
workaround to the hanging FTP problems was found. By attaching a monitor
and keyboard to the AC-104,
it was possible to see what was occurring
during the hangs. Unfortunately, the AC-104
stopped responding to user
input during the hang and provided no on-screen indication of the cause of
the hang. However, with the monitor and keyboard attached, it was found
that if the FTP server is stopped (before any attempt is made to get a
directory listing or a file), and then restarted from DOS, the hangs would
no longer occur. The reason why the hangs stopped occurring after
restarting the FTP server is unknown but being investigated.
ISI Support suggested
adding an entry in the CONFIG.TEL
file (which sets TCP/IP parameters for the NCSA FTP server) that
explicitly identifies the host (the computer making the connection
to the AC-104)
by both name and numeric IP address. Surprisingly, this
permanantly fixed the hanging problems. It does not explain why
restarting the FTP server fixed the problem as well (temporarily).
After solving the FTP issues, another attempt at
getting the super_cruise demo to work was made. The executable failed to
link, as earlier. As it turns out, the Phar Lap TNT DOS Extender has two
library directories: lib/ which holds libaries that can be linked using
Phar Lap's own linker (386LINK), and cofflib/ which contains the same
libaries, but in XCOFF format, which is the format supported by
Microsoft
Visual C++. After altering the LIB environment variable, which holds
the
path to the DOS Extender libaries, the super_cruise demo linked
successfully. Note that when the Target is requested, the IP Address (or
hostname) for the AC-104
must be used, because this value is passed to an
FTP client to transfer the executable to the AC-104.
Finally, the super_cruise demo was built and executed
on the AC-104.
As the demo executes, the PC presents, using the
"Interactive Animation" package, a graphical display of the cruise control
parameters, including Manual Throttle In, Brakes, Incline, Speed,
RPM's, Speed Error, Throttle Position, Set
Speed and Resume Controls, and also displays the proportional, integral,
and derivative gains, and allows the user to change any (changable)
parameter during program execution.
|
Week 5
February 18,
1999
|
|
The plan now was to get I/O with
the real world going. First, it was necessary to understand how a
model, with Interactive Animation (IA) enabled, should be built and
simulated in RealSim. Following the tutorial in the PDF manual, a
trivial model which consisted of a single gain stage was created.
The model accepted input from a graphical slider (in IA), processed
it through the gain stage, and displayed the output on a graph
(also in IA). Although the tutorial was designed to simulate the
model on the AC-104,
it did not describe how to interface signals
with the outside world using the ADC or DAC cards. So, using the
Hardware Connection Editor (HCE) portion of RealSim, the
output was specified as being connected to the first DAC channel. [Note:
The driver for the Ruby-MM
DAC card had to first be installed off a
floppy, even though the driver files were present on the host so
that the driver would be recognized as a valid output device by the
HCE.] After configuring the HCE to send output to this DAC channel
(as well as the IA client), the model was executed on the AC-104.
It was not practically possible to tell whether an analog signal was
present at the DAC output because a proper 50-pin Centronics
connector was not installed. The second half of the project was
finally started with the installation of the Motorola M68MPFB1632
Modular Platform Board and the M68MPB376 MCU
Personality Board,
along with the ICD32
(In-Circuit Debugger) interface and associated
software. The ICD is connected via a small header located on the
platform board. The ICD unit connects to the PC via a standard parallel
interface, but using a DB25 connector instead of the 50-pin Centronics
connection customarily found at the end of a "parallel port" cable. The
platform board is powered by an external 5 volt supply, connected using a
"wire-clamping" connector. The ICD32
software, which
is strictly DOS-based consists of an assembler, IASM32, and the background
debugger, ICD32. The ICD32
package was successfully installed on
the PC. Since a parallel port cable terminated with dual DB25
connectors was not available, proper communication with the MEVB
could not be tested.
|
Week 6
February 25,
1999
|
|
50-pin Centronics cables to
connect to the AC-104's ADC and DAC cards were obtained, allowing
each functional I/O pin of the cards to be broken out to a
breadboard. After decoding the pinout of the connectors, (note that
the pinout specified in the AIM1612
and
Ruby-MM manuals details
that of the header, internal to the AC-104,
and that the
RealSim "PC"
documentation must be consulted to obtain the pinout on the
Centronics connectors) the trivial gain model was run again. After
locating channel one of the Ruby-MM DAC card, the
Interactive
Animation slider, which specified the input to the gain block, was
varied as the channel output was observed on the oscilliscope.
Although the voltage was supposed to range from -10V to 10V (as was
the default analog output range configuration for Ruby-MM analog
channels), no noticable fluctuation of the output could be seen,
which indicated perhaps that the output was not being updated as
the internal output state changed. To see if any A/D or D/A
functions would work on the AC-104,
the cpc_loop demo,
which performs loopback test between A/D channels and D/A channels in
addition to serial loopback between the COM1 and COM2 serial ports.
Unfortunately, this demo would not compile becuase of unresolved
symbol errors from the linker, referring to missing definitions of
some serial subroutines. Attempts were made to link the project
using the TNT linker as well as the
MSVC linker, both to no
avail.
ISI has been contacted with this
issue. A dual DB25-connector parallel port cable was installed
betweent the PC104 and ICD unit. A single-line assembly language
program for the 68376
was written, assembled in IASM32, and was to
be downloaded into the '376
and executed. Although the ICD32
appeared to be able to communicate with the '376 at
times,
the connection appeared to be intermittent, as often ICD32 reported bus
errors while attempting to communicate with the '376
board. Perhaps this is due to
the fact that ICD32 is being run in a DOS window within Windows NT, and
not in a true DOS environment.
|
|