logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega16][Bascom] Programowe SPI

apis14 21 Lip 2008 18:31 2894 6
REKLAMA
  • #1 5364077
    apis14
    Poziom 12  
    Atmega16, mam juz wykonana plytke, sprzetowe SPI wykorzystuje do programatora. Pytanie brzmi: czy można dodatkowo zaimplementować SPI programowe? jesli tak to na co tzreba zwrócic uwagę?

    dodatkowo: czy ktoś wie jaka wersja bascoma umozliwia okreslenie cech "data order" i "spioutedge"? Posiadam 1.11.8.3 i tam to nie działa...

    i jak ustawić wystepujace w komendzie config spi "ss"?
  • REKLAMA
  • #2 5364223
    don diego
    Poziom 32  
    Do programatora wykorzystujesz raczej ISP. Sprzętowe SPI możesz śmiało wykorzystać do innych celów.
  • REKLAMA
  • #3 5364836
    ZbeeGin
    Poziom 39  
    apis14 napisał:
    Atmega16, mam juz wykonana plytke, sprzetowe SPI wykorzystuje do programatora. Pytanie brzmi: czy można dodatkowo zaimplementować SPI programowe? jesli tak to na co tzreba zwrócic uwagę?

    Programujesz bez uruchomionej aplikacji (wymuszony tryb ISP), więc w trakcie działania programu SPI sprzętowe jest wolne. No chyba, że z kaprysu chcesz sobie przez CONFIG SPI skonfigurować programowy SPI ale jest on bardzo ograniczony, gdyż nie można ustawić polaryzacji SCK, czy momentów próbkowania i działa tylko jako MASTER.

    apis14 napisał:
    dodatkowo: czy ktoś wie jaka wersja bascoma umozliwia okreslenie cech "data order" i "spioutedge"? Posiadam 1.11.8.3 i tam to nie działa...

    Jeśli chodzi o DATA ORDER= to jest taka opcja w wersji 1.11.9.1 oraz wstecz od 1.11.8.8. Trzeba zatem BASCOMa zaktualizować. Nie wiem tylko skąd wziąłeś opcję SPIOUTEDGE=? Jest opcja PHASE= która określa kiedy dane są próbkowane. Jak ustawisz 0 to próbki są analizowane na pierwszym zboczu przebiegu SCK. Jak ustawisz 1 to analiza jest przeprowadzana na drugim zboczu SCK. Zrozumienie tego utrudnia nieco fakt, że za pomocą POLARITY= można sobie odwrócić polaryzację SCK i raz będzie to opadające zbocze, a raz narastające. Patrz wykresy z rozdziału "Używanie SPI".

    apis14 napisał:
    i jak ustawić występujące w komendzie config spi "ss"?

    To zależy czy będziesz adresował jedno czy więcej urządzeń na SPI. Jeśli masz jedno urządzenie to:
    - Sprzętowy: NOSS = 0 i SPI będzie generowało sygnał SS automatycznie.
    - Programowy: SS = PORTx.y a wtedy PORTx.y będzie wybierał układ podrzędny Slave.
    Jeśli zaś chcesz do SPI podłączyć kilka urządzeń to warto SS zablokować (NOSS = 1 lub SS = NONE). Ale wtedy będziesz musiał w programie sam wybierać urządzenie podrzędne aktywując jego końcówkę SS w inny sposób, np. zerując pin do którego SS danego urządzenia jest podłączona. Potem wykonać transmisję, i na koniec znów zdeaktywowac układ, np. ustawiając pin do którego SS danego układu jest podłączona.
  • #4 5376742
    apis14
    Poziom 12  
    OK. SPIOUTEDGE= wzialem z jakiegos helpa. Wyglada na to ze phase jest jego odpowiednikiem. pytanie brzmi: jesli nie okresle w sofcie jakim zboczem dane maja byc probkowane-to domyslnie jak sie to bedzie odbywac?
  • REKLAMA
  • REKLAMA
  • #6 5378260
    apis14
    Poziom 12  
    soft spi.
REKLAMA