[TI-H] Re: PIXpander
[Prev][Next][Index][Thread]
[TI-H] Re: PIXpander
Okay, here is the scoop from my building work (and some coding, trying to get my own protocols working)...
The switch and resistor are done properly. The pull-up is designed so that it is activated when one releases the switch (and it counts how long it has been down during that time, getting a low signal).
There are some problems with the system used to grab the ACK signal... there should be a pull-up, but there isn't. (I have a feeling it may not even be used, I must check this)
There is a problem with the connection to the TI. The PIXpander cannot control Pin 1 of the Submini Jack. It cannot send it low or float it high. This could be a problem, since CLK is being output on this pin instead.
There is a problem with the SEL signal. The PIXpander is generating this signal manually when it really shouldn't have to. (Heck, the PSX only uses the 4 SEL signals to tell the device which one it is talking to to prevent cards/controllers from frying each other) the SEL pin should be hooked to ground for simplicity.
There MAY be a problem with the resistors for the LEDs. My LEDs require a bit of power, and the 470 Ohm resistors are too high. Also, you really don't need 4 resistors. Use one and hook all the negative leads from the LEDs to this resistor, saves a couple cents and some space.
I have been trying to program a PIC with a similar pin arrangement as the PIXpander (I hooked SEL on the card to ground, and setup RB6 to output the CLK pulse instead) and attempted to test (with a broken RA2 pin, which I don't need right now, and I have more PICs available) a PSX card connection from electrical timings and protocol information available at http://utils.zophar.net/
Unfortunately, my code is flubbing up somewhere, as my code to register a SINGLE button press is not quite working right.
One would think that this code would work for the purpose:
TRANSERR MOVLW 0x4F ; Signals Error
; By lighting all
MOVWF PORTB ; 4 LEDs.
TRANSERR3 BTFSC PORTA, 4 ; Is Button Down (Low)
GOTO TRANSERR3
NOP
TRANSERR2 BTFSS PORTA, 4 ; Button Back Up? (High)
GOTO TRANSERR2
RETURN
However, I press the button, and once the signal goes low, all the lights go out and I get NOTHING from the PIC whatsoever. No other signals on the LEDs, No resets, no communication with the card, nothing. I even made sure that Interrupts are disabled, and even so, made a interrupt routine that did nothing and immediately returned from the interrupt. Simulations prove that this should work. I even setup a direct 5V->SW->RA4 connection and switched so that it expected a High->Low to exit, and I still get the same thing... the moment the button is pressed enough to allow current flow, the LEDs go dark (which they shouldn't be doing at all) and the PIC goes silent. Wierd eh?
-Krev
_____________________________________________________________
-------------------------------------------------
Matrix-Zed E-Mail (Should This Be Removed?)
Follow-Ups: