Sujungus Arduino RS232 nuosekliu portu maksimalus duomenų perdavimo greitis pasiektas 912600 bod. Arduino analoginių portų nuskaitymo greitis pasiektas ~100 reikšmių viename testiniame 50 Hz signalo periode (sinusoidėje). Signalo perdavimas vyko tekstiniu formatu. Vienos sinusoidės duomenų paketas siekė 100 x 3+1=400 baitų.
Čia:
100 yra reikšmių skaičius,
3 – formatas – perduodamos vienos reikšmės dydis nuo 0 iki 1023, dažniausia būna triženklis (pvz. 568), taigi sudaro tris skaitmenis- ,
1 – atskirtus kableliu: ‘,’ kas padidina duomenų srautą dar vienu baitu.
Taigi reikalingas duomenų srautas yra 400 x 6 = 2400 baitų per 20ms (vieno 50Hz testinio signalo periodas), arba 120 kilobaitų/sek arba 0,96 megabitų/sek (1 baitas=8 bitai)
Tai įmanom ir naudojant RS232 porto maksimalų greitį. Tačiau darant prielaidas, kad matuojamo signalo dažnis bus kintamas nuo 0 iki ~400Hz ir matavimo taškų pageidautina turėti daugiau – tarkim 256 per periodą, RS232 sąsaja gali būti per lėta.
Kitas sprendimas perduoti informaciją per SPI sąsają. Arduino techninė informacija https://www.arduino.cc/en/Reference/SPI nurodo: If you are using a chip rated at 15 MHz, use 15000000, t.y galima tikėtis 15Mb/sek duomenų perdavimo srauto, kas būtų 15 kartų daugiau, nei RS232 maksimalus greitis.
Telieka pasidaryti SPI sujungimo kabelį ir pabandyti.
Arduino (Leonardo versija) pusėje SPI 6 išvadų kontaktai turi sekantį išdėstymą:
Raspberry (Pi versija) GPIO jungtis, kurioje yra ir SPI išvadai atrodo sekančiai:
Signalo lygiai nevienodi. Arduino turi 5V lygius, Raspberry – 3,3V. Čia reikalingas lygių keitiklis. Diskusijoje: http://forum.arduino.cc/index.php?topic=139716.0 rekomenduojamas kaip geriausias sprendimas naudoti TXB0104 mikroschemą. Čia pat dalyvis fungus pataria naudoti varžų daliklį. Tokį jau naudojome SD kortelės prijungimui prie Arduino. Schema paprasta: http://robotics.hobbizine.com/raspiduino.html.
Suinstaliavus Raspberry OS SPI sąsaja būna uždrausta. Ją įgalinti galima pakeitus /boot/config.txt failą. Nuimkite komentarą eilutei: dtparam=spi=on.