ハムフェアで微弱電波のポケトラを試運転してみたところ、送信時にマイコンが固まる現象がでました。

プログラムで送信時にLからHレベルの検出をしてPLLで周波数切り替えをするように作ったのですが、周波数が移動せずフリーズします。

これはPLLがロックするのに時間がかかるのかと思ったりして、si5351が2つのPLLを内蔵しているので、初めから2つの周波数を出力するように作り変えてみました。

送受で、どちらかをオフにするシーケンスなのですが、結果は変わりませんでした。

うーん、わからない。しばらく悩みそうです

ちなみに、作ったプログラムは下のような感じです。DSP受信ボードも送信時にオフするようにしてます




void loop()
{
  si5351.set_freq((vfo * SI5351_FREQ_MULT) - bfo, SI5351_PLL_FIXED, SI5351_CLK0);
  si5351.set_freq((vfo * SI5351_FREQ_MULT) , SI5351_PLL_FIXED, SI5351_CLK2);

 
  if (digitalRead(4) == HIGH) {
     si5351.output_enable(SI5351_CLK0, 0);
    si5351.output_enable(SI5351_CLK2, 1);
    i2c_write(0x00, 0b00000010); //on,fm,tune,no-seek,no-seekup,no-mute,rsv,rs
    delay(100);
  }

 
  else   {
   
    si5351.output_enable(SI5351_CLK0, 1);
    si5351.output_enable(SI5351_CLK2, 0);
    i2c_write(0x00, 0b10000000); //on,fm,tune,no-seek,no-seekup,no-mute,rsv,rs
    delay(100);
  }