ULTRAM VCO
Re: ULTRAM VCO
thanks Steve, it will make the boxing look better!
regards
Col
regards
Col
Re: ULTRAM VCO
Can someone share some piece of code to control the vco?
I want it to port it to arduino.
thanks
on4bhm
I want it to port it to arduino.
thanks
on4bhm
Re: ULTRAM VCO
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
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
Re: ULTRAM VCO
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
Ultram uses ADF4360-5 NOT ADF4350....totally different vco/control structure.
All info you provided relates to ADF4350
Dave
G0MXW
Re: ULTRAM VCO
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
shit... my evaluation software is for 4350...
no wonder it doesn't work....
are the specifications for ADF4360-5 online?
thanks
Re: ULTRAM VCO
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...
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...
Re: ULTRAM VCO
Can someone give me an example of the 3 latches values for a given freq.
this way i can test my connection setup.
thanks
this way i can test my connection setup.
thanks
Re: ULTRAM VCO
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
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
Re: ULTRAM VCO
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?
#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 (107.17 KiB) Viewed 26332 times
Re: ULTRAM VCO
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...
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...