Forum: Mikrocontroller und Digitale Elektronik Atmel Programmierer braucht Info über PIC-Controller


von M.B. (Gast)


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.

von Sven S. (stepp64) Benutzerseite


Lesenswert?

Das Teil hat weder UART noch SSP oder I2C. Deshalb hat der "Vorgänger" 
es wohl per Hand gestrickt.

von M.B. (Gast)


Lesenswert?

Ok, alles klar. Dann habe ich das wohl verstanden. Ich hatte gedacht, 
dass man Programmierleitungen vielleicht auch als serielle schnittstelle 
nutzen kann.
Gut, danke für den Hinweis!

von Peter D. (peda)


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

von M.B. (Gast)


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?

von Peter D. (peda)


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

von M.B. (Gast)


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.

von Michael L. (michaelx)


Lesenswert?

M.B. schrieb:
> Der DAC ist von Texas und verlangt kein Protokoll, sondern erwartet 16
> bit mit vorgegebenen Timing diagramm.

Dann ist es definitiv kein TWI/I2C.

von Peter D. (peda)


Lesenswert?

M.B. schrieb:
> Ich dachte - auf die
> schnelle - den Codeteil mit der Kommunikation etwas abkürzen zu können.

Was hast Du denn erwartest, wenn Du den DAC streng geheim hältst?


Peter

von M.B. (Gast)


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...

von Peter D. (peda)


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

von M.B. (Gast)


Lesenswert?

Die haben mir ja auch gereicht - ist auch nicht böse gemeint. 
Missversthet mich nicht, ich danke euch.

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.