-         

Ergebnis 1 bis 7 von 7

Thema: Drucksensor --> SPI --> RN-Mega128Funk

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.12.2004
    Alter
    29
    Beiträge
    33

    Drucksensor --> SPI --> RN-Mega128Funk

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    wie kann ich am einfachsten folgenden Drucksensor (mit schon integriertem AD-Wandler) an ein RN-Mega128Funk anschließen?
    Leider kenn ich mich mit SPI überhaupt nicht aus.
    Welche Ports muss ich da am µC verwenden?
    Hab bisher nur I2C und RS232 verwendet.

    Infos zum Drucksensor:
    http://www.amsys.info/sheets/amsys.en.ms5534a(e).pdf

    (ELV Bestellnummer: 68-308-67)

    Grüßle
    Dani

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von H.A.R.R.Y.
    Registriert seit
    15.09.2005
    Beiträge
    306
    Hi,

    welchen Controller möchtest Du denn nehmen?
    AVR, PIC, ...?

    Die Datenübertragung ist im Sensordatenblatt schön mit allen Infos beschrieben. Dazu die passenden Software-Routinen zu schreiben, sollte machbar sein. Die von vielen µCs angebotene SPI-Hardware mußt Du nicht zwingend nehmen, es langt irgendwelche Portbits unter SW-Kontrolle zu toggeln und abzufragen. Natürlich muß vorher die Richtung (in/out) richtig eingestellt werden.

    An DIN schiebst Du dem Sensor die Daten ein (MOSI oder SIMO vom µC) und an DOUT gibt der Sensor seine Werte zurück (MISO oder SOMI vom µC). Das Tempo wird vom SCLK bestimmt - achte auf die markierten Flanken in den Impulsdiagrammen - und ist nicht zeitkritisch, darf aber 500kHz (1µs '1' und dann 1µs '0') nicht überschreiten. Der µC arbeitet als SPI-Master und viele µCs nehmen ein Byte als Grundeinheit für einen SPI-Zugriff. Die Transfers laufen dann häppchenweise mit Vielfachen von 8bit. Wenn Du Dich für eine reine SW-Lösung entscheidest, hast Du volle Freiheit bezüglich der Wortbreiten und kannst auch "krumme" Bitzahlen realisieren.

    Da ich den RN-Mega128Funk nicht kenne, kann ich Dir da keine Tips geben.

    Möglicherweise baust Du erstmal nur den Teil mit µC und Drucksensor auf und kommunizierst per RS232 direkt mit Hyperterminal oder so. Dann kannst Du die Sensorschnittstelle debuggen und Dich anschließend dem Teil mit dem Funkmodem widmen.

    Gruß H.A.R.R.Y.
    a) Es gibt keine dummen Fragen, nur dumme Antworten
    b) Fehler macht man um aus ihnen zu lernen
    c) Jeder IO-Port kennt drei mögliche Zustände: Input, Output, Kaputt

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.12.2004
    Alter
    29
    Beiträge
    33
    Im RN-Mega128Funk ist ein AVR ATMEGA128 verbaut.

    http://avrhelp.mcselec.com/config_sp...ghlightsub=spi
    Kann ich also jeden unbelegten Port per Software zu...
    MOSI --> DIN |Sensor
    MISO --> DOUT |Sensor
    SCLK --> SCLK |Sensor
    ... machen?

    Ist Soft- oder Hardware SPI zu empfehlen?

    Weiter muss ich da von den Spannungen an den Datenleitungen nichts beachten?

    Grüßle Dani

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Ich würde schon HW-SPI verwenden, allerdings brauchst du auch noch einen Master-Clock mit 32768Hz. Im Datenblatt nachlesen.
    Im Mega128 ist SPI auf PortB.
    Der Sensor läuft mit 3V und ich habe nichts von 5V-Tolerant gelesen, also auf die Pegel achten.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #5
    Erfahrener Benutzer Begeisterter Techniker Avatar von H.A.R.R.Y.
    Registriert seit
    15.09.2005
    Beiträge
    306
    Hallo,

    Bascom ist mir unbekannt, aber so wie ich die Doku verstehe hast Du zwei Möglichkeiten:
    a) hardware SPI mit festgelegten Pins und byteweisem Transfer
    b) software SPI mit völlig freier Pin-Auswahl und bitweisem Transfer (weil Du alles selber machen mußt)

    Welche Variante Du nehmen möchtest hängt davon ab, ob Du die SPI-hardware nehmen möchtest. Solltest Du die für was anderes brauchen dann bleibt nur die Softwarelösung übrig.

    Bei den großen mega-AVRs können die USARTs als SPI-Master arbeiten. Das gibt zusätzliche SPI-Ports. Ich weiß nicht, ob Bascom das unterstützt. Eventuell ist C oder Assembler notwendig.

    Gruß H.A.R.R.Y.
    a) Es gibt keine dummen Fragen, nur dumme Antworten
    b) Fehler macht man um aus ihnen zu lernen
    c) Jeder IO-Port kennt drei mögliche Zustände: Input, Output, Kaputt

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    03.12.2004
    Alter
    29
    Beiträge
    33
    Zitat Zitat von Hubert.G
    Der Sensor läuft mit 3V und ich habe nichts von 5V-Tolerant gelesen, also auf die Pegel achten.
    Nach Datenblatt ist der maximale HIGH Pegel die maximale Versorgungsspannung = 3,6 Volt
    Benötige ich dann einen Pegelwandler wie z.b. den Philipps AN97055 oder ist das mit Kanonen auf Spatzen geschossen?
    http://www.standardics.nxp.com/suppo...df/an97055.pdf
    Gruß Dani
    P.S.: Den Sensor halte ich übrigens inzwischen in Händen

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Den Mega128 betreibst du mit 5V oder auch nur mit max. 3,6V. Du musst halt achten das keine 5V an den Drucksensor kommen.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •