D64 serial port & MAX3232
Posted: Fri Jun 13, 2025 8:12 pm
Hi all,
In possibly a short lived bout of enthusiasm, I've dug out one of my old Dragons & have been attempting to do something vaguely creative with it. Part of that has involved attempting to connect the D64's serial port to a UART on a microcontroller & I've been using a max3232 to perform the level shift. It's sort of working however I'm hoping someone who's more knowledgable in hardware (I'm predominately software, just dabble in h/w) can explain an odd effect I'm seeing.
Essentially I've wired the thing up more or less as per the datasheet, with RX/TX lines going through the first transceiver pair and when connected to a USB/RS232 adapter everything works just fine. It's when it's connected to the Dragon I see problems. In this configuration, what seems to happen is that the voltage levels on the charge pump (V+/V-) pins seem to fluctuate towards zero when the Dragon transmits data. What this then seems to do is cause "echoes" of some of that data to appear on the receive lines back into the Dragon, as a result I see spurious characters come in. I don't see this behaviour, either in terms of voltage fluctuations or echo'd characters with the USB adaptor which makes me think the two things are related.
It becomes more pronounced if I attempt to use the second pair of transceivers to wire up the control lines (DTR/CTS), in that at the point the Dragon asserts DTR, the voltage on the charge pumps drop from ~+/-6V to +/-2V which essentially means nothing works (when it's left de-asserted, so -12V, I don't see a problem).
It's odd because in my simplistic world view, I would have thought the charge pumps would predominantly be involved in level shifting the data going IN the Dragon, not the other way around. Looking at the schematics for the D64, the TX and DTR lines appear to be pushed up to +/-12V via a pair of op-amps, I'm wondering (given back in the day the target market would most likely be some clunky old printer) if it's somehow "overdriving" (is that a thing?) the inputs into the MAX device?
Despite a bit of foraging on line, I've no found anything which might explain this behaviour so any thoughts/suggestions much appreciated.
Jon.
In possibly a short lived bout of enthusiasm, I've dug out one of my old Dragons & have been attempting to do something vaguely creative with it. Part of that has involved attempting to connect the D64's serial port to a UART on a microcontroller & I've been using a max3232 to perform the level shift. It's sort of working however I'm hoping someone who's more knowledgable in hardware (I'm predominately software, just dabble in h/w) can explain an odd effect I'm seeing.
Essentially I've wired the thing up more or less as per the datasheet, with RX/TX lines going through the first transceiver pair and when connected to a USB/RS232 adapter everything works just fine. It's when it's connected to the Dragon I see problems. In this configuration, what seems to happen is that the voltage levels on the charge pump (V+/V-) pins seem to fluctuate towards zero when the Dragon transmits data. What this then seems to do is cause "echoes" of some of that data to appear on the receive lines back into the Dragon, as a result I see spurious characters come in. I don't see this behaviour, either in terms of voltage fluctuations or echo'd characters with the USB adaptor which makes me think the two things are related.
It becomes more pronounced if I attempt to use the second pair of transceivers to wire up the control lines (DTR/CTS), in that at the point the Dragon asserts DTR, the voltage on the charge pumps drop from ~+/-6V to +/-2V which essentially means nothing works (when it's left de-asserted, so -12V, I don't see a problem).
It's odd because in my simplistic world view, I would have thought the charge pumps would predominantly be involved in level shifting the data going IN the Dragon, not the other way around. Looking at the schematics for the D64, the TX and DTR lines appear to be pushed up to +/-12V via a pair of op-amps, I'm wondering (given back in the day the target market would most likely be some clunky old printer) if it's somehow "overdriving" (is that a thing?) the inputs into the MAX device?
Despite a bit of foraging on line, I've no found anything which might explain this behaviour so any thoughts/suggestions much appreciated.
Jon.