[arm-allstar] Ardunio PLL programming GE MVS
Doug Crompton
wa3dsp at gmail.com
Wed Jan 10 02:10:02 EST 2018
Benjamin,
In addition to what I mentioned in my email to you the hamvoip Pi Motorola
programming could be left in place at some remote location and you could
actually program the radio remotely via ssh at will. This could all be run
on one Pi running Allstar and programming simultaneously. You might give
that a try. It would give you complete control over the radio as you desire.
*73 Doug*
*WA3DSP*
*http://www.crompton.com/hamradio <http://www.crompton.com/hamradio>*
On Tue, Jan 9, 2018 at 11:59 PM, "Benjamin Naber via arm-allstar" <
arm-allstar at hamvoip.org> wrote:
> For those of you who are knowledgeable in the code of Arduino:
>
> I've begun a project that I jumped into the the *very* deep end, while
> knowing just barely how to swim.
>
> I've managed to get the radio to tune to a frequency that I want, but
> very flaky at best when it comes to tuning well within the limits of
> thr VCO; the arduino freezes every now and then, and quite frankly I am
> not working with (cough, not understanding), the existing code.
>
> In a nutshell, what I am doing is breaking the MC145159 control lines
> from the GE MVS CPU, and soldering in a few wires, plus a ground, to
> the base pins of the transistors that ulitamtely lead to the CLK,ENB,
> and DATA pins of the PLL.
>
> The reason why I am doing this is to enable free tuning of the radio
> without the need to program the radio using normal computer programming
> methods, ie, a cable, and a special program that is hard to come by, as
> well as must run this program on older hardware
>
> Given that Arduinos can be programmed from just about anything, this
> enabled on the fly on at least, on site programming of the radio. I am
> working towards enabling the use of these radios, and a couple others
> to be controlled by repeater controllers, and allstarlink nodes using
> kenwood data command set. Or whatever it is.
>
> Boiled down, this will enable good, inexpensive priced commercial
> radios to continue life; anyone who knows how to solder and program an
> Arduino can now use a commercial for a repeater VHF/UHF remote base,
> Allstarlink, IRLP, Echostink node radio, scanner, whatever.
>
> With the significantly better RX fronts ends on these radios, cleaner
> TX, these will significantly outperform any chinese radio attached to
> any RoIP node.
>
>
> ---------
> Here is where I am stuck:
>
> The MC145159 PLL wants the tuning data sent as follows:
> 14 bits for R counter
> 10 bits for N counter
> 7 bits for A counter
> 1 high bit for control.
>
> Totaling 32 bits. The current code, posted immediately below does not
> seem to allow this:
>
>
> emit_byte (0x14);
> emit_byte (0x01);
> /* Send "(n << 8)|(a << 1)", 24 bits, MSB first, LSB always zero */
> //emit_byte (n >> 2);
> emit_byte ((n >> 8 ) & 0xFF); /* N high byte */
> emit_byte (n & 0xFF); /* N low byte */
> //emit_byte (a & 0b1); // send only seven bits?
> emit_byte (a << 1); /* A and LSB 0 */
> //emit_byte (0x01 << 7); // send only one HIGH bit?
>
> pulse_le(); /* Latch it */
>
> the "//" are my futile attempts to work around this, and leave
> commented out so I know what I *think* did not work.
>
> I've also tried the following to form the four bytes being sent, MSB of
> each counter first, control bit last:
>
> emit_byte ((r) & 0xFF); /* send first eight bits of r counter*/
> emit_byte (((r & 0xFF) & n) & 0xFF); /* send last 6 bits of r
> counter, then send first two bits of n counter */
>
> emit_byte ((n & 0xFF) & 0xFF); /* send last eight bits of n
> counter */
> emit_byte (((a) & 0xFF) & 0x01 << 7); /* send seven bits for a
> counter, and one HIGH bit for control bit */
>
>
>
> What does work now to test to make sure this project is even feasible:
>
> in the void setup() section
>
> ....
> emit_byte (0b00101000); // first eight bits of R counter
> emit_byte (0b00000001); // last 6 bits of R counter, first two bits
> of N counter
>
> emit_byte (0b00110011); // last eight bits of N counter
> emit_byte (0b10001001); // 7 bits for A counter, last control bit
> pulse_le();
>
> .......
>
> the above test code does work to successfully set the radio to 5 KHz
> step, and program the N + A counters to 151.820MHz + 45MHz
>
>
>
>
> Sorry it was long, However the more info you have to see what is going
> on, the less guessing you have to do.
>
> ~Benjamin, KB9LFZ
> _______________________________________________
>
> arm-allstar mailing list
> arm-allstar at hamvoip.org
> http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar
>
> Visit the BBB and RPi2/3 web page - http://hamvoip.org
More information about the arm-allstar
mailing list