Gast
#3157332
Moin ihr Tastenschwinger, ich simulier hier gerade mit Proteus einen Aufbau mit PIC18F4455 und MCP3551. Als Referenz für den MCP3551 hab ich den MCP1802T-50 ausgewählt. Ich erhalte eine Ausgabe über das angesteuerte LCD mit dem Code als Ergebnis. Nebenbei hab ich zur Kontrolle noch den SPI Debugger im Monitor Mode am laufen. Beim SPI Debugger lese ich als Hex 00 3B DF (0000 0000 0011 1011 1101 1111) was als Code 15327 wäre ab. Mein PIC-Programm gibt mir über das LCD den Code 30655 oder Hex 00 77 BF (0000 0000 0111 0111 1011 1111) aus. Schaut man sich das binär an sieht man das das Ergebnis des SPI Debuggers mit einem shift nach links und angeführter 1 in das Ergebnis der Binärzahl vom PIC-Programm überführt werden kann (oder man sieht auch das der Code halb so groß ist). Im Programm hab ich nichts gefunden das den shift erklären würde, die Bytes aus dem SSPBUF sind genau die Hexzahlen die später auf dem LCD angezeigt werden. Verkabel ich die Ref-Spannung direkt an den Vin vom MCP3551 erhalte ich als Code 2097152 was genau dem Maximum entspricht der als Code möglich ist (2^n-1, n=22). Der SPI Debugger macht wieder die Hälfte draus. Greife ich die Spannung mit dem digitalen Multimeter ab und vergleich das mit dem Ergebnis auf dem LCD (nach Umrechnung) so hab ich nach der dritten Nachkommastelle ab an andere Zahlen. Ich bin irritiert ob jetzt der simulierte MCP3551 nicht richtig anzeigt oder das digitale Multimeter von Proteus....habt ihr da irgendwelche Erfahrungen beim simulieren mit Proteus bezüglich der Genauigkeit? Jede Hilfe ist willkommen, Aufbau in Proteus und das PIC-Programm hab ich erstmal nicht beigefügt weil ich denk meine Frage zielt nicht in die Richtung. Mir ist aufgefallen das beim SPI Debugger die Master Clock Frequenz auf 1MHz eingestellt ist, könnte das etwas damit zu tun haben das ich nur die Hälfte als Hexzahl angezeigt bekomme? Mhhhhhh... Gruß Andi