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 PeterS - 11.02.2010 10:47)
Als Antwort auf Re: SPI mit MCP3204 funktioniert nicht von Yves - 11.02.2010 8:51

> > > 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




    Antwort schreiben


Antworten:

Re: SPI mit MCP3204 funktioniert nicht (von Yves - 11.02.2010 21:01)
    Re: SPI mit MCP3204 funktioniert nicht (von PeterS - 12.02.2010 10:55)
        Re: SPI mit MCP3204 funktioniert nicht (von Yves - 12.02.2010 12:58)