Vai al contenuto
PLC Forum


Pic Micro 18f4550 Usb Lpt - convertitore usb lpt


takoda_apache

Messaggi consigliati

Salve forse per voi è molto semplice ma io non riesco a capire!

Devo programmare un pic per simulare una parallela su windows con un indirizzo della parallela es 0X378 e comandare i pin del pic come se fosse una normale parallela!

Link al commento
Condividi su altri siti


E pensi che si possa spiegare così in un post?

Prima di tutto devi farti l'interfaccia Hw per il bus del PC. Hai mai dato uno sguardo allo schema di una periferica PCI?

Link al commento
Condividi su altri siti

Takoda io spenderei due parole in più per descrivere bene quello di cui hai bisogno.

Da come la vedo iio devi conoscere bene la programmazione windows per realizzarela LPT virtuale che "fa vedere" a windows la parallela e traduce il tutto su usb per il tuo micro che poi muove fisicamente i pin. Io qui sono in difficoltà avevo trovato doc relativa alla COM virtuale ma non ho mai visto su LPT.

Lato micro devi gestire l'interfaccia USB che non è proprio banale

Link al commento
Condividi su altri siti

Descrivi bene chi fa e cosa fa! Parli di parallela di USB e forse magari ti immagini qualche altra cosa. Il forum è gratuito, dettagliare bene le domande evita di far nascere malintesi e fsar perder tempo

Link al commento
Condividi su altri siti

OK scusate !

Volevo realizzare un controllo per cnc via usb con un pic da pilotare con mach3!

Pensavo di emulare una parallela da configurare poi in mach3!

Link al commento
Condividi su altri siti

Se ti serve solo per interfacciare un controllo CNC dai un' occhiata a questo link:

Link1

sulla sinistra clicca il link "USB-Parallel Interface".

Usa pochi componenti e un 18F4550.

Scarica il firmware al link "Click here to download the Firmware Version 1.2 Type1."

e leggi il txt che c'e' all' interno dove vengono elencati i segnali ai vari pin della CNC.

Se sono quelli che ti servono ma in posizione errata puoi sempre modificare il PCB secondo le tue esigenze.

Lo schema e un PCB migliorato lo trovi qui:

Link2

Se invece l' interfaccia/convertitore di cui hai bisogno ti serve anche per altro tieni conto che:

- I convertitori USB->Parallela che si trovano comunemente nei negozi funzionano bene (quando si e' fortunati) solo con le stampanti.

La porta parallela di un pc non e' molto complicata dal punto di vista dell' hardware: e' un insieme di alcuni buffer e latch che fanno capo ad un indirizzo del bios.

Dal punto di vista commerciale pero' non e' molto appetita l' emulazione degli indirizzi canonici: le stampati non sono cosi schizzinose come altri dispositivi avendo loro stesse un driver dedicato che il sistema operativo puo' gestire.

Gli indirizzi "standard" sono neccessari in caso di dispositivi come le chiavi hardware (dongle) ma dato che alla quasi totalita di queste sono associate delle routine che impediscono il monitoraggio del flusso dati (trapping), risulta difficile creare un driver universale.

Diverso tempo fa avevo cercato qualcosa di simile a quello che ti serve per altri motivi (chiavi hardware per software non piu' supportati) e devo dire che non e' facile trovare qualcosa che funziona.

Anche i comuni adattatori su slot PCI che funzionano bene non sono facili da trovare, perche' la maggior parte non supporta la compatibilita' legacy con gli indirizzi del bios (3BC,278,378) e assegnano dei valori propri (A000, ecc.).

Sono i driver di questi adattatori che si occupano di reindirizzare i vari dati, ma anche qui sorgono problemi legati al sistema operativo usato.

Con WIN98 ci sono piu' possibilita' di riuscire ad assegnare un indirizzo legacy compatibile, perche' questo s.o. da ancora all' utente qualche possibilita' di agire direttamente sulle porte.

Sempre pero' che l' adattatore si riesca ad installarlo (driver/software) senza intoppi.

C'e' una ditta americana (mi sfugge il nome) che produce delle parallele su PCI con una buona compatibilita' di indirizzi, solo che questa particolarita' si paga e il costo di questi adattatori e' 4/5 volte superiore a quello dei rispettivi che si trovano comunemente nei negozi.

- I sistemi NT (XP,W2K,ecc.) non permettono l' accesso diretto alle porte parallele e seriali (ring 0), per motivi di sicurezza e stabilita'.

Se programmi in VisualBasic o altro linguaggio dovrai utilizzare delle aposite librerie DLL e/o passare per dei programmi "intermediari" che bypassano il "ring 0".

Vedi ad esempio le DLL come Inpout32.dll e simili o i PortTalk di Beyond Logic:

Link3

nello stesso sito e' mostrata un interfaccia USB->LPT piu' seria dei vari adattatori che si trovano comunemente:

Link4

non e' proprio economica, ma con il cambio Euro/$ favorevole...

Altri software interessanti sono quelli che aprono un intervallo di indirizzi reindirizzandoli su quelli che interessano.

Si rivelano utili nel caso di adattatori su PCI a cui windows assegna indirizzi particolari, in questo caso basta impostare quali aprire ed il gioco e' fatto.

Uno di questi e DLPortIO:

Link5

NOTA: Dato che queste utility lavorano intervenendendo su funzioni del kernel a livello molto basso, non sono esenti dal provocare "piantamenti" vari del PC ed e' per questo che la maggior parte di esse viene rilasciata come freeware e senza assistenza. rolleyes.gif

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...