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.
Das Teil hat weder UART noch SSP oder I2C. Deshalb hat der "Vorgänger" es wohl per Hand gestrickt.
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!
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
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?
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
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.
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.
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
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...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.