Етикети

сряда, 22 март 2017 г.

Si5351 from Farnell

  Реших да закупя от Farnell Si5351, защото така е най-бързо и лесно - чиповете идват за 3-4 дни. Направи ми впечатление още при поръчката, че номенклатурата им е "по-различна" Si5351A-B04486-GT, но в информация за продукта нямаше нищо повече написано, освен това което желаех. При опит за търсене в нета по ключова дума, номенклатурата на чипа, просто нищо не излиза.
  И така, радостен от факта, че се сдобих с нови SI5351A и то на добра цена ( 2.76 лв с ДДС ) наситих платката и заредих кода за "радио-фар". Поослушах се по честотите, където трябваше да работи фара, но уви . Взех честотомера и премерих сигналите на изходите - 49.152 MHz 24.000 MHz и 45.158 MHz !? Каквото и да правих, не можех да ги променя.
  Разчетох се из нета и попаднах най-сетне на информация. На страницата на SiLabs може да се провери каква е конфигурацията на чипа. Oказа се, че закупеният от Farnell чип е фабрично програмиран да работи на горните честоти ( както вече писах, това не бе упоменатo никъде в сайта на Farnell ) ?!
  За съжаление Ардуино средата не позволяват "бърникане" из регистрите на чипа, а и аз като начинаещ програмист нямам опит в това. След като позагубих време в опити да подкарам чипа, се обърнах към Jason NT7S, чийто Si5351 библитека ползвам, с молба да помогне. От няколко дни е налична нова библиотека за Si5351 v.2.2, която може да се изтегли от GitHub страницата на NT7S. Новата версия има редица подобрения по отношение управление на чипа, но най-важното за мен е следното - може да се програмира Si5351, чийто I2C адрес е различен от базовия (0x60). Именно тук се оказа разковничето на проблема ми - фабрично програмирания чип е с променен I2C адрес (0x62)! Единственото нещо, кото трябва да се направи при начална инициализация на чипа e да се определи  I2C адресът му:
-------------------------------------------------------------------------------------------------------------------------
#include "si5351.h"
#include "Wire.h"

Si5351 si5351(0x62); // в случаят адресът е 0x62
-------------------------------------------------------------------------------------------------------------------------
  Толкоз...и чипът си заработи със същия код, с който работят и не фабрично програмираните чипове.
 Намерих в нета едно много полезно тулче, с чиято помощ да се прочете адреса на вързаното по I2C устройство/чип. Казва се "i2c_scanner" и може да се копира от тук. С негова помощ може да се провери адреса на чипа, а и като цяло да се тества I2C комуникацията между Ардуино модула и Si5351 платката. 
 Освен горе описаната промяна в библиотеката на Si5351 от NT7S Jason тествах възможността за "автоматично" настройване на честотата на изхода до 225MHz. Работи перфектно.
-------------------------------------------------------------------------------------------------------------------------
// Set CLK0 to output 225 MHz
  si5351.set_freq(22500000000ULL, SI5351_CLK0);
-------------------------------------------------------------------------------------------------------------------------

  Като цяло имам усещането за много по лесно управление на чипа от преди.

 И тъй като 432MHz е равно на 2x216MHz, а вече спокойно мога да генерирам тази честота,решавам да пробвам радио-фар и на 432MHz ! Изходът на генератора ще мине през HighPass филтър с около 30dB затихване на 216MHz, с цел в последствие да усиля втората хармонична - 432MHz. 


Няма коментари: