Shop OBEX P1 Docs P2 Docs Learn Events
Hardware question ULN2803 hooked to p28 amd p29 — Parallax Forums

Hardware question ULN2803 hooked to p28 amd p29

10gigbill10gigbill Posts: 79
edited 2010-03-20 09:53 in Propeller 1
I Built a proto on a prop proto board with a ULN 2803 connected directly
To p28 and p29 and it works fine. I built a custom board with a 40 Dip
Prop and a 24LC256 with 10k resistors to 3.3v on p28 and 29. with the
2803 in place it will not program the eeprom or read it. With the 2803 out
It works fine. I would like to use p28 and 29 to drive the ULN 2803.
Any Ideas?

Thanks
Bill

Comments

  • hover1hover1 Posts: 1,929
    edited 2010-03-19 20:43
    I guess my first question would be why put a ULN2803 on the same line as An I2C device. The ULN2803 is not a serial device. And you only need the pullup on Pin 29.

    And what pins are you connecting from the driver chip to 28 and 29?

    Jim
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-03-19 21:13
    The input resistors of the 2803 will pull down the 10k pullups ? so that the high isn't high enough ?



    Edit

    I have put a KBD onto those pins by switching over via bi-lateral switches ( Dracblade when H syncs start up )

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point

    Post Edited (Toby Seckshund) : 3/19/2010 9:19:40 PM GMT
  • 10gigbill10gigbill Posts: 79
    edited 2010-03-19 23:19
    I’m with you Hover1. I was skeptical about using the pins in the first place,
    However when the prop manual sez on page15 that after startup the pins can
    Be used as general I/O….etc… So I tried it on the proto board and it worked…

    I did a little more snooping with a scope and p29 is the one that evidently
    Gets loaded down with the uln2803. (I think you are right Toby) The p28 line
    Is ok with the uln on there. (nice 3v square wave)

    I am new at the prop and if it weren’t for this forum I think a lot of newbies would
    Give up.

    Evidently others have questioned the documentation for the new guy, since Parallax
    Came out with the official guide and one of the forum members is writing a book….

    It’s a great product and I like Parallax.

    Before I abandon using p29 I may try a different pull-up?

    Thanks for the help
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-03-20 00:02
    Propeller Manual said...
    The pins shown below [noparse][[/noparse]which include A28 and A29] have a special purpose upon power-up/reset but are general-purpose I/O afterwards.
    That doesn't mean what you think it means. They are general-purpose I/O only if they're not connected to an EEPROM. You always have to consider what else a pin might be connected to when you use it. It's entirely possible that a certain sequence of pulses on these pins that's meant for your peripheral could trigger action in the EEPROM. Generally, if there's an EEPROM connected, you only want to add other I2C devices whose addresses do not conflict.

    -Phil
  • RaymanRayman Posts: 14,877
    edited 2010-03-20 00:06
    If you absolutely need more pins, then you can use an I2C I/O expander on P28&P29. There's an 8 output version in a DIP package available...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

    My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
  • 10gigbill10gigbill Posts: 79
    edited 2010-03-20 00:32
    OK PhiPi... I got it. But won't there always be an EEPROM connected? I understand about the addressing and I see how general-purpose I/O might not be what they mean.
    So Rayman if I add the extra I/O chip party-lined with the EEPROM I can just give it a different address and then have 8 more I/O's?

    Thanks.

    Bill
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-03-20 00:50
    Bill,

    Yes, there will almost always be an EEPROM connected to those pins. Different types of I2C devices can typically share the bus without difficulty, since they're assigned different base addresses internally. It's usually only when two devices of the same type share the bus that the lower address bits have to be strapped differently to avoid conflict.

    -Phil
  • 10gigbill10gigbill Posts: 79
    edited 2010-03-20 02:55
    For what it worth, I changed the 10k pullup to 3k and now it will talk to the EEPROM. With the ULN2803 on the clock and data lines…
    So just one more thing… If after boot-up I pull the clock line low and leave it low, could I then use the data line (p29) for whatever?

    Thanks again.

    Bill
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2010-03-20 03:26
    I've just come in on this thread but I couldn't help but keep thinking "use a lower value pullup", till finally you did. I wouldn't have any problem at all with using these lines for other functions although I do normally at least keep them as I2C or clock and data. As long as you don't have a problem with these two lines going crazy at boot time, then that's fine. Although there is this extreme remote possibility that you could inadvertently talk to the eeprom it is highly unlikely and I have yet to see it happen myself. More chance of a million monkeys on a million typewriters writing a work of Shakespeare. But that said I wouldn't just use those lines like this because of the chatter of the Prop booting from the EEPROM.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    *Peter*
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-03-20 09:53
    That was why I tried a Bi-Lateral swich set up. Use the pins for other things, after bootup, but switching out the EEPROM removed the doubt of corruption.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
Sign In or Register to comment.