Forum: Mikrocontroller und Digitale Elektronik Welche Speicherchips kann man mit einem UART ansprechen?


von Johannes Englsberger (Gast)


Lesenswert?

Hallo liebe uC-Fans,

Ich arbeite mit einem ATmega1281.
Da mein SPI-Interface bereits belegt ist (Wireless-Anwendung), brauche 
ich eine andere Möglichkeit um einen externen Speicher anzuschließen.
Ein Freund sagte mir, es gäbe Speicherchips, die man über die zwei UART 
(USART) - Pins anschließen kann.
Weiß jemand was genaueres dazu, irgendwelche Produkte, Links etc. ?
Das würde mir schon unglaublich weiterhelfen!

Außerdem wäre dann noch interessant für mich, wie man dann mit dem 
angeschlossenen Chip kommuniziert und wie das ganze dann in Code 
aussieht.

Wenn mir jemand weiterhelfen könnte, wäre ich sehr dankbar!

Vielen Dank!

Johannes

von 2920 (Gast)


Lesenswert?

Ne, UART kompatible speicher chips gibt's nicht. aber meist kann man 
eine Software-SPI nachbilden

von Johannes Englsberger (Gast)


Lesenswert?

Hallo lieber unbekannter Gast 2920 !

Das mit der Softwarenachbildung eines SPI klingt sehr interessant!
Läuft das dann über ganz normale GPIO´s ?
Kannst Du mir vielleicht ein bisschen mehr Information dazu schicken 
(Links etc.) ?

Würde mich sehr freuen!

Danke!

Johannes

von thomas-hn (Gast)


Lesenswert?

Der USART des ATmega16 kann auch im Synchronous Mode betrieben werden, 
also mit einem expliziten Taktsignal. Vielleicht ist das ne Möglichkeit 
;-)

von winne (Gast)


Lesenswert?

>>>Da mein SPI-Interface bereits belegt ist (Wireless-Anwendung), brauche
ich eine andere Möglichkeit um einen externen Speicher anzuschließen.
Ein Freund sagte mir, es gäbe Speicherchips, die man über die zwei UART



dan solltest du die SPi doppelt belegen. dafür benötigst du nur einen 
pin mehr um das chipselekt der speicherkarte zu steuern  deinewlan 
sollte ambesten auch selektierbar sein, so könntest du je nach CS(Wlan) 
und CS(CSD/MMC) ein mal die eine Schnittstelle und einmal die Andere via 
SPI ansprechen.

von Gast (Gast)


Lesenswert?

> Kannst Du mir vielleicht ein bisschen mehr Information dazu schicken
> (Links etc.)

Es gibt dazu eine sehr interessante Seite : www.google.de

von Wolfgang Horn (Gast)


Lesenswert?

Hi, Johannes,

Du: "Da mein SPI-Interface bereits belegt ist (Wireless-Anwendung)..."

Schnelle Nicht-Antwort: RAM mit USART sind mir unbekannt. Du könntest 
sie nachbilden mit einem Atmega und RAM.


Ansnsten interpretiere ich:
1. Der Empfänger daran soll ständig offen sein, bereit für Empfang.
2. Der Puffer des Empfängers ist so klein und die SPI-Datenrate so hoch, 
daß Du den SPI nicht teilen kannst (zweites Chip-Enable-Signal zur 
Adressierung).
3. I2C-Bus Ram kommen auch nicht in Frage (ich arbeite z.B. 24FM14, FRAM 
über I2C)
4. Dein Prozessor läuft bereits auf höchstmöglicher Frequenz, denn wenn 
nicht, hättest Du ja Raum, den SPI-Bus zu teilen.
5. Dein Layout ist noch nicht zementiert, Du kannst noch erweitern.

Wenn ich treffend interpretiert habe, dann ist Dein Problem unlösbar. 
Denn einen SPI softwaremäßig nachzubilden, das kostet mehr Takte als das 
Teilen des SPI-Bus.

Schau doch mal, ob die 24FM14 in Dein Konzept passen oder deren Variante 
mit SPI-Bus.

ciao
Wolfgang Horn

von Simon K. (simon) Benutzerseite


Lesenswert?

Der Mega1281 hat 2 SPI's.

Seite 232 im Datenblatt (08/07)

von Johannes Englsberger (Gast)


Lesenswert?

Hallo Wolfgang Horn!

Vielen Dank für Deine ausführliche Antwort!
Ich muss gestehen, alle diese Varianten habe ich noch nicht ausgenutzt.
Ich bin einfach ein totaler Anfänger.
Ich weiß nichteinmal, ob mein ATmega1281 überhaupt einen I2C-Bus hat 
(gehe ich richtig in der Annahme, dass das hardware-mäßig integriert 
sein muss), weißt Du das vielleicht?
Mein Layout ist leider teilweise "zementiert", d.h. ich habe ein 
sogenannten Evaluationsboard, das ein Wireless-Netzwerk darstellt, so 
dass ich leider auf die normalen SPI-pins garnicht zugreifen kann. 
Allerdings verwundert mich, dass die ISP-Schnittstelle Pins hat, die mit 
MOSI und MISO bezeichnet sind, die dann in die PDO und PDI Pins meines 
Mikrocontrollers gehen, welche ja den USART darstellen (wenn ich das 
richtig verstanden habe).
Kannst Du mir vielleicht auch sagen, ob MISO un MOSI gleichbedeutend 
(oder eben der wichtigste Teil) mit einem SPI-Interface sind?

Ich wäre Dir sehr dankbar für weitere Hilfe!!!

Danke schon mal!

Johannes

von Johannes Englsberger (Gast)


Lesenswert?

Hallo Simon Küppers!

Bist Du Dir sicher, dass der ATmega1281 zwei SPI`s hat?
Ich habe das aus meinem Datenblatt leider nicht nachvollziehen können.
Könntest Du mir vielleicht sagen, welche PIN´s (außer PB2 und PB3, 
welche ich bei mir als MOSI und MISO erkenne) die zweite 
SPI-Schnittstelle darstellen?
Das wäre wirklich sehr hilfreich!

Vielen Dank!

Johannes

von Rahul D. (rahul)


Lesenswert?

>Kannst Du mir vielleicht auch sagen, ob MISO un MOSI gleichbedeutend
>(oder eben der wichtigste Teil) mit einem SPI-Interface sind?

Guck dir mal die Kapitel 21 und 23 im vollständigen Datenblatt an!
Das Kapitel 13.3 dürfte auch für dich interessant sein.

Eigentlich solltest du dir das Datenblatt sowieso mal genauer angucken.
Sowie das AVR-Tutorium auf dieser Seite.
Poste am besten auch noch mal die Bezeichnung (oder einen Link) deines 
Wireless-Boards.

von Annegret (Gast)


Lesenswert?

Zum Soft SPI. Man minnt soviele Pins wie der externe chip benoetigt und 
konfiguriert sie demeentsprechend als Input, resp output. Was man damit 
dann machen soll steht im Datenblatt des Speicherchips. Hoch-Runter.

von Simon K. (simon) Benutzerseite


Lesenswert?

Johannes Englsberger wrote:
> Bist Du Dir sicher, dass der ATmega1281 zwei SPI`s hat?

Nun habe ich, und Rahul dir sogar schon eine genau Referenz zum 
Datenblatt gegeben ;)

Die zweite SPI läuft über XCK (SCK), TxD (MOSI, wenn der Mega1281 Master 
ist), RxD (MISO, wenn der Mega1281 Master ist)

von Johannes M. (johnny-m)


Lesenswert?

Johannes Englsberger wrote:
> Ich weiß nichteinmal, ob mein ATmega1281 überhaupt einen I2C-Bus hat
> (gehe ich richtig in der Annahme, dass das hardware-mäßig integriert
> sein muss), weißt Du das vielleicht?
I²C heißt bei ATMEL TWI (Two Wire oder 2-Wire Interface). Und das hat 
der ATMega1281.

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
Noch kein Account? Hier anmelden.