• You can now help support WorldwideDX when you shop on Amazon at no additional cost to you! Simply follow this Shop on Amazon link first and a portion of any purchase is sent to WorldwideDX to help with site costs.

Bearcat 980SSB "PLL Porn"

It did get me on the triple nickel, but there are issues. I need to work on the code a bit and get rid of some glitches and clean up a binary data register that likes to get out of alignment. Concept proven, now I need to work out the bugs.
 
One of the bugs was that my board interrupted the initial reference divider info. Now the board sends that. Another issue is that SSB needs to have a table entry, Yet another issue is that it works with the uno but not the nano, so I think I might be using a pin that cannot be directly controlled like that and might have to move over a couple pins.

It seems like it works good between 25.2 and 27.85, but beyond that, it pretty much goes quiet. I think the low end is a filter limitation and the upper limit due to a binary issue where I filled bits I didn't think were used.

I'll mess around with it after work throughout the week.
 
  • Like
Reactions: Shadetree Mechanic
The drive in to work gave me some time to think about what happened last night.

There is nothing wrong with my binary. I remember it staying around 27.85 as I attempted to send it higher. It has to be the VCO varactor voltage railing out. I'd bet that if I adjust the slug out a little, it will go to 10m.

And I think I figured out one of my glitches too. When it detects the first reference pulse, it is not in the table and serial prints invalid code (as expected) to the computer (I have debug code printing every step). but IIRC, I think I have a return; after that which sends it back to loop(). Theres not much time between the reference and vco divider pulses so I think sending it back to loop is causing it to occasionally lose the first digit of the vco divider data. I will get rid of return; and see what happens.

Not sure if I should continue with these updates or wait until I'm done,..
 
The drive in to work gave me some time to think about what happened last night.

There is nothing wrong with my binary. I remember it staying around 27.85 as I attempted to send it higher. It has to be the VCO varactor voltage railing out. I'd bet that if I adjust the slug out a little, it will go to 10m.

And I think I figured out one of my glitches too. When it detects the first reference pulse, it is not in the table and serial prints invalid code (as expected) to the computer (I have debug code printing every step). but IIRC, I think I have a return; after that which sends it back to loop(). Theres not much time between the reference and vco divider pulses so I think sending it back to loop is causing it to occasionally lose the first digit of the vco divider data. I will get rid of return; and see what happens.

Not sure if I should continue with these updates or wait until I'm done,..
I find it interesting, although I don't know anything at all about it. It's great watching you noodle through it, but I'm just the peanut gallery, don't mind me. ;)
 
Not sure if I should continue with these updates or wait until I'm done,..
Yes.. please go on, keep us in the loop.
I've done a bit of arduino stuff with a DDS in the past, so can follow it somewhat. Haven't peeked on serial data with a scope though.

Don't have a bearcat here, nor are they easy to get by down here in my neck of the woods. But as you say, the same technique might be usable in other radios.
 
Not sure if I should continue with these updates or wait until I'm done,..
Keep it coming bro, I'm interested and your documented log is helpful when we need to do these things. I have never done what you are doing, but I have always thought I would try someday.
 
Probably should have linked the project I tinkered with as it is actually open source (both hardware as well as software).
It's in Dutch, so you'll have to use a translation option.
Obviously the design doesn't apply to what you're doing, as it's about adding a DDS to old cybernet chassis, but maybe you can get something useful from it.

edit: Just noticed the "nl" part in the link and that means that - yes - the author also had written an english version of the text. Use this link instead:
 
  • Like
Reactions: Shadetree Mechanic
Holy crap, awesome discovery lol. Since the PLL gets different data for AM and SSB, I can leave ch1 am at 26.965 and assign the freeband frequencies under ch1-whatever without affecting AM

so ch1AM can be 26.965 while ch1 LSB is 27.425
and the current glitch from rolling channels too fast doesnt really matter because it re-sends the data when you key
 
  • Like
Reactions: Shadetree Mechanic
apparently, this PLL is involved in the WX reception, even though that has its own PLL. The other PLL must just downconvert it or something. So now I need to reconnect the probes and capture what data that wants and add it to the tables.
 

dxChat
Help Users
  • No one is chatting at the moment.
  • @ 357:
    holy man no activity or what?
  • dxBot:
    357 has left the room.