Sida 1 av 2
Någon som kopplat ihop paralellport och en PIC?
Postat: 2 juli 2008, 10:47:57
av nanopile
Sitter och brottas med att föra över data snabbt till en pic och provade hyperterminal men tydligen går det inte som jag trodde jag gjort tidigare att connecta till LPT1, bara comportarna.
Någon som har någon lösning eller något på vägen?
Postat: 2 juli 2008, 10:53:16
av bearing
Du skulle kunna göra ett program i t.ex. Visual Basic. Det är ganska lätt att lära sig. Speciellt de gamla versionerna (innan .net).
Postat: 2 juli 2008, 10:55:53
av sodjan
Hur snabbt är "snabbt" ?
Postat: 2 juli 2008, 11:00:39
av vfr
Hyperterminalen är gjord för seriell kommunikation. Den funkar aldrig med parallellporten. Antingen får du använda serieporten eller skriva ett eget program i PC:n till parallellporten. Själv skulle jag skrivit eget program, men till just serieporten då det är enkelt och någolunda standardiserat. Man får leta upp eller hitta på ett protokoll, annars är det rätt så rakt på sak.
Postat: 2 juli 2008, 11:21:53
av Icecap
Men viktigast är att använda en spänningsomvandlare, t.ex. MAX232!
Postat: 2 juli 2008, 12:18:20
av bearing
Inte till parallellporten.
En annan lösning skulle kunna vara att använda en snabb USB-serie-omvandlare. FT232 klarar 1/3 Mbit/s.
Postat: 2 juli 2008, 12:26:50
av Icecap
Ah ja... läste rätt men tänkte fel...
Postat: 2 juli 2008, 14:53:15
av nanopile
USB skulle ju vara bra eller ethernet rena drömmen men jag har inte direkt kunskaperna.
Skulle behöva ungefär 3Mbit
Vore ju läckert om man kunde ta ett vanligt nätverkskort och driva med picen men då behöver man nog tcpip och den lär ju ta några hundra KB och minnet är på 4KB.
Känns lättast med paralellporten och den har jag ju jobbat med förut men jag måste köra win98 på någon burk för att kunna programmera så jag kan skicka filer den vägen och jag hittar ingen bootdisk varken cd eller diskett.
Just den bootande 98-skivan har en extrem förmåga att försvinna och jag tvingas leta igenom 40% av alla mina skivor varje gång.
Jag kör TurboC kanske man ska ge sig på någon annan kompilator och hitta något simpelt om hur man placerar en byte på paralellporten utan att skriva direkt på pinnarna?
Postat: 2 juli 2008, 15:13:57
av sodjan
Under hur lång tid behöver du 3 Mb/s ?
Och hur gör du för att behandla 3 Mb/s i programvaran (i processorn) ?
Postat: 2 juli 2008, 16:02:59
av bearing
Jag skrev 1/3 Mbit/s ovan, men menade 1 eller 3 Mbit. För FT232 behövs inga USB-kunskaper. Du använder USARTen i picen. I Windows (Linux vet jag ej) ser det ut som att du kommuncerar med via en serieport.
Postat: 2 juli 2008, 16:24:00
av sodjan
Kvarstår frågan om hur nanopile tänker hantera 3 Mb/s i sin PIC...
Postat: 2 juli 2008, 16:43:05
av nanopile
Jag flyttar bara datan ut på respektive port, den kommer färdigbehandlad till picen.
Det blir visserligen stötvis tills buffern på 128 byte är full men skulle jag köra 3Mbit kontinueligt så ger det 26 instruktioner per byte att flytta själva byten.
Går åt några instruktioner att lista ut vilken port som ska ha varannan byte (varannan är portinfo)
Postat: 2 juli 2008, 17:58:48
av sodjan
OK.
Så 8 bitar in på en port (från LPT-porten) och sedan ut med
dessa på en av två olika PORTx-portar på PIC'en ?
Hm, jo det ska nog kunna gå, om processorn inte behöver göra
något annat samtidigt.
Alltså ca 375 KByte/s vilket helt riktigt ger 26 instruktioner
vid 40 MHz på en PIC18. Sen är det frågan om du kan få någon
tillförlitlig output från LPT-porten vid den hastigheten.
Postat: 2 juli 2008, 18:28:04
av nanopile
Hmm ja 375K ändringar per sekund blir ju 2.6ns per värde.
Har faktiskt inte tänkt alls att porten i sig inte skulle hinna med.
Blir nog lite knepigt o får sakerna att hänga med.
Anatar att chippet som driver porten presterar som snabb 74 logik.
Kollade på elfa och det snabbaste de hade låg på 3ns.
Postat: 2 juli 2008, 19:03:56
av BJ
Nja... Det blir nog 2,6 mikrosekunder.
Jag tror att man kan skicka värden med 2 MB i sekunden från parallellporten om man skickar det i skurar.