On Fri, 27 Oct 2006, Paul Lutus wrote:

> Gavin Kistner wrote:
>
>> From: Ara.T.Howard [mailto:ara.t.howard / noaa.gov]
>>> i need to model the on board cpu of a satellite in order to
>>> mock running uploaded commands.  basically i need to model
>>> the internal state and all incoming commands so i can
>>> determine register states at a given point in time.
>>
>> Not to distract the thread from your very real question, but you do
>> realize that you have one of the coolest jobs around, right? :)
>
> The last processor I successfully modeled was the old 6502 (Apple II), since
> then processor behavior has become too difficult to sort out in any
> reliable way (IMHO).
>
> It would be interesting for the OP to reveal what kind of processor is
> involved, and how complex. I am going to assume it doesn't support
> interrupts or threads, otherwise there is little chance to mimic its
> behavior.


it's for these guys

   http://heasarc.nasa.gov/docs/heasarc/missions/dmsp.html
   http://www.ngdc.noaa.gov/dmsp/

at this point i only need to model a limited subset of the processor (i don't
know the type yet).  basically i'll be executing something long these lines


     !=================================================================
     !*****  GAIN ORBIT MEMORY FOR OPS45  26 JAN 04 - 01 FEB 04   *****
     !=================================================================
     !
      0.000  CMD  OAXSPG   0x00       ; 807E#  (PAGE=0)
      0.000  CMD  OGNASG   LIN        ; 0010#  ASGC LIN
     !
      0.076  CMD  OAXLOD   0xA2       ; 511E#  (112dB) (SED)
      0.076  CMD  OAXSTR   0x44       ; A22E#  (BC MAX)
     !
      0.316  CMD  OAXLOD   0x03       ; 819E#  (.08) (VED-1/00)
      0.316  CMD  OAXSTR   0x48       ; A42E#  (BRDF X2)
     !
      0.324  CMD  OAXLOD   0x06       ; 831E#  (.25) (VED-00/12)
      0.324  CMD  OAXSTR   0x46       ; 232E#  (BRDF HRD)
      0.324  CMD  OAXLOD   0x9E       ; 4F1E#  (136dB)
      0.324  CMD  OAXSTR   0x44       ; A22E#  (BC MAX)
     !
      0.326  CMD  OAXLOD   0x8E       ; C71E#  (118dB) (VES)
      0.326  CMD  OAXSTR   0x44       ; A22E#  (BC MAX)
     !
      0.650  CMD  OAXLOD   0x29       ; 149E#  (.02)
      0.650  CMD  OAXSTR   0x48       ; A42E#  (BRDF X2)

     ....
     ....
     ....

as you can tell these are load/store/add instuctions.  there are no
parameters, all the values are burned on board before flight - so there are
only certain values you can do ops with.  as you can tell it's ultra simple -
basically i'll just have to model rom, ram, registes, and ops.


hey - a smell a ruby quiz!  ;-)


-a
-- 
my religion is very simple.  my religion is kindness. -- the dalai lama