PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GB-Cam: READ geht nicht wieder auf low



CowZ
07.04.2007, 15:25
Hi,

ich teste hier nun schon seit einigen Tagen mit meiner GB-Cam rum. Es funktioniert mittlerweile soweit, dass READ auf High geht. Allerdings geht es nach 16384 weiteren Takten (und auch sonst nie) nicht wieder auf Low. Vielleicht findet ja jemand von euch den Denkfehler...

Das Oszi zeigt auch an, dass sich am XCK nichts ändert, unverändert wird die Kamera getaktet.

Hier mein Code:


// reset
CAM_PORT &= ~(1<<CAM_XCK); // xck lo
cam_wait(4); // experimental
CAM_PORT &= ~(1<<CAM_RESET); // reset lo
cam_wait(4); // tSXR
CAM_PORT |= (1<<CAM_XCK); // xck hi
cam_wait(4); // tHXR
CAM_PORT |= (1<<CAM_RESET); // reset hi

// regsets
cam_regset(0, 0x80);
cam_regset(1, 0x0E);
cam_regset(2, 0x06);
cam_regset(3, 0x00);
cam_regset(4, 0x01);
cam_regset(5, 0x00);
cam_regset(6, 0b00000101);
cam_regset(7, 0x07);

// start
CAM_PORT |= (1<<CAM_START); // start hi
cam_wait(4); // tSST (?)
CAM_PORT |= (1<<CAM_XCK); // xck hi
cam_wait(4); // tHST (?)
CAM_PORT &= ~(1<<CAM_START); // start lo
cam_wait(4); // experimental
CAM_PORT &= ~(1<<CAM_XCK); // xck lo
cam_wait(4); // experimental


// wait for read hi
while (!(CAM_PIN & (1<<CAM_READ)))
{
CAM_PORT |= (1<<CAM_XCK);
cam_wait(8); //tWHX
CAM_PORT &= ~(1<<CAM_XCK);
cam_wait(8); // tWLX
}

led(led2,1);

// while read hi
while (CAM_PIN & (1<<CAM_READ))
{
led(led3, 1);
CAM_PORT |= (1<<CAM_XCK);
cam_wait(8); // experimental

CAM_PORT &= ~(1<<CAM_XCK);
cam_wait(8); // experimental
}
led(led4, 1);
// end / back to start

(die led-methoden schalten nur entsprechende LEDs an / aus, alle anderen Methoden sollten sich selbsterklären)

tobimc
07.04.2007, 15:54
Hi.

Vllt. taktest du zu schnell??

Schau mal meinen Code an, der ist zwar in grausamen Basic, aber immerhin.
http://www.tobias-schlegel.de/index.php?did=18
(Code-Paket runterladen, und im Ordner "picture" findet sich der Code...)

VLG Tobi

CowZ
07.04.2007, 16:40
Hi,

die Taktung während READ == high ist, ist genauso schnell wie vorher. Daran kann es also doch eigentlich nicht liegen!?

Oder braucht die Kamera während des Datenauslesens einen langsameren Takt?

Ich werd's nachher aber einfach nochmal mit einem langsameren Takt ausprobieren und deinen Code studieren :)

Gruß, CowZ
PS: Seh ich das richtig, dass BLL für Besondere Lernleistung steht? Genau sowas will ich mit der Kamera auch machen, können uns ja vllt weiter austauschen :)

tobimc
07.04.2007, 17:27
Hi

Hm. Naja, bis die Camera mal "bap" sagt, muss man schon viel rumprobieren... :(

Ja, BLL ist ne Besondere LernLeistung :).
Ich hab die ja quasi schon fertig, insofern :D

VLG Tobi

CowZ
10.04.2007, 15:16
Hi,

hab mich jetzt mal mit meinem Oszi und meinem Multimeter rangesetzt...
An Xck ist die Frequenz 31kHz.

Das ist doch ansich ganz gut für die Kamera oder? Langsamere und schnellere Taktungen bringen auch keine besserung :(

Sonst noch irgendjemand irgendeine Idee?

Gruß, CowZ

tobimc
10.04.2007, 17:32
Rumspielen hilft.

CowZ
17.04.2007, 13:41
Hi,

kannst du mir verraten, was du damals gemacht hast? Du hattest ja genau das gleiche Problem ;) (*alte.threads.rauswühl*) Sehe gerade, dass es bei dir an den Registereinstellungen lag...

Werde mal n bisschen damit rumspielen (Tipps an welchen Registern?), sind ja nur 256^10 Möglichkeiten ;)

Gruß, CowZ

CowZ
19.04.2007, 18:25
Das Problem scheint tiefer zu liegen. Habe jetzt rechtviele verschiedene Registereinstellungen ausprobiert. Darunter deine und die die aus dem Tutorial. Auch alle(!) Kombinationen dieser beiden.

Read bleibt auf High. Weiß nicht mehr wirklich weiter..

Gruß, CowZ

tobimc
19.04.2007, 21:02
hm.

Kannst du dir an nem Oszi anschauen, was da abgeht?
Zähl mal beim Register laden die Impulse nach etc...

VLG Tobi

CowZ
19.04.2007, 21:05
Hi,

habe leider nur ein Analog-Oszi, da ist nicht viel mit abzählen :(


edit: O:)
Funktioniert jetzt. Warum werden die Adresse und die Daten bloß "von hinten" (also Bit 3 vor Bit 2) gesandt? Verdammt... Dummer Fehler :)
O:)

Danke trotzdem für deine Hilfe, werd bestimmt nochmal drauf zurückkommen ;)

Gruß, CowZ