Atmel Programmierer braucht Info über PIC-Controller

Gast #1559450
Lesenswert?

Ich programmiere schon seit langer Zeit Atmel-Prozessoren. Jetzt möchte 
ich eine Schaltung nachbauen, auf der bisher ein PIC-Controller zum 
Einsatz kommt. (Fertige Platine von der Uni)
Da ich mich nicht in PIC einarbeiten möchte und auch nicht brauche (Code 
ist nicht verfügbar), habe ich eine Frage an die PIC-Anwender unter 
euch.
Zum Einsatz kommt ein PIC16F676, dieser kommuniziert unter anderem mit 
einem DA-Wandler Baustein über eine Clock-Leitung und eine Data-Leitung.
Der "Vorgänger" benutzt Pin9 (RC1/AN5) als Clock-Leitung und Pin10 
(RC0/AN4) als Data-Leitung zum DA-Wandler.

Meine Frage: Hat der "Vorgänger" den Datenaustausch mit CLK/Data "zu 
Fuß" programmiert oder benutzt er die Leitungen mit internen Registern 
als Serielle Schnittstelle? Im Datenblatt ist das nicht explizit erwähnt 
und ich kenne mich nicht mit der PIC Struktur aus.

Könnt Ihr mir dazu etwas sagen?

Bei Atmel würde ich jetzt spontan die SCL und SDA Leitung meiner 
seriellen Schnittstelle nehmen. Aber vielleicht hat es ja einen Grund 
für den Manuellen Weg.

Auslesen konnte ich leider nichts, da mir die Platine nur eingeschränkt 
zur Verfügung steht, daher kenne ich auch nicht die Frequenz mit der die 
Kommunikation abläuft. Falls die nötig sein sollte, muss ich mir erst 
mal eine lauffähige Platine besorgen.
#1559708
Lesenswert?

M.B. schrieb:
> Bei Atmel würde ich jetzt spontan die SCL und SDA Leitung meiner
> seriellen Schnittstelle nehmen.

Nicht alles, was über 2 Leitungen geht, muß I2C sein.
Es gibt auch eine Art 2-draht SPI, wo der Datenpin umschaltet, quasi 
MISO und MOSI zugleich ist.


Peter
Gast #1560622
Lesenswert?

In meiner Anwendung muss mein ATtiny nur senden - und zwar ein 16Bit 
Wert an einen DA-Wandler, ohne Overhead, ohne Adresse - nur die reinen 
Daten. Was bietet sich da an? TWI als Master in 2-wire-Mode? Oder schon 
zu kompliziert?
#1560699
Lesenswert?

M.B. schrieb:
> In meiner Anwendung muss mein ATtiny nur senden - und zwar ein 16Bit
> Wert an einen DA-Wandler

Nun, dann mußt Du einfach nur das Protokoll des uns unbekannten DACs 
implementieren.
Die Datenblätter beschreiben das in der Regel sehr ausführlich. Manche 
enthalten sogar Beispielschaltung und Beispielprogramme für nen MC 
(8051, PIC).

> ohne Adresse

Dann scheints schonmal kein I2C zu sein, also ist TWI zu verwenden 
ziemlich sinnfrei.


Peter
Gast #1560886
Lesenswert?

Schönen Dank für die Antwort, habe mir die Application Notes über TWI 
durchgelesen. Werde mir wohl aus den AppNotes die wichtigsten Bausteine 
raussuchen. Empfangen brauche ich nichts, mit Ack habe ich auch nichts 
zu tun. Dann bleibt nicht mehr viel übrig. Und unterm Strich ist trotz 
der USI der Code fast zu Fuß zu erstellen. Ist wohl in der 
Ausgangssituation damals mit berücksichtigt worden. Ich dachte - auf die 
schnelle - den Codeteil mit der Kommunikation etwas abkürzen zu können.
Der DAC ist von Texas und verlangt kein Protokoll, sondern erwartet 16 
bit mit vorgegebenen Timing diagramm.
Gast #1561995
Lesenswert?

Ich wollte ja keine fertige Lösung a la copy&paste.

Ich hatte auch schon weiter oben beschrieben, das es kein Protokoll 
gibt, daher bin ich auch nicht auf den Typ eingegangen, es war auch 
nicht meine Absicht das Geheim zu halten.

M.B. schrieb:
> In meiner Anwendung muss mein ATtiny nur senden - und zwar ein 16Bit
> Wert an einen DA-Wandler, ohne Overhead, ohne Adresse - nur die reinen
> Daten. Was bietet sich da an? TWI als Master in 2-wire-Mode? Oder schon
> zu kompliziert?

Vi9elen Dank trotzdem für die Anregungen...
#1562019
Lesenswert?

M.B. schrieb:
> Ich hatte auch schon weiter oben beschrieben, das es kein Protokoll
> gibt

Wie Du meinst.

Bisher hatte aber jeder ADC oder DAC, den ich verwendete, ein Protokoll 
nötig, d.h. einen ganz bestimmten Signalverlauf auf den Leitungen, um 
Werte einzulesen oder auszugeben. Deshalb gibt es ja in den 
Datenblättern die Timingdiagramme, die das Protokoll zeigen.

Es kann durchaus auch mal sein, daß 2 verschiedene DACs das gleiche 
Protokoll verwenden. Das kann man aber nicht voraussetzen.


> daher bin ich auch nicht auf den Typ eingegangen

Dann kann es auch nur bei nebulösen Antworten bleiben.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren