Hallo, ich möchte eine schnelle SPI Verbindung zwischen einem BeagleBone Black (Ubuntu oder Archlinux) und einem STM32F4 herstellen. Der STM32F4 kann ja 48MHz SPI. Aber wie viel kann der BeagleBone Black? Ich weiß das die Hardware wohl auch 48MHz kann. Wie sieht es mit den Kernel Treibern aus? Eine richtige Aussage dazu habe ich nicht gefunden. Es gibt ja anscheinend verschiedene Kerneltreiber (mcspi, spi_dev usw.). Hat jemand was ähnliches mal gemacht und kann dazu was sagen?
Achja das Programm auf dem Beaglebone wird in C geschrieben und soll nur möglichst schnell (am besten die vollen 48MHz) Daten vom SPI Bus lesen (vorzugsweise mit DMA dazwischen) (die vom STM32F4 geschickt werden) und in ein File schreiben.
Kann mir keiner was dazu sagen? Ich benötige praktisch folgendes: Der STM sendet Daten. (Falls DMA möglich) wenn der SPI Puffer halb voll ist soll ein "Interrupt" erfolgen und der Beaglebone holt die Daten ab und schriebt diese in ein File auf der SD-Card. Die Daten würde ich dabei gerne mit einer hohen SPI Frequenz senden (kommt drauf an was zu schaffen ist 24MHz vll...) Geht sowas einfach mit Linux? Lese mich momentan ein aber so richtig den Durchblick hab ich nicht bekommen bisher. So mit Echtzeit usw. bin mir da mit dem Interrupt nicht so sicher... ob da SPI_dev usw. ausreicht..
hier ist wegen interrupts jemand garnicht glücklich mit dem SPI: https://groups.google.com/forum/#!topic/beagleboard/-GV3N9kYYrU Das PRUSS kann übrigens 200mhz, also kannst Du vielleicht soft-SPI darüber implementieren. Es wird nicht durch Interrupts beeinträchtigt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.