Comments (12)
What happens when you try the si5351_example.ino sketch and try varying the output frequency here? Does the output at least change frequency at all?
from si5351arduino.
Hi, running the sketch you refer the chip outputs a freq of 21.1Mhz at CLK0 out, and CLK1 is always high. However I tried my original code which changes the output frequency with an encoder and it changes fine, but with this huge factor (around 1.5). My code was using the Adafruit breakout board with the 3 output version.
from si5351arduino.
What microcontroller?
from si5351arduino.
Teensy 3.2.
I actually want to say that my original code works great with the Adafruit breakout board, all I2C communications seem to be working fine.
from si5351arduino.
I actually have two Si5351A-B-GM mounted on my board and both behave in the exact same way, they just have different I2C addresses but the behavior and frequencies outputs the same results.
from si5351arduino.
I think it's highly likely that the issue stems from the Teensy, not the Si5351A ICs. I know that the Teensy uses a different toolchain and libraries than most Arduino compatible controllers, and I suspect that's where the bug lies. Saw something similar with the ESP8266. Unfortunately I don't have a Teensy on hand to confirm this. I'll leave this issue open for now, in case I get a chance to get one in the future and try to solve this problem.
Otherwise the only think I can think of that you can do is possibly confirm this by trying to drive your two Si5351A-B-GM with a different controller (at least temporarily) in order to confirm it's a controller problem.
from si5351arduino.
Ok. If I change the PLLA freq I got fairly precise values, for example this code outputs 10Mhz and if I change the freq using the same PLL freq seems to be working fine.
si5351.set_pll(118000000000ULL, SI5351_PLLA);
si5351.set_freq(1000000000ULL, SI5351_CLK0);
Do you think it can be some kind of library versioning or something like that regarding the comments you say about the microcontroller? As I said I have a production working software using Teensy 3.2 in several boards using the Adafruit breakout boards, Teensy is super stable but I have some ESP32 here, I will test with one of them.
Thanks a lot!!!!
from si5351arduino.
As I said I have a production working software using Teensy 3.2 in several boards using the Adafruit breakout boards, Teensy is super stable but I have some ESP32 here, I will test with one of them.
Ah, I misunderstood then. I wouldn't try with the ESP32, there's been reports of that having issues as well, which I also need to attend to soon. I'm not sure what would be different in the 8-output version of the chip that would cause this problem, but there might have been some subtlety that I missed. I have used the library with the B and C variants with 8 outputs and it works fine there.
Maybe try a clean installation of the library and try again, just to be sure. Meaning delete the library from Library Manager, clean out the package in the .arduino15/staging/etherkit folder, and then re-install fresh. Let me know what you find.
from si5351arduino.
Definitely I am improving. I detected that my voltage was dropping a little bit, so I am now testing with an independent power supply for both Si5351, and now I am getting the correct frequencies :) however, for clocks 7 & 8 (SI5351_CLK6 and SI5351_CLK7) I am not able to set the correct frequencies, for example, if I set:
si5351.set_freq(1000000ULL, SI5351_CLK6);
The clock just goes low (no oscillating).
And if I set:
si5351.set_freq_manual(1000000ULL, SI5351_PLL_FIXED, SI5351_CLK6);
I see the output as 48.075 Khz, which should be 10Khz.
Do you know what can be causing this issue? Again, THANKS a lot!
from si5351arduino.
The CLK 6 and CLK7 problems could very well be a bug in my library code. I'll have to investigate here and see what I can find.
from si5351arduino.
Thanks Jason,
I can help to find the bugs if you have a spot on what can be the issue.
Best regards!
from si5351arduino.
Due to the problems discussed in this thread regarding the SI5351A and as you said you tested with the SI5351B, with the aim of discarding an issue with this specific A version, I have just tested with a SI5351B, using a breakout board I had brought from China before. The same program has similar problems with CLK6 and CLK7 outs.
si5351.set_freq(1000000ULL, SI5351_CLK6);
With the previous code I just see the output six Low, no oscillating.
And with this code:
si5351.set_freq_manual(1000000ULL, SI5351_PLL_FIXED, SI5351_CLK6);
I see a similar freq as with the SI5351A, but instead of 48.075Khz I see 52.08Khz.
For CLK0 through CLK5 I am obtaining the correct frequencies, in the same way as with the SI5351A.
So it seems that the CLK6 & CLK7 problems might be a generalized problem?
Again, thanks a lot!
from si5351arduino.
Related Issues (20)
- Compatibility HOT 4
- multisynth_calc when r_div applied
- New/alternative method for exact solutions for PLL and multisync ratios HOT 16
- No STOP after si5351.update_status() on NRF52832
- Delay between CLK0 and CLK1 HOT 1
- Nullify spread spectrum
- Jittering output frequency HOT 1
- Chatter, Pop and Clicks HOT 1
- need definition of error messages HOT 3
- reset spread spectrum enable in init code
- Si5351 - ESP8266 WSPR beacon VHF HOT 2
- Repeated definition for output clock divide by 64 in function select_r_div HOT 1
- Repeated definition for output clock divide by 64 in function select_r_div
- Code builds fine for Raspberry Pi Pico, but does not work.... HOT 1
- Wire conflict
- Problems with SI5351B-GM1 only two outputs working and they don't match. HOT 1
- Handle missing external clock, either fallback to internal oscillator or switching off output HOT 2
- VCXO Calibration Issue HOT 2
- Si5351.h and AtTiny3216 HOT 1
- The comments in the title block of SI5351.set_freq(freq, clk) say freq units are Hz. I think they are Hz*100ULL. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from si5351arduino.