With a bit of spare time on my hands over this las tweekend, I was able to do a bit mroe work on my SRAM controller. I have since constructed a "refined" version of the original design on a breadboard which can access 256 byts of the SRAM chip's available 32K bytes. All went well as the temperature of the circuit's surroundings was measured and logged using a 28X.
Obviously, 256 bytes is not very impressive (even though it is RAM, not EEPROM) but with 32K at my disposal, I set out to expand the shift register addressin capabilities. Here I have run into a snag - I've run out of IOs!!!
Is there a way that I can get an extra 15 IOs using two digital pins? I've currently got 8 using a 74LS164 shift register but I need another seven. I considered using the last output of one the shift register as the data in to the next register but considered that that would mean that the second "daisy chained" register would be behind by one clock - <A href='http://wei-lee.customer.netspace.net.au/SRAMProt-A.gif' Target=_Blank>External Web Link</a> (there may be mistakes on this schematic - havn't checked it yet; nor is it finished). I also considered using the 74HC595 but that requires an IO to drive the latch pin which is an IO I cannot afford to use.
So the question is:
1) Is there a way to get the 75HC595 to work without having the controller having to interface to its latch pin?
2) Can I expand the 74LS164 to 15 or 16 bits while retaining two IO lines - data and clock?
3) Is it possible to use only one of the OSC pins to operate the PIC at 20MHz? I have come across a Colpitts oscillator (something similar to the LHS of <A href='http://us1.webpublications.com.au/static/images/articles/i308/30853_2lo.jpg' Target=_Blank>External Web Link</a>) but am not sure if it is suitable to drive the PIC in EC (external clock) oscillator mode. If it is, it will free up one IO pin (one pin for oscillator, instead of two) which I can then use to latch the 74HC595.
3) (Not the preferable option) What else can I use to get the outputs I require?.
Thanks for any help.
<b><i>ylp88 </b> </i>
Obviously, 256 bytes is not very impressive (even though it is RAM, not EEPROM) but with 32K at my disposal, I set out to expand the shift register addressin capabilities. Here I have run into a snag - I've run out of IOs!!!
Is there a way that I can get an extra 15 IOs using two digital pins? I've currently got 8 using a 74LS164 shift register but I need another seven. I considered using the last output of one the shift register as the data in to the next register but considered that that would mean that the second "daisy chained" register would be behind by one clock - <A href='http://wei-lee.customer.netspace.net.au/SRAMProt-A.gif' Target=_Blank>External Web Link</a> (there may be mistakes on this schematic - havn't checked it yet; nor is it finished). I also considered using the 74HC595 but that requires an IO to drive the latch pin which is an IO I cannot afford to use.
So the question is:
1) Is there a way to get the 75HC595 to work without having the controller having to interface to its latch pin?
2) Can I expand the 74LS164 to 15 or 16 bits while retaining two IO lines - data and clock?
3) Is it possible to use only one of the OSC pins to operate the PIC at 20MHz? I have come across a Colpitts oscillator (something similar to the LHS of <A href='http://us1.webpublications.com.au/static/images/articles/i308/30853_2lo.jpg' Target=_Blank>External Web Link</a>) but am not sure if it is suitable to drive the PIC in EC (external clock) oscillator mode. If it is, it will free up one IO pin (one pin for oscillator, instead of two) which I can then use to latch the 74HC595.
3) (Not the preferable option) What else can I use to get the outputs I require?.
Thanks for any help.
<b><i>ylp88 </b> </i>