Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: SPI mit MCP3204 funktioniert nicht Kategorie: CC-Pro Unit & Appl.Board (von Yves - 12.02.2010 12:58)
Als Antwort auf Re: SPI mit MCP3204 funktioniert nicht von PeterS - 12.02.2010 10:55
Ich nutze:
C-Control Pro Mega128
> > > > > > Hallo zusammen,
> > > > > >
> > > > > > ich habe ein kleines Problem und weis echt nicht mehr weiter.
> > > > > > Ich habe einen 12bit Ad Converter von Microchip (MCP 3204-C).
> > > > > > Dieser wird über SPI angesteuert.
> > > > > > Der CS ist mit SS über 5V Pull- Up verbunden.
> > > > > > Der CLK ist mit SCK über 5V Pull-Up verbunden.
> > > > > > Der Din ist mit MOSI über 5V Pull- Up verbunden.
> > > > > > Der Dout ist mit MISO über 5V Pull-Up verbunden.
> > > > > >
> > > > > > Der zugehörige Code:
> > > > > >
> > > > > > SPI_Enable(0x51);
> > > > > >
> > > > > >    Port_WriteBit(8, 0);
> > > > > >          SPI_Write(6);
> > > > > >          b=SPI_Read();
> > > > > > Msg_WriteText("n1: ");
> > > > > > Msg_WriteHex(b);
> > > > > >          SPI_Write(0);
> > > > > >          b=SPI_Read();
> > > > > > Msg_WriteText("n2: ");
> > > > > > Msg_WriteHex(b);
> > > > > >          SPI_Write(0);
> > > > > >          b=SPI_Read();
> > > > > > Msg_WriteText("n3: ");
> > > > > > Msg_WriteHex(b);
> > > > > >          Port_WriteBit(8, 1);
> > > > > >
> > > > > > Wie man sieht habe ich mir Messageboxen für die IDE gemacht damit ich wei� was die Mega 128
> > > > > > empfängt. Aber Sie empfängt nur 0000.
> > > > > >
> > > > > > Meine Fragen: Welche Frequenz für den Clock sollte man verwenden. Ich habe schon alle durch
> > > > > >               getestet.Müssen Pausen eingefügt werden.
> > > > > > Die Pullups können auch getrennt werden.
> > > > > >
> > > > > > Vielleicht hat jemand Erfahrung mit dem 3204. Am Ch01 habe ich Poti angschlossen und
> > > > > > erzeuge eine Spannung von 0- 1V. Versorgungspannung ist 5V und die Referenzspannung
> > > > > > habe ich auch auf 5V gelegt. AGND und DGND sind mit GND von Pro128 verbunden.
> > > > > >
> > > > > > Ich hoffe mir kann einer helfen.
> > > > >
> > > > > Bitte auch die Doku im Mega128 Reference Manual lesen. Der Chip Select (SS) ist im Master
> > > > > Modus manuell zu setzen. Auch bitte im PortB die Pin SS, MOSI und SCK als Ausgang schalten
> > > > > und MISO als Input. Dies werde ich in der nächsten Version der IDE mit in das SPI_Enable()
> > > > > einbauen. Aber der CS (muÃ? ja nicht SS sein) liegt immer in der eigenen Verantwortung.
> > > > >
> > > > > Gruss Peter
> > > >
> > > >
> > > > Danke für die schnelle Antwort.
> > > > Aber ich habe das so gemacht.
> > > > hier nochmal der Code.
> > > >
> > > >  Port_Write(0, 0xFF);
> > > >  Port_DataDir(1, 7);
> > > >  Port_WriteBit(8, 1);
> > > >  Port_DataDir(2, 0xFF);
> > > >  SPI_Enable(0x51);
> > > >
> > > > Port_WriteBit(8, 0);
> > > >          SPI_Write(6);
> > > >          b=SPI_Read();
> > > > Msg_WriteText("n1: ");
> > > > Msg_WriteHex(b);
> > > >          SPI_Write(0);
> > > >          b=SPI_Read();
> > > > Msg_WriteText("n2: ");
> > > > Msg_WriteHex(b);
> > > >          SPI_Write(0);
> > > >          b=SPI_Read();
> > > > Msg_WriteText("n3: ");
> > > > Msg_WriteHex(b);
> > > >          Port_WriteBit(8, 1);
> > > >
> > > > Ich muss dazu sagen ich mache nur die Elektronik und ich habe einen Programmierer
> > > > der das Programm schreibt. Dieser hat mir gesagt, das er diese Dinge gemacht.
> > > >
> > > > MfG
> > > >
> > >
> > > 2 Tips habe ich noch: Das Chip Select mü�te low-aktiv sein, daher auch "Port_WriteBit(8, 0);"
> > > probieren. Zweitens das SPI im Bootloader während des bootens abschalten, da beim Application
> > > Board die USB-Kommunikation über SPI funktioniert(Handbuch):
> > >
> > > "Ein Signal auf der SPI Schnittstelle beim Einschalten des Moduls kann die USB Kommunikation
> > > aktivieren. Um dies zu unterbinden kann man PortG.4 (LED 2) beim Einschalten auf low setzen.
> > > Dann wird die SPI Schnittstelle nicht konfiguriert."
> > >
> > > Gruss Peter
> > >
> > >
> > Also ich habe das alles gemacht und es will immer noch nicht laufen. Das einzig was
> > ich noch erwähnen kann ist.Das ich das Projektboard verwende und nicht das applikation Board.
> > Da ist der USB IC nicht mit dabei. Und deshalb solllte es erst recht keine Probleme mit der SPI
> > Schnittstelle geben. ICh bin dir sehr dankbar, das du mir versuchts zu helfen. Aber ich und
> > mein Programmierer wissen echt nicht warum es nicht geht. Sollte man einen anderen 12 bit ADC
> > verwenden. Hat da jemand erfahrung. Der PReis ist nicht vorrangig. Nur der IC mu� lötbar sein.
> >
> > Ich hoffe einer kann mir weiterhelfen. Oder Peter hat vielleicht ein paar Tipps noch für mich.
> >
> > MfG  Yves
>
> Sorry, jetzt fällt mir nichts mehr ein. Mal mit einem Oszi auf die Signale geschaut?
>
> Gruss Peter

Naja mit dem Oszi ist das so ne Sache, da ich keine Speicherfunktion habe.
Schade ich hatte gehofft, das einer mal mit nem  AD Converter gearbeitet hat der über SPI läuft.

Vielen Dank Peter


    Antwort schreiben


Antworten: