6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 4:22 am

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Mon Apr 24, 2017 11:00 am 
Offline

Joined: Mon Apr 24, 2017 9:47 am
Posts: 5
Hi all,

thanks for letting me be part of this resourceful community. I will start with a first question regarding strange hardware behaviour of NOS Rockwell 6551 I got from China.

I am building a hobby project around the W65C02S, like a lot of other people do and following standard design recommendations mentioned in the data sheets. Also I am aware of the great resources of Mr. Wilson.

Problem #1: (All chips are connected to +5V DC, buffered with 470 nF in general and 10 nF blocking capacitors near ICs, Oscilloscope shows ripples on Vcc of 0.25 V amplitude on Vcc and GND, should be okay for TTL).
- When I connect the 1.8432 MHz Xtal to the 6551, directly, without any other component, as described in the datasheet, it does not swing. At least I cannot measure a swing when connecting my Rigol oscilloscope.
- When I add a 22 pF to ground on both XTAL pins, it does not swing,
- When I add one 22 pF either to XTIN, XTOUT, it does not swing
- When I add a parallel resistor of 1 MOhm to Bias XTIN with respect to XTOUT, it does not swing

So I built an oscillator with two Schmitt-Triggers and connected the output to XTIN, this works...
But why the heck does my XTAL not swing like on any other board I saw... can it be, that the driver within the 6551 is bad? I also tested another chip... it behaves identical.
The series resistor of the XTAL should be 300 Ohm, which is below 400 Ohm, as stated in a datasheet about R6551, so it should swing if directly connected.

Problem #2: Other problem appears at the TX out... I connected the TX-Out to a standard TTL to USB serial adapter. And I only get too low logic levels. The R6551 merely gives 2V output, which is the least possible level for logic one. I added a pull-up to Vcc, which gives me now around 3 Volts. Baud rate is set to 9600. However, I only get y's with dots. Instead of correct transmission. Only, when I touch the pin with my oscilloscope head, (it does not matter, wether the oscilloscope is on or off), the transmission works correctly. What kind of strange analog problem can that be? The whole thing is on a bread board, however, the signals all look rectangular and the CPU works at 2 MHz.

Can it be a common problem with too low output power? Is this a capacitive problem or possibly a ground problem? I have connected GND from the TTL to USB with GND of the whole circuit.

Thanks for any ideas. Schematics seemed not informational for this specific problem.
Andreas


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 24, 2017 12:46 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
Welcome Andreas!

This sounds really odd. But a not running oscillator and very weak signals may have the same reason(s).

I would check the usual suspects: bent pins?, VCC & GND low ohmic to other VCC/GND. Shure there is a low ohmic contact from TX pin to your bredboard? Turn off power and measure the resistance - with lowest force on the pins.

Strange is that it works when the scope is connected - have you a 50..220pF at hands to simulate the probes capacitance? I assume it will not work using a C from TX to GND or VCC.

Does it work when you press the chip into the carrier?

Did you check how the RTS or DTR output behave - can you let it flip and look at the signal? Are they similar weak?


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 24, 2017 4:46 pm 
Offline

Joined: Mon Apr 24, 2017 9:47 am
Posts: 5
Ohhh my.... thanks for your ideas. I got it.... I totally overlooked the !CTS input, which of course must be connected... it is directly above TX and was floating... so the Oscilloscope head acted like an antenna and sent towards !CTS... this effect is amazing! Now it also works with the XTAL directly attached... this is very very interesting :D So if !CTS is 0, the XTAL is deactivated as well...


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 24, 2017 5:21 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
Glad that I could help.

This is indeed a new information to me about the 6551. If I understand you correctly you are using an NMOS part. I was neither aware that its inputs are of such high impedance (I suspect them to be like LS-TTL) nor of course the impact to the oscillator - really amazing.

Perhaps someone in the community could verify whether there is a similar behaviour CTS <=> oscillator for the CMOS type.


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 24, 2017 5:29 pm 
Offline

Joined: Sun Apr 10, 2011 8:29 am
Posts: 597
Location: Norway/Japan
It doesn't make sense that the oscillator stops if CTS is low. It would stop all the time during hardware handshaking..
A floating input maybe.. although I don't know how or why.


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 24, 2017 6:11 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
I agree it doesn't make sense. Probably we don't have 100% of the pertinent information, and in those circumstances it's easy to misinterpret what's happening. But I'm glad you got the project working, annoyedUart, and welcome to our 6502 world! :)

annoyedUart wrote:
And I only get too low logic levels. The R6551 merely gives 2V output, which is the least possible level for logic one.
In case of any confusion, be aware the R6551 is old technology (made using an NMOS process), and it's normal for its outputs NOT to reach Vcc when high. Most CMOS chips do have outputs which go all the way high (although you still need to check the datasheet to be sure).

cheers,
Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 24, 2017 6:31 pm 
Offline

Joined: Mon Apr 24, 2017 9:47 am
Posts: 5
Indeed - I already removed the 820 Ohm torture pull-up :) It is possible that the clock ran, but stopped because of interference of the oscilloscope probe tip. Thus, I would never be able to see, if it ran or not... would of course be a nice power saving feature, if they stopped the clock when !CTS is 1... However... you must be right, because one can set the receiver to use the transmitter clock (baud generator)... and then it would also be impossible to receive data if !CTS is 1, which cannot be. So I take this nonsense back and blame the oscilloscope :)


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 24, 2017 6:35 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
I took a look into an old application note from Synertek for the 6551 and into the SY6551 DS. All inputs are high impedance (I didn't remember that) and required to be pulled up or down. Like /CTS has its disastrous effect on TxD, /DCD does for RxD (I have forgotten that as well).

There is just one sentence about high impedance "/DCD, like /DSR, is a high impedance input and must not be a no-connect."

Of course there is no word about an impact of floating inputs to the oscillator.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 43 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: