Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 4 из 4 ПерваяПервая 1234
Показано с 31 по 34 из 34

Тема: Си и валкодер

  1. #31
    Цитата Сообщение от Владимир_К Посмотреть сообщение
    Но это вполне может быть во время записи новой частоты в Si5351.
    В том то и дело...
    Цитата Сообщение от Владимир_К Посмотреть сообщение
    А там, все равно все прерывания запрещены и я думаю их и нельзя там допускать, во избежание неверного расчета..
    Если сделаете по предложенному мной варианту, то на время расчёта прерывания не на до запрещать, пусть контроллер считает себе, если в это время будут приходить импульсы от валкодера, то они не потеряются а будут накапливаться в bufEnc и в итоге частота перестроится ровно на столько, насколько был повёрнут валкодер без пропуска импульсов.
    Цитата Сообщение от Владимир_К Посмотреть сообщение
    Просто возник вопрос, когда начал пытать Si5351A и получил первые некоторые проблемы (скорость загрузки, пропадание сигнала на выходе во время загрузки примерно на 1,5 миллисек). Вот это выпадение сигнала убрал, исключив строку (внизу отмечено красным).
    Если пользуетесь только одним выходом Si5351A, то вроде можно не ресетить PLL ( i2cSendRegister(SI_P LL_RESET, 0xA0) ). Возможно ресет понадобится только при смене диапазона.
    Последний раз редактировалось Oleg 9; 18.05.2016 в 21:17.

  2. Спасибо от Владимир_К


  3. #32
    Цитата Сообщение от Oleg 9 Посмотреть сообщение
    Возможно ресет понадобится только при смене диапазона.
    Я тоже так предполагаю.. Хотя перестроил частоту валкодером от 16 мгц до 3 мгц, без всяких ресетов..

  4. #33
    Для общего развития делюсь обработчиком прерываний от валкодера этого синтезатора: http://www.cqham.ru/forum/showthread...B%FF-%D2%CF%CF
    Он очень маленький и быстрый, работает как часы, проверено временем.
    Если понравится, можете и себе так сделать.

    Скрытый текст

    istf(void) // interrupt function
    {if(CMIF) // Comparator Interrupt (Valcoder)
    {
    if( C1OUT ) val_old=!val_old;
    if( val_old ) valrotate++; else valrotate--;

    val_old=C2OUT;
    CMIF = 0; // clear CMIF - Comparator Interrupt Flag bit
    fcg_flag=1;
    }
    }


    Единственное, что написано для PIC контроллера, но переписать под атмел думаю не проблема...
    C1OUT и C2OUT - это в вашем случае 6 и 7 пины порта, к которым подключен валкодер. val_old и fcg_flag - глобальные битовые переменные.
    Остальное, думаю понятно .

    Цитата Сообщение от Владимир_К Посмотреть сообщение
    Хотя перестроил частоту валкодером от 16 мгц до 3 мгц, без всяких ресетов..
    Это если плавно перестраивать. А если скачком из того места где частота PLL около 900 МГц в такое где 600 МГц, то надо проверять, возможен и срыв...
    Последний раз редактировалось Oleg 9; 18.05.2016 в 21:37.

  5. Спасибо от Владимир_К

  6. #34
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,919
    Цитата Сообщение от Владимир_К Посмотреть сообщение
    Пока этот кусок кода проверен на макете. Макет - плата Ардуино, на Atmega8, но работающая в среде WinAvr, валкодер, Si5351A. Вроде все нормально
    Владимир, здесь ключевое слово "пока" - пока единственной задачей main() является бесконечный цикл while (1). Atmega8 позволяет сделать прерывания по изменениям состояний пинов, соединенных с валкодером, после чего у Вас будет полная свобода в main(). А если подумаете об управлении частотой еще и с компа по ком-порту, то захочется и main() раздвоить, сделав многозадачность. Хороший софт начинается с архитектуры, тут Ле Корбюзье́ нужен https://ru.wikipedia.org/wiki/%D0%9B...B7%D1%8C%D0%B5
    Последний раз редактировалось vadim_d; 18.05.2016 в 21:37.
    Вадим

  7. Спасибо от Владимир_К

Страница 4 из 4 ПерваяПервая 1234

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Самодельный валкодер
    от RA6LRW в разделе Технический кабинет
    Ответов: 214
    Последнее сообщение: 04.04.2020, 20:58
  2. Валкодер IC-7400
    от RW6AUR в разделе IC-746 (IC-7400)
    Ответов: 4
    Последнее сообщение: 03.01.2017, 01:11
  3. ic-820 валкодер
    от R1BBJ в разделе Icom
    Ответов: 12
    Последнее сообщение: 20.10.2011, 19:49
  4. Валкодер-энкодер
    от francua в разделе TS-430
    Ответов: 7
    Последнее сообщение: 23.08.2011, 21:57
  5. Валкодер IC 756pro
    от Vlad A.Mikchailov в разделе Трансиверы, приемники КВ/УКВ
    Ответов: 7
    Последнее сообщение: 20.01.2009, 12:28

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •