mikrocontroller.net

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


Autor: M.B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

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

Autor: M.B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: M.B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: M.B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael L. (michaelx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: M.B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: M.B. (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.