Hi, ich habe hier so eine Handferndbedinung mit einem Attiny2313 und einem CC1150 (http://www.ti.com/lit/ds/symlink/cc1150.pdf). Diese will ich auf ein andere Protokoll umbauen. Mit dem Datenblatt habe ich zwar herausgefunden, was ich dem Chip senden muss, aber es klappt hinten und vorne nicht. Also habe ich den Logicanalyser angeklemmt, und mal die originale Kommunikation mitgelauscht. Habe dann bemerkt, dass mein SPI wohl zu schnell war. Ich habe kurzerhand mit Bitbanging das SPI nachgebaut, so dass das Timing exact wie das originale ist. Leider bekomme ich keine Rückantwort von dem Chip. Eigentlich antwortet der Chip bei der original Software bereits, wenn sein CSn Pin(Kanal 4 im Screenshot) auf Low gezogen wird... Ich finde auch im Datenblatt nichts, was falsch sein könnte. Weiß jemand warum ich keine Rückantwort bekomme?
Schickst du auch richtige Befehle an den Chip? Hast irgendwas an der Hardware geändert? Nutzt du Soft SPI oder Hard SPI ? Richtiger SPI Modus ? evtl. hält irgendwas die MISO Leitung auf HIGH Bischen mehr Informationen bitte ;-)
Hardware ist die gleiche. Habe vorher HardSPI genommen, jetzt Soft SPI. Kommt genau das raus was raus soll (auf die zehntel µs genau) Die Befehle sind auch die richtigen. Ich habe nur meinen Programmer dran angeschlossen und wechsel immer zwischen meiner Software und der Originalen. Die Sache ist die: Wenn der CSn Pin auf Low gezogen wir, sollte der Chip eigentlich damit antworten, dass er seinen DataOut(SO) auch auf Low zieht. Aber nicht mal das macht er. AuoReset Bedingung ist laut Datenblatt hier auch erfüllt. Manueller Reset ist nicht möglich, da DataOut vom Slave nicht auf 0 gezogen wird. Der LogicAnalyser bestätigt, dass ich alles genauso mache wie die Original Software, aber irgendwas entgeht mir wohl doch... Zum Screenshot oben: Hatte versehentlich die Beschriftung abgeschnitten: Von Oben nach unten: MISO MOSI CLK LEER CSn
Haengt noch irgendwo ein Reset- oder Enable-Pin hintenrum an einem GPIO?
Leider auch nicht, habe alle Pins nachverfolgt. Der Funkchip wird über die SPI Pins in den Schlafmodus versetzt, und Reset erfolgt auch über diese Pins. In dem FSM Diagram steht auch, dass er auf jedenfall bei CSn Low in den Idle Modus gehen sollte. Einzige Sache, wenn der Oszillator noch nicht stabil ist, will er das noch nicht. Da würde er sich so verhalten, wie er es gerade tut. Aber ich habe auch die manuelle Resetprozedur befolgt, und er geht trotzdem nicht in den idle Modus.... Evtl. verstehe ich etwas falsch. Dort steht Burst CSn, auf low, dann auf high (40us halten ab dem low ziehen gemessen) und dann wieder auf low ziehen. Spätestens jetzt sollte der Chip mit seinem Datenausgang auf Low gehen, macht er aber nicht. Evtl verstehe ich den Ablauf falsch?
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.

