eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Programowa magistrala SPI
Ilość wypowiedzi w tym wątku: 3

  • 1. Data: 2014-09-13 08:26:22
    Temat: Programowa magistrala SPI
    Od: Atlantis <m...@w...pl>

    Czy stosowanie programowej magistrali SPI w ośmiobitowych
    mikrokontrolerach AVR ma jakiś sens? Utrata wydajności w stosunku do
    sprzętowego interfejsu będzie zauważalna? Tak się zastanawiam, bo
    przecież w większości przypadków transmisja SPI nie jest realizowana w
    żadnym przerwaniu, a program najzwyczajniej w świecie czeka na
    zakończenie procesu w pętli while(). Równie dobrze mógłby się wtedy
    zajmować machaniem pinami.

    Dlaczego pytam? Nieraz podłączane kolejnego urządzenia do istniejącej
    magistrali sprzętowej jest kłopotliwe punktu widzenia projektu PCB.
    Zwłaszcza, gdy jest to płytka jednostronna. Czy w takim wypadku mógłbym
    przeznaczyć wolne piny na programową magistralę dokładnie tam, gdzie
    jest to dla mnie wygodne?

    Rozumiem, że mogłoby to być problemem w przypadku przesyłania dużych
    ilości danych (np. odczyt i zapis na płytę SD). Jeśli jednak komunikuję
    się z urządzeniem wysyłającym ramki mające po kilkadziesiąt - kilkaset
    bajtów (np. moduł radiowy), to czy zauważę różnicę po zastosowaniu
    programowego SPI?


  • 2. Data: 2014-09-13 09:38:11
    Temat: Re: Programowa magistrala SPI
    Od: Grzegorz Kurczyk <g...@c...slupsk.pl>

    W dniu 13.09.2014 o 08:26, Atlantis pisze:
    > Czy stosowanie programowej magistrali SPI w ośmiobitowych
    > mikrokontrolerach AVR ma jakiś sens? Utrata wydajności w stosunku do
    > sprzętowego interfejsu będzie zauważalna? Tak się zastanawiam, bo
    > przecież w większości przypadków transmisja SPI nie jest realizowana w
    > żadnym przerwaniu, a program najzwyczajniej w świecie czeka na
    > zakończenie procesu w pętli while(). Równie dobrze mógłby się wtedy
    > zajmować machaniem pinami.

    Jeśli podłączane urządzenie jest dość powolne, a przygotowanie danych do
    wysyłki wymaga od procesora większego zaangażowania, to sprzętowe SPI
    może wysyłać bajt, a procek w międzyczasie nie musi "bezmyślnie" czekać
    w pętli while() tylko może sobie szykować kolejny bajt do wysyłki. Z
    przerwań też jak najbardziej się korzysta.

    > Dlaczego pytam? Nieraz podłączane kolejnego urządzenia do istniejącej
    > magistrali sprzętowej jest kłopotliwe punktu widzenia projektu PCB.
    > Zwłaszcza, gdy jest to płytka jednostronna. Czy w takim wypadku mógłbym
    > przeznaczyć wolne piny na programową magistralę dokładnie tam, gdzie
    > jest to dla mnie wygodne?
    >

    > Rozumiem, że mogłoby to być problemem w przypadku przesyłania dużych
    > ilości danych (np. odczyt i zapis na płytę SD). Jeśli jednak komunikuję
    > się z urządzeniem wysyłającym ramki mające po kilkadziesiąt - kilkaset
    > bajtów (np. moduł radiowy), to czy zauważę różnicę po zastosowaniu
    > programowego SPI?
    >

    Oczywiście można. W niektórych projektach tak robię. M.in. właśnie do
    sterowania modułem radiowym RFM12B. Ale wyświetlacz graficzny popędzam
    jednak ze sprzętowego SPI.

    Pozdrawiam
    Grzegorz



  • 3. Data: 2014-09-13 09:52:06
    Temat: Re: Programowa magistrala SPI
    Od: Marek <f...@f...com>

    On Sat, 13 Sep 2014 08:26:22 +0200, Atlantis <m...@w...pl>
    wrote:
    > bajtów (np. moduł radiowy), to czy zauważę różnicę po zastosowaniu
    > programowego SPI?

    Wielokrotnie używam mieszanego spi hard/soft w jednym mcu, jeśli
    zegar mcu nie jest na jakiś wolnych f <30Mhz to programowa sekwencja
    wysłania nawet dwubajtu (niektóre rfm wymagają 16bit spi) po spi nie
    jest specjalnie uciążliwa.

    --
    Marek

strony : [ 1 ]


Szukaj w grupach

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: