ULTRAM VCO

G4OHV
Posts: 35
Joined: Sat Oct 08, 2011 10:31 pm
Location: Somercotes, Derbyshire
Contact:

Re: ULTRAM VCO

Postby G4OHV » Wed Nov 30, 2011 8:06 pm

thanks Steve, it will make the boxing look better!
regards
Col

on4bhm
Posts: 66
Joined: Mon Oct 24, 2011 5:52 pm

Re: ULTRAM VCO

Postby on4bhm » Wed Apr 18, 2012 9:22 pm

Can someone share some piece of code to control the vco?
I want it to port it to arduino.

thanks
on4bhm

on4bhm
Posts: 66
Joined: Mon Oct 24, 2011 5:52 pm

Re: ULTRAM VCO

Postby on4bhm » Sat Apr 21, 2012 10:21 pm

I need HELP !!

hi,

i'm trying to send spi commands to the ultram board.
I removed the µC and wired the pins 3,6,7 to my netduino board.

I received this thes program in c# to experiment with the evaluation board of the ADF4350.
if i set my freq to be 1275Mhz
and the ref freq to be 10Mhz
i get the following values for the registers:
R0) 0x7F8000
R1) 0x8008009
R2) 0x4E42
R3) 0x4B3
R4) 95003C
R5) 580005

if i send these values via SPI in reverse order (First R5... R0) in MSB

Everytime i reboot my µC, i will get another freq on spectrum.
after a few resets, i see 3 carriers on freq.

if i repeat the whole cycle, i will always get the same set of freq's...

My code for the moment is:

SPI.Configuration Device1 = new SPI.Configuration(
Pins.GPIO_PIN_D10, // SS-pin
true, // SS-pin active state
0, // The setup time for the SS port
0, // The hold time for the SS port
true, // The idle state of the clock
false, // The sampling clock edge
1000, // The SPI clock rate in KHz
SPI_Devices.SPI1 // The used SPI bus (refers to a MOSI MISO and SCLK pinset)
);
// Initializes the SPI bus, with the first slave selected
SPI SPIBus = new SPI(Device1);
// Writes a single byte with value 255 to the SPI device
byte[] WriteBuffer = new byte[4];
//while (true)
//{
//WriteBuffer[4] = 0x20;
WriteBuffer[0] = 0x00;
WriteBuffer[1] = 0x58;
WriteBuffer[2] = 0x00;
WriteBuffer[3] = 0x05;
SPIBus.Write(WriteBuffer);
// Thread.Sleep(100);
// WriteBuffer[4] = 0x20;
WriteBuffer[0] = 0x00;
WriteBuffer[1] = 0x95;
WriteBuffer[2] = 0x00;
WriteBuffer[3] = 0x3C;
SPIBus.Write(WriteBuffer);
// Thread.Sleep(100);
// WriteBuffer[4] = 0x20;
WriteBuffer[0] = 0x00;
WriteBuffer[1] = 0x00;
WriteBuffer[2] = 0x04;
WriteBuffer[3] = 0xB3;
SPIBus.Write(WriteBuffer);
// Thread.Sleep(100);
// WriteBuffer[4] = 0x20;
WriteBuffer[0] = 0x00;
WriteBuffer[1] = 0x00;
WriteBuffer[2] = 0x4E;
WriteBuffer[3] = 0x42;
SPIBus.Write(WriteBuffer);
// Thread.Sleep(100);
// WriteBuffer[4] = 0x20;
WriteBuffer[0] = 0x08;
WriteBuffer[1] = 0x00;
WriteBuffer[2] = 0x80;
WriteBuffer[3] = 0x09;
SPIBus.Write(WriteBuffer);
// Thread.Sleep(100);
// WriteBuffer[4] = 0x20;
WriteBuffer[0] = 0x00;
WriteBuffer[1] = 0x00;
WriteBuffer[2] = 0x80;
WriteBuffer[3] = 0x00;
SPIBus.Write(WriteBuffer);


any help is much appreciated.

73's
ON4BHM

G0MXW
Posts: 20
Joined: Thu Sep 29, 2011 4:59 pm
Location: IO83nk Liverpool

Re: ULTRAM VCO

Postby G0MXW » Sun Apr 22, 2012 12:56 pm

Guy, could you confirm which board you are trying to control, Ultram or ADF4350 evaluation board ?

Ultram uses ADF4360-5 NOT ADF4350....totally different vco/control structure.

All info you provided relates to ADF4350

Dave
G0MXW

on4bhm
Posts: 66
Joined: Mon Oct 24, 2011 5:52 pm

Re: ULTRAM VCO

Postby on4bhm » Sun Apr 22, 2012 5:22 pm

i'm trying to control the ultram vco.

shit... my evaluation software is for 4350...

no wonder it doesn't work....
are the specifications for ADF4360-5 online?

thanks

on4bhm
Posts: 66
Joined: Mon Oct 24, 2011 5:52 pm

Re: ULTRAM VCO

Postby on4bhm » Sun Apr 22, 2012 5:35 pm

ok, i found the specifications...
I hope i can get the same c# evaluation code for the adf4360-5
It's handy to have the values of all registers per freq. instead of calculating them...

on4bhm
Posts: 66
Joined: Mon Oct 24, 2011 5:52 pm

Re: ULTRAM VCO

Postby on4bhm » Sun Apr 22, 2012 7:23 pm

Can someone give me an example of the 3 latches values for a given freq.

this way i can test my connection setup.

thanks

G0MXW
Posts: 20
Joined: Thu Sep 29, 2011 4:59 pm
Location: IO83nk Liverpool

Re: ULTRAM VCO

Postby G0MXW » Sun Apr 22, 2012 9:29 pm

for 1275Mhz

R register 300191
Func register 8FE924
N register 18E3A

Send R, Func, N in that order. Low byte,mid byte, high byte, MSB first

So:-

91, 01, 30 (R reg)
(high LE, delay 1uS, low LE ) ..should be in your SPI subroutine

2-3 mS Delay (important)

24, E9, 8F (Func reg)
(high LE, delay 1uS, low LE ) ..should be in your SPI subroutine

2-3 mS Delay

3A, 8E,01 (N reg)

Dave
G0MXW

on4bhm
Posts: 66
Joined: Mon Oct 24, 2011 5:52 pm

Re: ULTRAM VCO

Postby on4bhm » Tue Apr 24, 2012 11:03 am

With this code: my freq is 1425Mhz:

#include <SPI.h>

const int slaveSelectPin = 10;

void setup() {
pinMode (slaveSelectPin, OUTPUT);
digitalWrite(slaveSelectPin,LOW);
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV128);
SPI.begin();
WriteADF(0x91,0x01,0x30); //R
delayMicroseconds(2500);
WriteADF(0x24,0xE9,0x8F); //Func
delayMicroseconds(2500);
WriteADF(0x3A,0x8E,0x01); //N
SPI.end();
}

int WriteADF(byte a1, byte a2, byte a3) {
digitalWrite(slaveSelectPin,LOW);
SPI.transfer(a1);
Toggle();
SPI.transfer(a2);
Toggle();
SPI.transfer(a3);
Toggle();
}

int Toggle() {
digitalWrite(slaveSelectPin,HIGH);
delayMicroseconds(1);
digitalWrite(slaveSelectPin,LOW);
}

with the settings in the attached file, it will not work....

there must be something else wrong...

any ideas?
Attachments
ADF4360-5.GIF
ADF4360-5.GIF (107.17 KiB) Viewed 5334 times

on4bhm
Posts: 66
Joined: Mon Oct 24, 2011 5:52 pm

Re: ULTRAM VCO

Postby on4bhm » Tue Apr 24, 2012 8:26 pm

some latch combinations work, but do not give the right freq.
but most of them don't give any result on spectrum, others give me 3 carriers accros 0 and 2000 Mhz

a reset of the arduino always give me the same result. so at least it's stable....

i'm about to give up...


Return to “DigiLite”

Who is online

Users browsing this forum: No registered users and 1 guest