So endlich funktioniert meine Applikation SJA1000 am LPT Port. Ich habe den PIN5 von CAN Traciever 82C250 auf +5V gelegt. Das Register 8 (OCR Register) da habe ich nicht so den Durchblick über die genaue Funktionsweise. Das Register habe ich bei mir mit dem Wert 0xEA initialisert. Siehe da es funktioniert. Wenn ich während dem Betrieb die Spannung vom SJA1000 unterbreche oder den SJA1000 komplett von der LPT trenne und anschließend alles wieder anschließe, dann kann ich weiterhin die gleichen Botschaften senden und empfangen. Normalerweise müsste ich doch erst den SJA1000 ganz neu initialisieren, weil ich die Spannung zuvor abgeklemmte habe oder? Gibt es eine Möglichkeit den SJA1000 abzuschalten, bzw. so dass man ihn neu Initialiseren muss?
Gibt es unter WIndows XP eine Möglichkeit, mit der ich feststellen kann ob der ECP oder EPP Mode aktiviert wurde? Wenn ich den LPT zum schreiben und lesen benutzen will, dann muss ich im BIOS immer den LPT PORT auf EPP Mode umstellen.
Im Internet habe ich folgenden Text gefunden: ECP: Extended Capability Port Das ECP-Protokoll wurde von Hewlett Packard und Microsoft als modifizierte Kommunikation zwischen Druckern und Scannern ausgewiesen. Ähnlich wie das EPP-Protokoll unterstützt ECP die Parallelübertragung mit hoher Geschwindigkeit zwischen Host-Adapter und Peripherie. Ferner sieht ECP einen eigenen DMA-Kanal vor, FIFO-Pufferung für Hin- und Rückkanal und Datenkompression nach dem Run_Lenght-Encoding (RLE) Verfahren. Die zusätzlich erforderlichen ECP-Register können durch aufaddieren von 0x400 auf die Basisadressen adressiert werden. Auch hier sind mehrere Geräte adressierbar. Spezifikationen: · 4 Kontrolleitungen HOSTCLK, HOSTACK, 1284ACTIVE, REVERSEREQUEST (Ausgang) · 5 Statusleitungen PERIPHCLK, PERIPHACK, ACKREV, XFLAG, PERIRQ (Eingang) · 8 Adress-/Datenleitungen D0 - D7 (Ein+Aus) Es gibt zwei Arten von bidirektionalen Datenübertragungszyklen: · Data Cycles · Command Cycles Hier ist das Extended Control Register (ECR) ganz interessant, das unter der Adresse BASE + 0x402 zu finden ist. Bit Betriebs-Modus 7-5 000 Standard Mode 001 Byte Mode 010 Parallel Port FIFO Mode 011 ECP FIFO Mode 100 EPP Mode 101 Reserved 110 FIFO Test Mode 111 Configuration Mode 4 ECP Interrupt Bit 3 DMA Enable Bit 2 ECP Service Bit 1 FIFO Full 0 FIFO Empty Da für die im folgenden gezeigten Beispiele für die Hardwareansteuerung die Modi EPP und ECP nicht verwendet werden, sei für diese auf die oben genannte Webseite von Warp Nine verwiesen. Bei allen Experimenten am Parallelport ist Vorsicht geboten, weil bei unsachgemäßer Handhabung Kurzschlüsse für den Parallelport oder gar für das gesamte Mainboard entstehen können. Die Ausgänge eines Centronics-Ports halten einer Strombelastung von ca. 5-15 mA stand. Dies reicht mit einem geeigneten Vorwiderstand (z.B. 270 bis 680 Ohm), um eine LED zum Leuchten zu bringen. Möchte man Taster oder Schalter direkt abfragen, so müssen die Eingänge über Pull-Up-Widerstände in einen definierten High-Zustand gebracht werden und können dann gezielt auf Masse geschaltet werden. Wie kann man dieses Register benutzen und warum gibt es diess Register überhaupt?
Jeder PC ist standardmäßig auf den ECP Modus eingestellt. Um vom ECP Modus in den EPP Modus umzuschalten ohne zuvor im BIOS was abzuändern, kann man doch per Software das Register 0x402 auslesen und anschließen den enstpsrechenden Wert übergeben oder? Welche Wert müsste ich dann in das Register 0x402 übergeben?
Nun habe ich meine Applikation SJA1000 an LPT an einem anderen rechner (Windows XP) drangehängt. Was mir da auffällt ist, dass die Botschaften manchal nicht korrekt empfangen werden. CAN.receive.byte[0]; CAN.receive.byte[1]; CAN.receive.byte[2]; CAN.receive.byte[3]; CAN.receive.byte[4]; CAN.receive.byte[5]; CAN.receive.byte[6]; CAN.receive.byte[7]; Das finde ich merkwürdig. genauso beim empfangen von Botschaften, da kommt auch nur Misst an. Auf dem anderen Rechner Windows2000 da funktioniert es prima. Liegt es vielleicht am Betriebssystem oder LPT DLL?
Guten Morgen, das Problem ist bereits gelöst. Und zwar habe ich zwischen LPT vom PC und Applikation ein selbergebasteltes Kabel verwendet. Wenn ich die Applikation direkt auf den LPT hänge dann funktioniert es problemlos. Also es lang nur an dem scheiß kabel.
hallo. Ich habe ein tester program fur windows XP. Meine preise ist 2,5EUR. sivak@praktickaelektronika.sk
habe eine schaltung von elektor mit sja100 und 82c250 habe extra zwei stück davon gebaut um die komunikacion zwischen zwei pc zu visualisiren aber es geht nicht . nach dem reset kann ich die register von sja 1000 beschreiben aber es komt nichts bei dem andern an was mache ich 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.