6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 3:40 pm

All times are UTC




Post new topic Reply to topic  [ 64 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
PostPosted: Thu Jul 01, 2021 4:50 am 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
Chips are seated! Kind of a nightmare with the cheap sockets (from amazon, yikes) I had in my kit. I'm going to investigate a better part (that is, I'm going to see what Jameco sells as I'm usually happy with their stock).

Something is wrong with IO Port A, it won't power my logic tester. IO Port B gave a satisfactory +5V and GND for the pen to light up (test number 1...). I visually inspected my soldering job and its not the best ever but I don't see anything obvious that would explain why I can't just get simple power out. I'm going to have to come back to it with fresh eyes.

I've already made a number of silly mistakes along the way, and definitely want to update the silkscreen to include things like ... chip name instead of just U1/U2 etc. Additionally, at the very least I'd like to have 5v and GND more obviously indicated for each chip.

I'll be troubleshooting more in the morning. No questions at this time, but wanted to share the progress.

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 01, 2021 4:57 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8509
Location: Midwestern USA
Dr Jefyll wrote:
For polarity "protection," I just include a suitably beefy Schottky diode on the board, wired in parallel with the supply so the wall wart sees a short if I accidentally reverse the connections.

You could put a big electrolytic across the power input in place of the diode and wait for results when you accidentally reverse-polarize the power. :twisted: I'm sure you'll get a real bang out of it. :D

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


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 01, 2021 5:03 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8509
Location: Midwestern USA
Individual_Solid wrote:
Chips are seated! Kind of a nightmare with the cheap sockets (from amazon, yikes) I had in my kit. I'm going to investigate a better part (that is, I'm going to see what Jameco sells as I'm usually happy with their stock).

Caveat emptor when purchasing electronic parts from Amazon, eBay et al.

Quote:
Something is wrong with IO Port A, it won't power my logic tester.

From where did you purchase this chip?

Quote:
I've already made a number of silly mistakes along the way, and definitely want to update the silkscreen to include things like ... chip name instead of just U1/U2 etc. Additionally, at the very least I'd like to have 5v and GND more obviously indicated for each chip.

When I build a unit, I print an enlarged copy of the PCB and make notes on it as to which part goes where, plus I highlight the VCC connections in red and ground connections in green. On PCB layouts, it's customary for pin 1 to be a square pad rather than round, which is a further aid to getting parts correctly installed.

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 02, 2021 6:08 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
Last night I had some time to sit down and troubleshoot more efficiently. I made some progress, but not the best in the world.

Once chips were seated, I initially tried to get my LCD printing "Hello World". It worked first try! just kidding. No, it did not. The LCD powered up but didn't initialize, let alone write Hello World. Time to take a step back and see whats working and whats not.

First, I spent a lot of time making sure that each VIA out pin was properly connected to the expansion header, and that the expansion header was properly wired to each LCD pin. I had made a few mistakes manually wiring, and, rather tragically, a few of the header pins aren't providing a super stable power line. I looked more closely at my solder job, and I definitely rushed (or just didn't properly attach) the headers. I was using 1x40 female headers that I snapped, taped into place, and soldered on. The joints are a little weak and the headers are lifted off the board more than I want. BDD - this is what I meant by my IO Port having issues, not the chip but my poorly hacked together physical connector/port.

Despite this, I decided to keep debugging with my $20 sparkfun logic analyzer. I switched to a simple program that loads $#50 into the ORB of my VIA and then ror, store to ORB, loop ad naseum. I'm honestly not sure how best to use PulseView to do logic debugging. My guess is that I should use a 1Mhz sample rate (my clock rate) but I don't know if that's actually a valid idea. Once I added a few NOPS in the loop and the reset, I was able to start visibly seeing lines from the VIA go on and off. However, I would frequently lose one or more channels worth of information (they'd randomly pull high or low and stay there). When I have everything laid out perfectly flat, nothing underneath, no wires in weird bends, things pushed in very far, I mostly get clear lines, but still see some noise.

Now I know some of this is due to my cheap logic analyzer, messy desk, loose dupont connects, etc... But I honestly do believe a lot of this may be due to the rushed job I did soldering the board together. It was still 84degrees Farenheit indoors when I pulled out the soldering iron.

So, I could keep troubleshooting RevASer1... But today the Jameco box came-high quality sockets and fresh resistors and caps. real IDC connectors and 2x07 shrouded headers instead of cheap snapped off headers. Even a DC barrel jack that I can shove onto the footprint of my terminal block connector.

So my thinking for this long weekend is to construct a second of the RevA boards. That way, I'll have a better "known quantity" to work from. But here's the differences:
  • Mise-en-place. After cleaning up my desk space, I want to build a workspace laid out specifically for the board construction. That means not balancing things on top of books. That means all the parts in a little kit box organized and laid out for the project.
  • Reference materials. As BDD suggested (thank you!), I'd like to print out a schematic and board layout to have to reference while building. Important pins are highlighted. Chip names and component values are included. This will ensure I only have to socket each chip once! I already have the datasheets for the WDC chips printed out, put in full page plastic protectors, and bindered up. This makes it super easy to flip to a pin out or register layout and see whats needed. I will print and binder at least the pinout page for the rest of the components on the board. All this (including schematic, layout, BOM) can go in the final binder.
  • Quality sockets, quality construction. I'm going to use the new good Jameco parts and take my time to carefully attach components. Not trying to solder any joints with the board vertical. Similarly, take my time while socketing chips.
  • Physically I'm using male shrouded headers instead of female headers for the IO Ports. And a DC Barrel jack for power instead of terminal blocks.

And, looking to RevB design, which I'd like to draw up next week...
  • As mentioned earlier, decoupling caps and power traces in general need some love
  • Lots of board footprint only changes, for cap sizes, headers, and more
  • Silkscreen around the IO Ports (including standardizing on IO(X)P(Y) where X is the VIA's number (1 or 2) and Y is the port on the VIA (A or B). Will also switch to clockwise pinout instead of odd-even. Also silkscreen needs to label +5 and GND on all the ports
  • mounting holes drilled in the four corners, for standoffs at the very least.
  • Add LED indicators for Power, SYNC, and RESETB. (consider test points as well)
  • Maybe add a UART, maybe not yet :) I'm leaning toward an SPI UART driven by a VIA, but I _am_ interested in learning the 6551 programming model.

I do have a question about decoupling caps. I see you mentioned not all MLCC are made the same. I've been buying ceramic disc caps (0.1uF) from Jameco for about $.15c per. The MLCC you linked from Mouser is about 45c per. I found ceramic disc caps on Mouser, but they were well over a dollar, sometimes $4. They had much higher voltage ratings. Am I missing an obvious listing for something in the sub-20c range thats a good enough 0.1uF cap? Otherwise I'll just keep snapping up the Jameco part that I already know well.

I've been thinking a lot about the goals of my board. As someone else mentioned, I'm working backward. From Elements of Computing Systems to Rodnay Zaks. I don't feel compelled to keep my board "period accurate" but I also appreciate the creativity that can emerge from constraints. That's why I'm still considering learning how to use the 6551 even if it's just going to talk to a pi pico that does the rest of what I want. Well, OTOH I just got some of Geoff's VT100 terminal kits mailed from Tindie, so maybe I should go full on RS232.

In any case, here's my list of priorities/next steps
  1. Construct RevAB2 with my notes above and more attention to detail. Hopefully get it doing something obvious on the logic analyzer so we can move forward to LEDs and then an LCD.
  2. Design RevB (to use a very similar BOM).

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 02, 2021 6:41 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
As noted by several commenters in the 6502 PCB Power On Issues thread these LCD displays are often very fussy indeed about how they are started up. So, they are a great peripheral for a computer design which works, but not a great one to use as a proof of life: an LED is about as simple as things get, for that. (Indeed, flashing an LED is very commonly used as a first project with a platform.)


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 02, 2021 7:21 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
BigEd wrote:
As noted by several commenters in the 6502 PCB Power On Issues thread these LCD displays are often very fussy indeed about how they are started up. So, they are a great peripheral for a computer design which works, but not a great one to use as a proof of life: an LED is about as simple as things get, for that. (Indeed, flashing an LED is very commonly used as a first project with a platform.)


Indeed, my latest experiments are just "LED flashing" but on the logic analyzer instead of an LED. I think I'll spend some time literally wiring up LEDs instead of trying to learn a logic analyzer I know nothing about. At least, once board 2 is assembled. I didn't expect the LCD to work first try, but it seemed worth hooking up as a try!

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 02, 2021 8:23 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
Individual_Solid wrote:
That means not balancing things on top of books. That means all the parts in a little kit box organized and laid out for the project.

Darn! I'm doomed! Well, at least my workbench isn't quite as messy as industry guru Jim Williams' (last name edited per Kevin's reminder below), shown at viewtopic.php?p=27948#p27948 ! LOL My construction and my source code are super neat, but not my workbench. You'll notice I've never posted a picture of my workbench. In fact, that's one of my hesitations about posting a video!

Quote:
Physically I'm using male shrouded headers instead of female headers for the IO Ports.

Yes; standard is to have the male on the board, so you can plug IDCs onto it. IDCs (insulation-displacement connectors) are super easy to mount onto ribbon cable. You just put the IDC over the cable and mash it on with a vise, resulting in this:
Image

Quote:
Silkscreen around the IO Ports (including standardizing on IO(X)P(Y) where X is the VIA's number (1 or 2) and Y is the port on the VIA (A or B). Will also switch to clockwise pinout instead of odd-even.

The standard pinout, looking down into the pins on the board is like this
Attachment:
pinHeaderPinNumbering.gif
pinHeaderPinNumbering.gif [ 9.37 KiB | Viewed 1280 times ]

so the numbers go in order of the conductors in a ribbon cable that plugs onto it, and pin 2 is always at the top right, regardless of how many pins there are.

Quote:
Maybe add a UART, maybe not yet :) I'm leaning toward an SPI UART driven by a VIA

I like the MAX3100. The MAX3110 is the same thing with line drivers and receivers built in. These ICs come in small skinny DIPs which save a lot of board space, compared to wide 24- or 28-pin UARTs plus line drivers and receivers.

Quote:
I do have a question about decoupling caps. I see you mentioned not all MLCC are made the same. I've been buying ceramic disc caps (0.1uF) from Jameco for about $.15c per. The MLCC you linked from Mouser is about 45c per. I found ceramic disc caps on Mouser, but they were well over a dollar, sometimes $4. They had much higher voltage ratings. Am I missing an obvious listing for something in the sub-20c range thats a good enough 0.1uF cap? Otherwise I'll just keep snapping up the Jameco part that I already know well.

If you're using thru-hole only, they should look something like this:
Attachment:
monolithicCeramicCap.jpg
monolithicCeramicCap.jpg [ 11.22 KiB | Viewed 1280 times ]

Solder it with just barely enough lead length to prevent breaking if it gets bumped. The leads add inductance which you'll want to minimize. If you can solder SMT chip capacitors down to the board (which is pretty easy if you stay with at least 0805 size), so much the better, for good AC performance.

_________________
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: Fri Jul 02, 2021 8:53 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8509
Location: Midwestern USA
GARTHWILSON wrote:
Individual_Solid wrote:
Physically I'm using male shrouded headers instead of female headers for the IO Ports.

Yes; standard is to have the male on the board, so you can plug IDCs onto it...You just put the IDC over the cable and mash it on with a vise...

One time, I got carried away with using the bench vise in my metal-working shop to attach a 50-pin IDC connector to a SCSI cable I was making—and did literally mash it. Man, was I peeved, as it was the last 50-pin connector I had in my parts supply. :cry:

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 02, 2021 9:04 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
GARTHWILSON wrote:
Darn! I'm doomed! Well, at least my workbench isn't quite as messy as Jim ____'s (I can't remember his last name, but he was an industry guru), shown at viewtopic.php?p=27948#p27948 ! LOL My construction and my source code are super neat, but not my workbench. You'll notice I've never posted a picture of my workbench. In fact, that's one of my hesitations about posting a video!

If you can get away with it, that's fabulous! That's a bit what my workspace looks like at the moment. The result was sloppy construction the first time! Maybe I should get used to my first attempts being a failure, but I do think I can make some of these bad solders and sockets floating a bit off the board go away if I give myself the room to work!

Quote:
Yes; standard is to have the male on the board, so you can plug IDCs onto it. IDCs (insulation-displacement connectors) are super easy to mount onto ribbon cable.


Yep, that's the plan. I have a large handful of 2x8 IDC sockets, assembled cables, as well as breakouts to DIP size (breadboard friendly). I have a much smaller handful of 2x7 shrouded male sockets (and none of the supporting gear). For board 2 I will just use the shrouded male socket and dupont connector jumpers to connect things. Then I guess I'll make a decision of if I want to build/acquire the rest of the 2x7 (i.e. 14pin IDC) gear, or if for RevB I want to switch to an 16pin connector (which could carry ... more power? clock? reset might actually be useful).

Quote:
The standard pinout, looking down into the pins on the board is like this
Attachment:
pinHeaderPinNumbering.gif

so the numbers go in order of the conductors in a ribbon cable that plugs onto it, and pin 2 is always at the top right, regardless of how many pins there are.

That's really good to know. I was looking at your schematic while doing schematic capture but I ended up picking the wrong footprint when laying out the board. I got it wrong on the Y axis, my pin 1 is top right, pin 2 is top left and so on. I will NOT switch to clockwise, I will just follow your diagram.

Quote:
If you're using thru-hole only, they should look something like this:
Attachment:
monolithicCeramicCap.jpg

Solder it with just barely enough lead length to prevent breaking if it gets bumped. The leads add inductance which you'll want to minimize. If you can solder SMT chip capacitors down to the board (which is pretty easy if you stay with at least 0805 size), so much the better, for good AC performance.


Is that an MLCC or a Ceramic Disc? I guess my real question is, and I don't even know if this is a question that can be answered.... what sort of price should I be paying PER capacitor (I can do currency conversion, but I'm in the NW USA) for a simple 0.1uF filter cap?

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 02, 2021 9:10 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
Quote:
One time, I got carried away with using the bench vise in my metal-working shop to attach a 50-pin IDC connector to a SCSI cable I was making—and did literally mash it. Man, was I peeved, as it was the last 50-pin connector I had in my parts supply. :(

Well, it is possible to mess it up; but I've always been careful to make sure the IDC is going at 90 degrees across the ribbon, and the little gizmos that puncture the insulation and grip the inner conductors were sitting correctly in the grooves before doing the monster mash, but so far it has worked right every time, and proven reliable. The cable can also later be folded over the top and you can add the strain reliever for added dependability. So far, so good.

_________________
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: Fri Jul 02, 2021 9:18 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8545
Location: Southern California
Individual_Solid wrote:
Is that an MLCC or a Ceramic Disc? I guess my real question is, and I don't even know if this is a question that can be answered.... what sort of price should I be paying PER capacitor (I can do currency conversion, but I'm in the NW USA) for a simple 0.1uF filter cap?

MLCC (multilayer ceramic capacitor). Any of these should be fine. Actually, I do like the ones with the straight (not formed) leads, to reduce lead inductance. It looks like you can get 100 for under $10. Hmmm... it looks like we've lost some economy of scale since SMT is getting the sales volume now. I remember when we used to buy the thru-hole ones for a couple of cents each back when we were still doing thru-hole. There are probably cheaper ones in Z5U, Y5V, or other inferior dielectric which might be ok for power-supply bypassing but I wouldn't use them in our audio equipment.

_________________
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: Fri Jul 02, 2021 10:05 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
For the next revision, I may try JLCPCB's pick n place assembly and plop surface mount caps, resistors, LEDs, etc... on the board, and do the chips/sockets/connectors (through hole stuff) myself. I could certainly do that (simple) surface mount stuff on my own, but my kit of passives is pretty much all through hole, so if I have to buy the components anyway I may try their cool ability to plop those right on board before shipping to me! I haven't researched the economies of scale yet, but it seems like for their "basic parts" catalog (which looks to have what I need in terms of passives) I can get away without paying too much more. I'll have to do the math.

Thanks for the details on caps. It's great to hear what real people have on their parts list.

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 03, 2021 3:55 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
GARTHWILSON wrote:
Individual_Solid wrote:
That means not balancing things on top of books. That means all the parts in a little kit box organized and laid out for the project.

[color=#000000]Darn! I'm doomed! Well, at least my workbench isn't quite as messy as Jim ____'s (I can't remember his last name, but he was an industry guru), shown at viewtopic.php?p=27948#p27948 ! LOL My construction and my source code are super neat, but not my workbench. You'll notice I've never posted a picture of my workbench. In fact, that's one of my hesitations about posting a video!


I believe that was Jim Williams...

https://www.edn.com/jim-williams-contributions-to-edn/

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 05, 2021 4:33 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
I assembled a second board using sockets from Jameco, and wow, it really did make a difference. Very minor struggle seating the ICs, no pins got bent in weird ways.

But, alas, getting the output I want from my '22 isn't seeming to be happening. I temporarily gave up on the cheapo logic analyzer and wired up LEDs (with current limiting resistors) to the PB outs. Even with the following very simple program, I get no actual output on PB of the '22. I was using a blinking program, but tried to minimize it as much as possible just to see a pattern.
Code:
 
  .org $8000

reset:
  lda #%11111111
  sta $6002
  lda #%10100101
  sta $6000


  .org $fffc
  .word reset
  .word $0000


My next step is to go pin-to-pin with the continuity tester and see if anything is obviously wrong.

_________________
https://github.com/Individual-Solid/


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 05, 2021 4:51 pm 
Offline
User avatar

Joined: Fri Jun 25, 2021 5:38 am
Posts: 72
Location: Portland, Oregon, USA
I'll note, the logic analyzer did indicate that the reset signal is working at least. I get a whole bunch of nonsense on PB2 lines when I'm analyzing at 2MHz, multiple pins are bouncing all over the place. But when I depress the reset button, all my lines go low. At least something works!

_________________
https://github.com/Individual-Solid/


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

All times are UTC


Who is online

Users browsing this forum: DRG and 31 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: