6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 10, 2024 3:59 am

All times are UTC




Post new topic Reply to topic  [ 148 posts ]  Go to page 1, 2, 3, 4, 5 ... 10  Next
Author Message
PostPosted: Tue Jun 18, 2013 6:30 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
As noted in the thread with Mouser having WDC65C51 chips in stock, I opted to start a fresh thread as I now have 5 new chips in hand (ordered from Mouser in DIP version) and none will work in existing boards. I've done some additional testing and here's what I've found:

- using any standard 1.8432MHz crystal, the WDC chips' baud clock will not oscillate - confirmed with a scope. Note that all of my other 6551 chips work fine with the same crystals.
- I can talk to the chip, I set baud rate and options via the registers and the results (setting and reading the registers) are identical to doing the same on my other 6551s.
- Using a can oscillator, I can scope the RxC output and it matches the proper baud rate selected compared to my other 6551s (no output until I setup the chip).
- Even with a can oscillator, the chips do not operate.

I'm no longer thinking I'm doing something wrong or have a board/code problem. Unless someone has any reasonable explanation for the above, I have to consider the full set of 5 chips as defective. The simple fact that the baud clock won't run with a crystal (only requires power on 6551s) on any of these chips makes me suspect that they are faulty.

Has anyone else bought/received a WDC65C51 from Mouser and had it work? The codes showing on all 5 of my chips are:
WDC65C51N6TPG-14
A6A749.1
1016G015

I do have 5 of the PLCC WDC65C51 chips purchased from the UK recently with codes of:
WDC65C51N6TPLG-14
1112
A6A749.1

I don't have any boards that accept the PLCC version so I can't test them, so I'll look to make an adapter for now and see if the result is different.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 19, 2013 9:07 am 
Offline

Joined: Sun Apr 10, 2011 8:29 am
Posts: 597
Location: Norway/Japan
This is slightly worrying. I had been looking into acquiring a couple of the new 65C51 chips for a possible project, although a vague one, so I wouldn't be able to test them for some time.

-Tor


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 19, 2013 12:18 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Agreed. I've swapped some email with the nice folks at WDC and they are working with me on this. They say they test 100% of their parts, so perhaps something happened after. I've sent them copies of the schematics for the boards I'm using and the code as well. So far they don't see any reason that the chips shouldn't work as direct replacement for standard 6551s. The fact that the baud clock will not run on any of the new chips is odd, which makes me feel there's a chip problem.

I found an adapter for PLCC to DIP which "should" allow me to easily test the other 65C51 chips I have, but it's an expensive little adapter at around $24 from Mouser, but it would save me time in building one (and have to pick up parts to build one as well, no PLCC sockets in my stash). As I continue trying to resolve this, I'll keep the thread updated.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 19, 2013 5:10 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8479
Location: Midwestern USA
Any possibility this may be a CMOS vs. TTL situation?

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 19, 2013 5:12 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8479
Location: Midwestern USA
floobydust wrote:
I've sent them copies of the schematics for the boards I'm using and the code as well. So far they don't see any reason that the chips shouldn't work as direct replacement for standard 6551s. The fact that the baud clock will not run on any of the new chips is odd, which makes me feel there's a chip problem.

Can you post your schematic for the edification of the rest of us? Perhaps someone will see something that might explain the problem.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 19, 2013 7:43 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Hi BDD,

I don't think it's CMOS vs TTL related, chips are currently a WDC 65C02 CPU and 74HCT logic. Also, I have a WDC 65C22 as I/O and that's working... can toggle ports on/off, read timer latches, etc. The design itself is something I did back in the late 80's... but it's almost identical to Daryl Rictor's SBC 2, albeit my I/O page is $FE00. Logic chips are 74HCT00, 30, 138, a 32KB CMOS RAM and an Atmel 28C256 EEPROM (just how many different ways can you use these chips), but it's just split on two boards with a short ribbon cable to connect. Happy to post schematics, but heading to the airport shortly and they are on another machine which is packed up ;-) Still, the simple fact that the baud clock will not run makes me suspect, unless someone could possibly come up with some logic as to why it doesn't run on the WDC chips but runs on all other chips. It is confusing I'll admit. Will post some schematics and pics once I get back home.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Thu Jun 20, 2013 4:06 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8479
Location: Midwestern USA
floobydust wrote:
I don't think it's CMOS vs TTL related, chips are currently a WDC 65C02 CPU and 74HCT logic.

Why HCT if it's all CMOS. I'd consider 74AC (no T).

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Thu Jun 20, 2013 12:08 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Yes, I could try the 74AC chips... but I have quite a bit of the HCT kicking about from many years ago and also picked up some of the newer NXP semis in HCT. Also have a reasonable stash of LS logic chips too. Either way, I don't think swapping the 3 logic chips to AC logic will fix the problem I'm having. I'd still like to know if anyone else has picked up some of the newer 65C51 chips and got them working.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 10, 2013 11:42 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
As the proud new owner of a Saleae Logic-16, I did some tests using my two-board 65C02 setup and swapped between a standard 6551 (which works fine) to the new WDC65C51N chips (which don't). It's interesting... I'm quite certain there is not a problem with the hardware itself (decoding, data xfer, etc.). After the reset (used as the trigger) The 6551 is accessed after 2.3ms or so and initialized. On the 6551, both the RTS and DTR lines go low and the RxC line goes live outputting the baud clock frequency. After about 330ms, the 6551 is accessed again and data is sent out for a intro message (using SyMon III). You can see the initial bytes written to the 6551, then the TxD line goes active and steps the data out, followed by additional writes to the 6551 until all data is sent, then goes to input loop mode.

With the WDC chip, the initialization after 2.3ms works fine, chip responds and both the RTS and DTR lines goes low. However, the baud clock never starts and there's no clock signal present on the RxC line. After about 330ms, the same (initial pack of) data is written to the chip, but it never steps any data out on TxD (baud clock is needed for this, so no surprise), so things sorta come to a halt there, i.e., no additional data is sent as the chip is still busy.

In any case, the chip does respond to the code and part of it works (RTS/DTR) but the baud clock circuitry appears dead. I also used an external can oscillator.... with this (replacing the Xtal) you do get a baud clock out the RxC line after the initialization, but still no data is sent. Unless someone else can give me any other ideas, I think I have bad chips. :cry:

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 19, 2013 5:29 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8479
Location: Midwestern USA
floobydust wrote:
In any case, the chip does respond to the code and part of it works (RTS/DTR) but the baud clock circuitry appears dead. I also used an external can oscillator.... with this (replacing the Xtal) you do get a baud clock out the RxC line after the initialization, but still no data is sent. Unless someone else can give me any other ideas, I think I have bad chips. :cry:

There was an issue with the 6551 involving DCD that would prevent it from sending data that I can't recall anymore. Have you explored this possibility?

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 19, 2013 8:58 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8538
Location: Southern California
BigDumbDinosaur wrote:
There was an issue with the 6551 involving DCD that would prevent it from sending data that I can't recall anymore. Have you explored this possibility?

From one of my manuals:
Quote:
The state of DCD\ does not affect transmitter operation, but must be low for the receiver to operate.
also:
Quote:
The transmitter is automatically disabled if CTS\ is high.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 20, 2013 12:33 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8479
Location: Midwestern USA
GARTHWILSON wrote:
BigDumbDinosaur wrote:
There was an issue with the 6551 involving DCD that would prevent it from sending data that I can't recall anymore. Have you explored this possibility?

From one of my manuals:
Quote:
The state of DCD\ does not affect transmitter operation, but must be low for the receiver to operate.
also:
Quote:
The transmitter is automatically disabled if CTS\ is high.

As I said, I couldn't recall. This merely reminds me that I really can't think of any good reason to use the 6551.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Sep 25, 2013 3:49 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Some additional findings: The datasheet from WDC shows a 1M resistor in parallel with the 1.8432 MHz Crystal used. Older datasheets from all other 6551/65C51 sources do not show any resistor in parallel nor is it mentioned in the writeup for the XTAL pins. Also, only one non-WDC source shows the 30pf cap to ground.

So, I decided to tack on a 1M resistor to one of my boards and the baud rate oscillator will now run at the correct frequency per the divisor bits as written to the chip. It also appears to be receiving data properly based on some basic logic on how the system handles commands sent (will confirm with a logic analyzer later).

- The problem now appears to be related to transmitting data as all attempts to send data result in either nothing or odd garbage being received via a terminal program.

So, it would appear that the latest chips from WDC have at least one hardware incompatibility with existing chips, requiring a hardware modification at minimum. I'll continue digging around on the transmit problem and post any additional updates should I discover more.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Wed Sep 25, 2013 6:38 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8538
Location: Southern California
Thanks for the update.  I never thought about it, but it makes sense that CMOS would need the resistor for bias in this case when putting the crystal directly on the IC.  Other brands must have had it integrated.  I'll update the I/O ICs page in the 6502 primer.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Wed Sep 25, 2013 9:01 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8479
Location: Midwestern USA
Using a half-can oscillator instead of a crystal is a lot less troublesome, and more reliable. You end up using about the same amount of board real estate, and the difference in cost is negligible.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 148 posts ]  Go to page 1, 2, 3, 4, 5 ... 10  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 11 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:  
cron