To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.handyboardOpen lugnet.robotics.handyboard in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / Handy Board / 647
646  |  648
Subject: 
Musings regarding Handyboard Expansion & Interfacing
Newsgroups: 
lugnet.robotics.handyboard
Date: 
Wed, 7 Aug 1996 22:36:53 GMT
Original-From: 
Brian Lavery <blavery@SPAMLESSacslink.aone.net.au>
Viewed: 
1499 times
  
More "musings":-


********************************************************
*   MUSINGS ON THE SUBJECT OF HANDYBOARD INTERFACING   *
********************************************************
*     Generating Chip Selects and Address Signals      *
********************************************************

These are my thoughts on (re)generating some needed signals on an
expansion board to allow more generous I/O functions.


Subdividing one of the CHIP SELECTS as supplied from the Handyboard:
====================================================================

                   A8 A9
                   |  |
                ---------
          *Y3--o|       |o--> *Y33    "input" CS group
                |  139  |o--> *Y32
     From H/B   |       |o--> *Y31
     main       |       |o--> *Y30
     board      |-------|
                |       |o--> *Y23    "output" CS group
          *Y2--o|       |o--> *Y22
                |       |o--> *Y21
                |       |o--> *Y20
                ---------
                   |  |
                   A8 A9


Regenerating the lower order address bits:
==========================================

(Since the H/B expansion interface
does not pass them thru!)

                |-------|
          AS -->|       |
                |       |
          D7 -->|       |--> A7
          D6 -->|  373  |--> A6
          D5 -->|       |--> A5        Lower order address bits
          D4 -->|       |--> A4        A0 - A1 - A2 are commonly
          D3 -->|       |--> A3        used as minor register
          D2 -->|       |--> A2        select lines on BIG chips
          D1 -->|       |--> A1        (eg 8255).
          D0 -->|       |--> A0
                |-------|


Storage RAM on expansion board:                 The greatest use of
===============================                 the address bits!
                                                Mega data banks!
128kbyte (or 32kbyte) static ram chip.


                |-------|
                |    A16|<-- X6    }
                |    A15|<-- X5    }  2^7 = 128      (2^5 = 32 banks
          D7 ---|    A14|<-- X4    }  banks          for 32KB ram!)
          D6 ---|    A13|<-- X3    }
          D5 ---|    A12|<-- X2    }  These are latched digital
          D4 ---|    A11|<-- X1    }  outputs from somewhere
          D3 ---|    A10|<-- X0    }  (eg from 8255)
          D2 ---|       |
          D1 ---|       |<-- A9    }
          D0 ---|       |<-- A8    }  2^10          And I guess that a reset
                |       |<-- A7    }  = 1 kb        control might be useful
                |       |<-- A6    }  sized         too, to prevent RAM
*Y4 --|--\     |       |<-- A5    }  pages         glitches ??????
*Y5 --|   |---o|CS*    |<-- A4    }  of RAM
       |--/     |       |<-- A3    }
                |       |<-- A2    }       Dont use a subdivided chip select.
        *Y4----o|R/W*   |<-- A1    }       Use a complete CS pair from the
                |       |<-- A0    }       Handyboard (eg Y4/Y5), so that
                |-------|                  A8 and A9 are still available,
Not sure if we can get away                allowing 1024 byte pages. You cant
with this CS/RW sequence.                  use A8/A9 for addressing if they
We may have to get R/W* pin                are already used for this Chip
up from the H/B main board!                Select.


  Pages of 1 kb could contain useable code routines.  Probably useful
  only if using a full conventional embedded compiler, not just
  Interactive C.   Linker needs to support the banked addressing.
  And code needs careful pageing control to avoid code execution crashes.
  And also, we then need a way to load the segments from PC into each
  of the banks!

  Another suggestion for some RAM useage: Get the robot to run a LEARN
  mode where it explores its environment, deducing a digitised map of
  passages, obstacles, etc.  Then in its normal mode, it can have
  some pre-learned info about its geographic constraints.  A lot of
  its movements can then be "planned" ahead.  (Might be a
  more accurate exercise if a compass unit is installed.)

=========================================================================

Brian Lavery
Sydney Australia



1 Message in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR