Problem adding R65C51
Posted: Sat Dec 24, 2016 11:07 pm
Over the last couple of weeks, I've been working on my first 6502 SBC project, with much guidance from documentation on here. I'm tremendously grateful to those of you who've shared your wisdom online! I've gotten stuck, though, and need some guidance. As I had suspected, the problems came when I tried to add serial I/O using a (Rockwell) 65C51.
On my solderless breadboard, I had a WDC 65C02 clocked at 1MHz, a 32K SRAM, and a 32K EEPROM. These were all working fine and successfully running tests that let me use address line activity to montitor what was happening.
Then I added my R65C51, connecting to a USB port on a laptop via the FTDI cable (which has a built-in FT232R). I have a test program that loops around writing a test message and waiting for input. However, nothing produces any input or output on the remote end. (A second test program that repeatedly transmits a periodic test message also fails to produce any visible results.)
I've re-run my ROM/RAM tests to confirm that I didn't screw up the parts that were already working when I added the UART. I've also tried two different 6551s -- one 65C51 and one NMOS 6551 (which I ordered by accident -- not sure if mixing these is a good plan generally)? That didn't help, although the behavior they exhibit is slightly different; with the 65C51, an LED attached to the transmit line shows pretty solid on, which isn't true when I use the NMOS part (it's solidly off for that one.)
I've verified that the separate 1.842MHz clock input for the 6551 is good, and that the PHI2 that's reaching it is also good. I've confirmed that the serial communication configuration is correct on both ends (19200 baud, 8N1).
For the cable, I'm just using the Rx and Tx lines; I'm not using any hardware handshaking. (There's a VCC and a GND on the cable but I'm presuming that they are more for supply, via the USB side; connecting the cable GND to my GND changes nothing.) I know that the cable is basically good; looping Tx and Rx produces an echo on the terminal emulator.
On the 6551, the handshaking lines are all tied to GND via resistors. IRQB is tied high through a resistor.
Questions:
Have I configured this cable correctly? Although VCC is 5V, the signals are meant to be 3.3V I think... I'm hoping that this is okay. (I've got an FD232R breakout board on the way which might be easier to debug.)
Am I handling the handshaking lines on the 6551 correctly?
Might I have simply screwed up wiring things on the 6551 and fried it? (I suspect not since neither one works and I've tried to be working static-clean.) Any way to be confident that the 6551 is still working?
Any common lunkhead errors that I might have made? (I'm a software person, not a hardware person, so no mistake is so dumb that I might not have made it.)
And any advice on how to go about debugging this? I don't have a scope here, unfortunatly, although if I can't resolve this soon I might go pick one up from work...
Many thanks in advance.
On my solderless breadboard, I had a WDC 65C02 clocked at 1MHz, a 32K SRAM, and a 32K EEPROM. These were all working fine and successfully running tests that let me use address line activity to montitor what was happening.
Then I added my R65C51, connecting to a USB port on a laptop via the FTDI cable (which has a built-in FT232R). I have a test program that loops around writing a test message and waiting for input. However, nothing produces any input or output on the remote end. (A second test program that repeatedly transmits a periodic test message also fails to produce any visible results.)
I've re-run my ROM/RAM tests to confirm that I didn't screw up the parts that were already working when I added the UART. I've also tried two different 6551s -- one 65C51 and one NMOS 6551 (which I ordered by accident -- not sure if mixing these is a good plan generally)? That didn't help, although the behavior they exhibit is slightly different; with the 65C51, an LED attached to the transmit line shows pretty solid on, which isn't true when I use the NMOS part (it's solidly off for that one.)
I've verified that the separate 1.842MHz clock input for the 6551 is good, and that the PHI2 that's reaching it is also good. I've confirmed that the serial communication configuration is correct on both ends (19200 baud, 8N1).
For the cable, I'm just using the Rx and Tx lines; I'm not using any hardware handshaking. (There's a VCC and a GND on the cable but I'm presuming that they are more for supply, via the USB side; connecting the cable GND to my GND changes nothing.) I know that the cable is basically good; looping Tx and Rx produces an echo on the terminal emulator.
On the 6551, the handshaking lines are all tied to GND via resistors. IRQB is tied high through a resistor.
Questions:
Have I configured this cable correctly? Although VCC is 5V, the signals are meant to be 3.3V I think... I'm hoping that this is okay. (I've got an FD232R breakout board on the way which might be easier to debug.)
Am I handling the handshaking lines on the 6551 correctly?
Might I have simply screwed up wiring things on the 6551 and fried it? (I suspect not since neither one works and I've tried to be working static-clean.) Any way to be confident that the 6551 is still working?
Any common lunkhead errors that I might have made? (I'm a software person, not a hardware person, so no mistake is so dumb that I might not have made it.)
And any advice on how to go about debugging this? I don't have a scope here, unfortunatly, although if I can't resolve this soon I might go pick one up from work...
Many thanks in advance.