The Microship Status Reports
Microship Status 2/12/94 by Steven K. Roberts
In This Issue:
Forth Multitasker And Beeline Network
Gps/nav Serial Communications
Ampro System Status
Quick Updates
Parts
Kayak Arrival
Marine Architecture
Forth Multitasker And Beeline Network
Hot news on the Microship control network front!
First, a highly efficient new multidrop protocol (BeeLine) is now operational! It uses the same New Micros modified RS-422 cabling setup, and has now been installed in the EEPROM of boards B and D. (We should have them all running in a few days, after a bit more testing.) The new protocol takes advantage of a hardware interrupt built into the 68HC11 and invoked (when enabled) by the high-order bit in any incoming character. If the rest of that character happens to match the board's one-byte address (the same letters we have been using), then the UAR/T wakes up and a service routine is enabled along with the board's RS485 transmitter via Port A, bit 3. All incoming data is subsequently placed into a ring buffer, and a new KEY routine works from the pointers to construct the data to be interpreted. Very slick. The only CPU paying the slightest bit of attention to multidrop traffic is thus the one currently selected -- all others are totally devoted to their tasks and are only interrupted when the next node-switch character appears on the network.
Speaking of tasks, I'm even more excited to report that the round-robin multitasker is working as well! This is seriously cool stuff. At the moment, those two boards are each running three counting tasks in addition to their interpreters -- which can freely display the variables of the others, compile new code, chat with the host, etc. In the past couple of days, the background tasks have all counted to 30 million or so...
This can all be attributed to well over a week of full time work by Bill Muench, one of the industry's major FORTH gurus, as well as about 12 hours of phone time between us. (Too bad the phone company gets all the consulting fees... I suggested that he get a 900 number for future clients!)
Anyway, the tools are now looking very solid, with the exception of one incredibly obscure and confusing bug that keeps the multitasker from coexisting in the Hub with some of our initial test code. This has caused nightmares the past couple of nights, for it maketh no sense -- when it crashes, we have to run WIPE in order to clear the EEPROM... even if the EEPROM protection register is set! <sigh>
Once that is cleared up, we'll have a powerful new development tool here. Each of the 16 New Micros 68HC11 boards on the network can run up to ten simultaneous tasks (including MAIN, the FORTH interpreter). None of the remotes will bothered by communication with the others. As these reports continue, we'll be talking about some of the amazing things that can be done with multitasking controllers -- but a few advantages are already clear:
o We can add new applications to systems already completed by other groups without any significant impact on the earlier work.
o Programs need not be complicated by long, convoluted "executive loops" that test dozens of conditions and act on the flags.
o All tasks other than MAIN are freed from network communication issues, allowing them to perform all I/O with variables and arrays.
o Conceptually, things are simplified since data collection and other continuous processes take place in the background, even when the system is under active development or engaged in compilation.
(By the way, we just received a shipment from New Micros containing three pairs of RS-232 and RS-485/422 interface cards, which will allow us to take nodes off the net for direct development with other Macs or PCs. As the rapidly nearing end of the quarter raises the stress level around here, this should take some of the pressure off by allowing up to four project teams to work on their FORTH boards simultaneously.)
Gps/nav Serial Communications
In our last issue, there was a sad little section entitled THE HEARTBREAK OF DATACOMM. Well, at least THAT problem is fixed...
As anyone who has done battle with RS-232 interfaces knows all too well, the durn stuff can be a royal pain. The trick in this case is that CTS has to be high at the ACIA pin. An easy way to do that is to connect CTS to DTR (pin 5-20 on DB-25 or 4-8 if DB-9), then program the appropriate control register such that the DTR output is held low. I think there should be an on-board jumper on all serial boards for this sort of thing, allowing people to use a simple 3-wire RS-232 interface without extensive research through databooks and published lists of RS-232 port pin assignments. <sigh>
Once we fixed that, the Motorola Traxar GPS began happily transmitting data to the Hub via a simple communication loop on the navigation processor. It is now up to Henry Xia to write some code to parse NMEA sentences and deliver items of interest upon command.
Ampro System Status
The ship management computer is getting closer to life by the day. Sharp shipped a model LQ6NC01 active matrix color LCD (6" diagonal). This is a lovely little unit, to which can be screwed the backlight inverter and Ampro interface board. This then connects to the VGA controller for use as a system monitor. With the toggling of a control bit, the display instantly becomes a video monitor that directly accepts standard NTSC (eventually via the video crossbar system). I went to the Underwater Intervention Conference last week and learned a lot about video at sea, so this is definitely going to be useful.
We have not yet fired it up, however, since we're still trying to get the basic system going. This morning Frank and I tried again to get an IDE hard drive working and were unable to get the computer to recognize the existence of a Seagate 40 megger patiently spinning away on the bench. The next step will be to borrow the SCSI drive and controller from BEHEMOTH in order to get a development environment going -- this system will eventually become the graphic user interface to the control network.
Quick Updates
PARTS: Parts continue to trickle in from everybody except Digi-Key, which is turning out to be the slowest of the "Fast turnaround! No charge for rush order!" suppliers. Halted in Silicon Valley shipped a mass of IDC cable and headers, the rest of the zeners needed by the SeXBAR team, perfboard, and a couple of cool military sealed boxes for on-deck control/display use.
KAYAK ARRIVAL: Bobbi Smith arrived here Friday in a rental car after a three day marathon drive from Victoria, BC with her Doberman, Sprint. Atop the car, neatly wrapped and expertly tied, were the new Current Designs custom Libra double kayaks. These have now been deposited in the boat shop at Scripps and are ready to be unpacked, placed on cradles, and subjected to extensive modifications. Suddenly the Microship seems much more real... two of the three hulls exist!
MARINE ARCHITECTURE: Robb Walker just emailed me an IGES file, which imported neatly into AutoCAD. The center hull is taking shape as well, and is now awaiting input from Scott Poorman's weight study to take on specific dimensions. Meanwhile, TJ and Jeff are focusing their efforts on a test structure in Mentat, the finite-element analysis tool that will be used to refine the internal frame structure. We're all surfing the knee of the learning curve...
Cheers from the lab! Steve