Перейти к содержанию
    

пробую на часовом кварце, тот же эффект, но генерация на ногах есть.

И вот почему то становиться сброшен бит XT1HFOFFG а не XT1LFOFFG

если его принять за верный, тогда он как бы стартует на 32768

может что то еще нужно сделать ?

    PMM_setVCore(PMM_CORE_LEVEL_0);
    PJSEL = BIT5 | BIT4;

    UCSCTL6 = 0x00;
    UCSCTL6 = XT2OFF | XCAP_0 | XT1DRIVE_0;
    do {
        UCSCTL7 &= ~(XT1HFOFFG | XT1LFOFFG | DCOFFG);
        SFRIFG1 &= ~OFIFG;
    } while (UCSCTL7 & XT1LFOFFG);

конденсаторы оставил по 16 пик, чтоб не отпаивать.

с выбором регистров тоже как бы все в норме. в CCS это выглядит так.

Spoiler

define.thumb.jpg.f627167ff4730fd3bc93a55b1e2a3c79.jpgtarget.thumb.jpg.6cdf0209d38f9273c95c842bc90dcbd3.jpg

В коде #include <msp430.h>

а в нем уже

#elif defined (__MSP430F5172__)
#include "msp430f5172.h"

Смотрю делителем на 10, как и у всех, на одном побольше синуса, на втором поменьше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

для 32768, из примера Ti. По флагам XT1HFOFFG надо даташит курить, у меня такого процессора нет, работал с F5438A.

. . . 
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  Port_Mapping();                           // Port Map port3
  
  // Setup Port Pins 
  . . . 
  PJSEL |= BIT4 + BIT5;                       // Port select XT1
  
  UCSCTL6 &= ~(XT1OFF);                     // XT1 On
  UCSCTL6 |= XCAP_3;                        // Internal load cap
  
  // Loop until XT1 fault flag is cleared
  do
  {
    UCSCTL7 &= ~XT1LFOFFG;                  // Clear XT1 fault flags
  }while (UCSCTL7 & XT1LFOFFG);               // Test XT1 fault flag

  while(1) { }

 

Вот блок примеров на семейство F51xx, это оттуда.  

Если работает на 32768 - Ok, аккуратно подстраивайте под HF кварц. Кстати не увидел ответа, какая частота для него.

Для 12 MHz без включения встроенных емкостей - UCSCTL = 0x0060; 

slac452d.zip

тамже есть настройки map.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ps

2 hours ago, visht said:

Смотрю делителем на 10, как и у всех, на одном побольше синуса, на втором поменьше.

Я так предполагаю делитель осциллографа. Обратите внимание, что щуп, даже с делителем, влияет на работу генератора. К примеру, когда щуп касается кварца, генерация есть. А когда щуп убирается, генерация пропадает. Но мы этого, естественно, не видим.

Выводите MCLK на контрольный пин.

По емкостям на кварце - надо быть уверенным, что установлен требуемый номинал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю что было причиной, скорее совокупность.

На сейчас. генерация есть, на LF при XTS = 0, и на HF при XTS = 1.

Но ... все так же флаги ошибок установлены, что на LF что на HF режимах.

Если их проигнорировать, то оно как бы работает на генерируемой частоте.

Но закрадываются сомнения что режимы LPM могут вести себя неадекватно из за того что процессор считает резонатор неверным.

 

С выводом частот на пины у меня были странные глюки, может я что то не так делаю

    P2SEL = BIT6 | BIT7;
    P2DIR = BIT6 | BIT7;
    PMAPPWD = 0x02D52;                      // Get write-access to port mapping regs
    P2MAP7 = PM_TD0_0SMCLK;
    P2MAP6 = PM_TD0CLKMCLK;
    PMAPPWD = 0;                            // Lock port mapping registers

При этом если я загружаю код через CSS то выводиться только на 2.7 pin, я так понимаю что MSP-FET теряет связь. А если выйти из отладки, то на обоих портах есть 1.015 МГц

тест без запуска внещнего резонатора. Очень странно что отваливается отладка.

 

По плате - все чисто. Промыл. просушил :)

смущает то что даже от внутреннего генератора флаг OFIFG в SFRIFG1 остается в 1.

Вообщем видимо остается пока надеяться на него, и попробовать настроить FLL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 minutes ago, visht said:

. . . .

Но закрадываются сомнения что режимы LPM могут вести себя неадекватно из за того что процессор считает резонатор неверным.

Не, процессора  как правило ведут себя адекватно на 99.9(9), исполняемому на них коду, подключенной внешней периферии и источнику питания. IMHO. Используйте кварц 32768+FLL.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так ведь и он нормально не работает, тоже флаг не сбрасывает.

В при таком умножении ... насколько будет влиять теспературный уход по частоте ?

Я проверил в качестве иcточника CR2032 (новая, 3.2V) , и ... все так же. на флагах висим. Что может быть лучше ?

Да и кода тут ... пока только инициализация.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

48 minutes ago, visht said:

так ведь и он нормально не работает, тоже флаг не сбрасывает.

В при таком умножении ... насколько будет влиять теспературный уход по частоте ?

Я проверил в качестве иcточника CR2032 (новая, 3.2V) , и ... все так же. на флагах висим. Что может быть лучше ?

Да и кода тут ... пока только инициализация.

Использовал для USART на 115200, базовое тактирование от 32768 (работал постоянно) и из режима LPM запускался FLL/DCO. Правда питание было 3.3 . . . 3.75 В. Вполне успешно качал блоки данных по 64к (MSP430F5438A)

Флаг ошибки генератора - может надо отладить режим его работы, к примеру он запускается, но из-за неправильного выбора емкостей работает с шумом или на уровне шумов (недостаточная амплитуда). Ну, может еще errata почитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Errata почитать то можно, но ничего по теме там нет.

Есть упоминание что при изменении делителей эти флаги надо чистить.

По факту работы - на VCore при питании от MSP-FET или от Cr2032 пульсаций нет. Вид сигнала абсолютно идентичен состоянию открытого щупа.

При питании от MSP-FET на VСС наблюдаются некоторые шумы, думаю что от питальника самого MSP-FET но они не критичны, и видны на картинках.

При питании от CR2032 на VСС картина такая же как и на открытом щупе. Т.е. пульсации на уровне природного шума.

Поэтому картинки по данным вариантам даже не прикладывал.

По уровню, есть у меня эволюшн от TI и я на нем протестил сигналы кварца. И соответственно протестил их у себя.

Я не вижу к чему придраться, все одинаково, никаких ... шумов, сбоев ... на глаз невидно.

Смотрите...

Spoiler

RF430F5978EVM_1v1.thumb.jpg.8e03e0647032cae0ee66c2802f8d023d.jpgMSP430F5172.thumb.jpg.4723892097d50c6bc9af9e227d2a9335.jpg

По резонатору, я поставил родной, который с емкостями своими. Так что и тут ... грешить как бы не на что.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

полоса у С1-77 10MHz. Далеко не все можно увидить. 100 mV размах - как-бы маловато. Хотя это скорее всего поддавливает осциллограф.

Принципиальной схемы не выкладывали, PCB тоже. Блокировочные конденсаторы на процессоре, фильтр-дроссель по питанию, электролиты. Их есть ?

Для кварца 32768, возможно, см даташит, внешние конденсаторы не нужны, используются настраиваемые внутренние.

Для ВЧ кварца я бы попробовал подобрать емкости с контролем флага ошибки генератора. Я пользовал для этих целей КПЕ с двумя секциями 12-495 pF

ps Выложите последнюю работающую (без прогр. кода на  флаг ошибки генератора) часть кода для вч или нч кварца.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тестирую на рабочей плате, свою рисовать пока рано, да и делать негде, пока ... Fedex 23 февраля так и не довез мой заказ.

конечно там есть к чему прицепиться, топорно сделано, кондеры блокировочные далеко от проца, но ... работало же у них.

И даже если ... все равно сделано верно, выводы сначала на конденсатор, и уже от него на процессор.

А толщина дорожек уж точно больше чем внутренние соединения к чипу.

Даже Питание от CR2032 не решают проблему, могу конечно к ногам влепить 0402 но ... это не изменит ситуации.

Есть другая платка, но там нет кварца, а цеплять на соплях - опять бездоказательно.

 

Так ... нет такого кода. ошибка по флагам всегда.

Был сброшен флаг HF при работе с LF. Что совсем нелогично, и рассматривается мной в контексте раз настроили LF то флага по HF и быть не должно.

А то что флаг LF есть когда HF настроено, ну типа и не обращайте внимания.. А может должен тоже как бы сбрасываться, но не сбрасывается.

т.о. нет ни одного верного варианта, флаги всегда устойчиво говорят об ошибке.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

? так на этой плате не MSP430F5172. Это фото к обсуждаемой теме не имеет отношения.

Или дайте ссылку-даташит именно на тот процессор MSP430F5172, который на фото.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это MSP430F5172 слегка в другом корпусе

Но ядро там MSP430F5172 о чем сообщает MSP-FET при подключении к MSP430Flasher

Spoiler

msp430.thumb.jpg.b1e49ab1f1c506d1c1fbdf2317d44b2b.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 minutes ago, visht said:

это MSP430F5172 слегка в другом . . . 

Ну, это как 1'000'000р и 1'000'000$, отличие только в одной букфе.

Понятно. Этот девайс сильно -application-специфичен. Поэтому нужнА или однозначно соответствующая ему документация, или это гадание на кофейной гуще. Берите простой-ширпотребный MSP430 как отладочный, делайте прототип железа и софта. "Очень-потом" можно попробовать поработать с тем, что на фото, "миграцию"-перенос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас что то взять проблематично. Да и суть задачи как раз в этом варианте корпуса.

Это нормально для TI, к примеру RF430F5978 проект выложен, под CCS. Но MSP430Flasher да и они сами используют его как

#include "cc430x613x.h"

и ядро определяется так же. Но это всего лишь означает что с этому СС430Fxxx добавили рядом модуль,

и подключили к ногам. остальные ноги вывели наружу, и дали другое название.

Раньше так вообще выводы наружу делали, но сейчас экономят на выводах :)

Я сравнивал хедеры, там все так же, и по тем же адресам. И выводы на порты говорят о том же.

Попробуем FLL может хоть она заработает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

результат тестирования FLL

    UCSCTL3 = SELREF_2 | FLLREFDIV__1;                          // FLLref = REFO
    UCSCTL2 = FLLD__32 | 0x3FF;
    UCSCTL4 = SELM__DCOCLK | SELS__DCOCLKDIV;

значение FLLN имеет смысл только до 0x08 все остальные варианты не увеличивают частоту. От внутреннего 32768Hz можно добиться максимум 4.718592 MHz

режим Vcore = 3.

Попытка раскачать FLL от XT1 - сваливается в дефолтный 32768Hz

В чем я ошибаюсь ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...