On Sat, 26 Apr 1997, Tom Handley wrote:
> re: 16C74 and 4 74LS245s
>
> David, you mentioned 3 out of the 4 74x245's are "tristated". What is
> the fourth chip doing?.
Basically the chip select for each of the 4 chips is provided by
the 74x138 which means that only one of the CS lines is low (active) at
any time. I use 3 lines on portA to drive my 138 chip and it seems to be
working.
Chip 1 drives my LCD either direction using an NXOR gate on 2 lines from
the 138 to provide a chip select signal and the Data direction is provided
by just one of them... Basically it is working fine except when the 4th
chip is in its socket (even though the 4th chip is tristated.
Chip 2 recieves input from a keypad (4bits used 4 free) and this too
usually works fine
Chips, 3 and 4 aren't in use yet but are inteneded to recieve signals from
reed switches.. (assuming I resolve my problem)
> Also, how are the 74x245's direction lines used?
Chips 2,3,4 have them hardwired to ground (i.e. they are B->A where A is
on the PIC side.)
> Other considerations are your PIC clock speed and your breadboard setup.
Clock isn't very fast 4MHz but I do suspect noise could be a possible
reason. I'm using wirewrap and I do tend to clump my busses togeter( Only
recently been advised that you shouldn't worry about neat-ness in wirewrap
for the sake of crosstalk. However my problem seems almost too consistent
to be noise. (Just a gut feeling)
> I've used the 16C74, running at 8 Mhz, to implement a parallel bus to talk
> with a variety of devices including the 74x245 and 74x573 as well as using
> a 74x138 for chip selects. I use port D for the data bus and port E for
> their assigned functions. Note, I'm using those ports under software control
> and not as a `slave bus'.
How many 245s did you drive with the one port ??
Thanks for your help
David.
{Quote hidden}>
> - Tom
>
> At 04:24 PM 4/26/97 +0100, you wrote:
> > First a quick note to say thanks to all those who responded
> >to my problem regarding programming an EEPROM connected to PIC16c74. It
> >was indeed the fact that I hadn't tied the data and clock lines high..
> > When I did this my circuit worked straight off.
> >
> > Anyway I hate to sound like I'm looking for easy answers but I've
> >been having another problem for the past few days which is driving me up
> >the wall.. You see in my circuit I multiplex 32 I/O lines into Port B
> >using an arrangement of 4 74LS245's and a 3 to 8 decoder chip (74ls138).
> >However I can only seem to manage to get 3 of the 4 chips in without
> >things starting to act eraticly. I seem to have narrowed the problem to being
> >the connection of so many devices in parallel to the port so I'm lead to
> >suspect I'm overloading the port.. However I am surprised if this is the
> >case as I thought PIC ports are quite robust 200ma's
> >between Ports A,B,E. (Nothing much connected to them) and surely 4 Bus
> >trancievers shouldn't effect this ? Expecially when 3 out of 4 are
> >trisstated (And software can't cause a conflict because of the 3 to 8
> >decoders action)/
> > B.T.W My sympton is my initial message on the LCD display is
> >"Booting Win95" but with the 4th chip in only "Booting W" comes up every
> >time.. Could I be exceeding max capacitance per port connection or some
> >other scary nitty gritty point? Note the LCD is run from the first 8 bit
> >bus, so the port must be doing something right.
> > Has anyone out there got any ideas on what I may be doing wrong.
> >Any help would be much appreciated..
> >
> >
> > Thanks again.
> >
> > David.
> >
> >P.S. The Initial message refered to is just for the laugh.. I ain't doing
> >anything that fancy.. :-)
> >
> >
>