[Date Prev][Date Next][Thread Prev][Thread Next] - [Date Index][Thread Index][Author Index]
Re: Flight Computers
Hi Phil,
On Mon, 29 Apr 2002, Phil Karn wrote:
> It's hard to know what might be best for your application without
> knowing more about it and your constraints (power, heat,
> communications, etc). But I'm puzzled by your statement about
> monolithic programs.
Well, this is need by outside force. Primary goal is to fulprof, ie idots
resistant. End user will get one file with core system. Like ISO or Cisco
PIX. Lets call CPU module IHU in this case.
IHU will have 64 M flash disk, and 16 RAM, with file system similar to
FAT. Disk will by divided into 2 slices. Fist SYSTem image, second application
and data. Primary it is planned secondary flash disk.
When local control operator is reciving system update he need only to
upload only one file, change running image name and reboot.
All needed modules will be included in the base system. And I will be
shure that all of then are in correct versions etc. The is no need to
worry about local operator errors like wrong modules versions, wrong file
persinions etc. In case of penetration it will by easy detectable
( system has 1-wire for sensors, and know seriall numbers of dallas
components attached. System image has cryto checksum with acount of
serial numbers of local dallas chips, and my local secret key ). When system
is tempered this will be easy detectable and the are implemented fallback
routines like reboot with special striped version of system. That is
whay we need faster CPU. Crypto is eating cycles.
Some advantage is that in case of flash disk fail we will have automatic
revert to contingency mode. Particular kernel in this case only allow max
of 63 application task to be runnig.
I hope the end version will end wih about max 10 or 12 tasks.
And ther is no need for many remote ops. Task are like loading data from
sensors, I hope that soon packet radio will be returned to the system
( it was based on SYMEK wonderfull TNC-3S, two port packet radio switch
with own operation system and apllication base ), house keeping, comand link
maintenance.
CPU board is PCM-4823, IO board is PCM-3718HG ( 16 / 8 channel 12bit, and
2 - 8 bit TTL Multi IO), PCM-3612 for additional 2 RS-232 Ports.
One on board rs232 i used by command system, second is reserved by TNC-3,
3 rs323 is in use by 1-wire conntrol procesor Philips PCF 80C552 + Dallas
2940 if i recal 1-wire controler. The '552 is still running forth and has
silicon tape recorder ;) - we call 2 i2c 256k serial chips + i2c clock
independed from main system time. They are independend watching eatch
other, ie i486 can pull reset of '552 and '552 can pull restet of main CPU if
ther will be no heart bit from it ( on the one digital IO line and on the
RS-232 link ). State machine is watching all parts.
But only Main CPU can power down '552 ( ie, it is able to self go to low
power but not power off ). 4 rs232 port i reserved for last resort command
link - very dump DTMF series of tonnes. If CPU will crash and all other
watchdogs will faill it is still posible to issue hard restart via
very long and repated DTMF string. Some sort of state machine.
All it is fabricated mostyl by hand, and desing is very dumb. But it
worked well. In orginal desing ther are two '552 chips.
In finall working configuration there will be 6 CPU working.
> My old NOS TCP/IP code was one big monolithic program, much like
> Cisco's IOS. Frequently I'd update a remote packet switch by FTPing a
> new version of net.exe or a configuration file and commanding a
> reset. It usually worked, but it sure was slow and inelegant.
> Fortunately we had 56kb/s links.
Phil, i'm impresive by You outstanding job with NOS. My salutations.
It's my first TCP/IP system that i establish long time ago. I remenber
that I prepare all nessesary files and go sleep while sources compile on
my 386sx16 Mhz system. All night :) But it worked well.
In my first job i connected Warsaw University - Faculty of Menagement to
the Internet with 386 dx 40 running Your Nos and 9.6k leasd line modem.
> When Linux appeared, my code quickly became obsolete. Now I routinely
> administer several remote Linux machines, including my dad's on the
> opposite coast of the US, in ways that simply weren't possible with a
> monolithic program like NOS.
I know what You mean.
In my job as Unix ( mostyly Linux ) system enginier and security officer i
menage many systems, some time in very distant locations.
But in my project i don't need many of linux fruits. No programing
language, no many additional and unchecked programs and librares.
Remenber any line of code is potential bug, and security hole.
In development version it will be capable to load addtitional executables
from secondary disk, but in final not. All disk IO wil be only data
handling. It will be able to upgdrade system onto TNC-3 or bulk reload
'552 but Main IHU executable will be only one file with integrity check.
I know that this solution is only siutable for fast and good link.
Btw my command and data link are 9k6 only. But the are full duplex. And
opreation system isn't reload every day. Let say on time about 2 or 4
weeks in the begining to some month in stable condition. Now ther is
internet 33.6k modem with small router ( second the same 486 mb sa
firewall) with crosover ethernet, but becouse land line is very often
stolen ( with power line too ) for brass, we dosn't depend on it.
Sollar power, Wind generator, BCR and bateries. But the system will
matadory sleep several days in the year becouse of negative power.
Of couse if we lost power line again.
> One of the biggest advantages of IPS is its ability to be
> incrementally updated over slow comm links. Among many other things,
> the development of shared libraries (what Windows call DLLs) makes
> that possible with other operating systems as well. I just don't see
> how a monolithic program can still be better.
Satelite has other goals, and restrictions. I say previously that my
situation is easy. But operation system of IHU must be small, i hope that
without TCP/IP no more then 100 to 250 K, with TCP/IP about 512 K max. In
LEO sat it can be reload with one day at 9.6k by no more than 2 command
stations. GTO sat is other story. 400 bps is far more chalanging. You work
about FEC is very interesting. And promising.
I must preform some test how it is working.
But keep in mind that GTO is in view far more time than LEO sat.
Slow link but more time make quite a big upload. And in normal use You
will only adjust parameters, starting tasks adn so on. If all routines are
tested You will be quite shure the when you or system scheduler start some
service the spacecraft dasen't shutdown all rx'es becouse he put all
zeros in control register.
Best regard's.
Artur sp5qan
--
----------------------------------
Artur Dworak AD1272-RIPE
artur(at)supermedia.pl
Security Officer - Super Media ISP
----
Via the amsat-bb mailing list at AMSAT.ORG courtesy of AMSAT-NA.
To unsubscribe, send "unsubscribe amsat-bb" to Majordomo@amsat.org
AMSAT Home