eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaTI MSP430 - spostrzeżenia z praktyki › Re: TI MSP430 - spostrzeżenia z praktyki
  • Data: 2011-01-13 12:05:00
    Temat: Re: TI MSP430 - spostrzeżenia z praktyki
    Od: Górski Adam <gorskiamalpa@wpkropkapl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 1/11/2011 22:58, Andrzej W. pisze:
    > Uruchamiając układy z różnymi procesorami MSP430 napotkałem podobne
    > problemy, ich rozwiązanie zajęło mi troszkę czasu, może komuś go
    > zaoszczędzę.
    >
    > 1. Program nie uruchamiał się po włączeniu zasilania, jednak w trybie
    > debagowania, czy po resecie wszystko działało poprawnie.

    Bo się układ zasilał z programatora.

    > 2. Jeśli procesor współpracuje z innymi układami, to układy te po
    > włączeniu zasilania często nie działały, jednak w trybie debagowania,
    > czy po resecie wszystko działało poprawnie.

    To samo.
    >
    > Okazało się, że powodem takiego zachowania jest ograniczona szybkość
    > narastania napięcia zasilającego.
    > MSP430 zaczyna działać przy 1,8V, zgodnie z przykładami od TI w
    > pierwszej linii kodu wyłączałem watchdoga, następnie konfigurowałem
    > procesor. Jeśli przełączenie wewnętrznego zegara na wyższą częstotliwość
    > nastąpiło zanim napięcie osiągnęło odpowiednią wartość to procesor się
    > zawieszał a watchdoga był wyłączony...

    C TI example:

    void main(void)
    {
    unsigned int i;
    WDTCTL = WDTPW + WDTHOLD; // Stop WDT
    BCSCTL1 |= XTS; // ACLK = LFXT1 = HF XTAL
    P2DIR |= 0x01; // P2.0 = output direction
    P2SEL |= 0x01; // P2.0 = ACLK function
    P1DIR |= 0x02; // P1.1 = output direction

    do
    {
    IFG1 &= ~OFIFG; // Clear OSCFault flag
    for (i = 0xFF; i > 0; i--); // Time for flag to set
    }
    while ((IFG1 & OFIFG)); // OSCFault flag still set?

    BCSCTL2 |= SELM_3;


    Wyraźnie widać oczekiwanie na uruchomienie generatora HF. Więc z czym
    problem ?


    > Np. dla zegara 16MHz wymagane jest napięcie co najmniej 3,3V.
    >
    > Podobnie problem wygląda z peryferiami.
    > Inicjacja peryferiów występuje przeważnie na początku programu, jeśli
    > napięcie zasilające wynosi wtedy np. 2V a peryferia działają na 3,3V to
    > nie zostaną one zainicjowane i problem gotowy.


    Jakie peryferia nie chciały działać ? wewnętrzne ?
    >
    > Jeśli w układzie nie mamy możliwości dodania nadzorcy napięcia to
    > najprostszym rozwiązaniem jest dodanie dostatecznie długo trwającej
    > pętli na początku programu.
    >
    >

    Zrobiłem z nim przeszło 30 projektów - nigdy nie miałem takich problemów.


    Adam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: