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
|
|
|
|