Fórum témák
» Több friss téma |
CD4066 Ic-vel megoldható a kapcsolás, vagy használjak inkább jumpersort?
Lehet, hogy egy soros ellenállás is elég a leválasztáshoz, a mindig bekötött MAX232 ágban. Feltételezem, hogy RS232 módban a TTL bemenetre nem csatlakoztatsz semmit. TTL módban pedig a közvetlenül csatlakoztatott eszköz (ha közvetlenül csatlakozik? Ezt neked kell tudod.) dominál, az ellenállás másik végére csatlakozó MAX232 nem jut szóhoz...
Így van. Vagy csak TTL, vagy csak RS232. Kettő együtt soha nem lesz használva. A TTL közvetlen csatlakozás csak valószínűsített, nem ismerem a belső kivitelezését a rendszereknek, riasztókról van szó.
Rugalmas vagyok a kivitelezéssel, igazából ezek után fogom a panelt megtervezni, miután minden kérdés tiszta. A CD4066 azért is szimpatikus , mert egy jumperrel, megoldható a MAX232 ic-k leválasztása.
Sziasztok!
MCP2200-hoz lenne egy igen kezdő kérdésem. Még régebben csináltam egy NYÁK-ot, amin az IC egy AVR-rel kommunikál. A fő projectben, melyben ez lesz a vezérlő egység, az lenne a cél, hogy a PC-ről utasításokat tudjak adni az AVR-nek. A szoftvert .NET-ben szeretném megcsinálni. Az MCP-hez kiadott mintakód sikeresen csatlakozik a device-hoz. Hyper terminal segítségével is teljesen jól tudok kommunikálni vele. Amit szeretnék, az valami mintakód, hogy hogy tudnék a terminálhoz hasonló kommunikációt megvalósítani saját programmal. (Az eszköz hallgatózik, ha mondanivalója van, elküldi, majd tovább hallgatózik.) Nem találtam a DLL-ben például olyan függvényt, amivel elkérhetném, hogy melyik soros portot használja a device. Előre is köszönöm a segítséget! Üdv: Jack
Nem kell ide semmilyen DLL, ha soros portként akarod használni! Csak az I/O kezeléséhez kellene!
Ugyanúgy kell használni mint bármilyen más soros portot! Én PureBasic alatt használom és a bitbang módok kivételével minden beépített függvény tökéletesen működik vele, .NET alatt is ugyanígy menni fog! Ha az I/O lábakat is használni akarod akkor be kell tölteni a DLL-t, majd a doksiban megtalálod a függvényeket is.
I/O alatt gondolom a General Purpose lábakat érted. Ezeket nem szükséges használnom. Soros portot tudok kezelni C# alatt, csak azt hittem, a DLL tartalmaz valamit, ami elárulja, hogy melyik COM porton kéne a kommunikációt végezni. Hogy érdemes ezt megoldani, ha az ember nem akar ComboBoxos kiválasztót csinálni hozzá?
Idézet: Ha jól emlékszem, VID/PID alapon lehet böngészni az eszközöket. „Hogy érdemes ezt megoldani, ha az ember nem akar ComboBoxos kiválasztót csinálni hozzá?” A Microchip Applications Library-ban van egy mintaprogram (talán VC++ 2008?), PC Dynamic Software néven. Ez a teljesen automatikusan nyitja meg vagy zárja be az USB Device - CDC Basic Demo-val megvalósított virtuális soros portot a PIC csatlakoztatásakor vagy lecsatlakoztatásakor.
Nézegettem még neten, de nem nagyon láttam megoldást. Mennyire bunkóság az összes COM portra kiküldeni valami köszönőüzenetet, amire a saját kütyü valami definiált választ kell, hogy adjon? (Ha megkaptam, ez az a port...)
Idézet: „Ha jól emlékszem, VID/PID alapon lehet böngészni az eszközöket.” Ez azt jelenti, hogy van valami szabványos módja a VID/PID lekérdezésnek?
Kiküldüzgetni valamit nem mindig szerencsés mert egy másik eszközt megszólítva bizonytalan lesz a viselkedése.
Örömhír hogy ha újra rácsatlakoztatod a gépre akkor ugyanazon a COM porton érheted el. Én a saját cuccomnál úgy csinálom hogy az AVR folyamatosan(~50ms időközönként) elküldi a státuszt, természetesen CRC-vel kiegészítve. Csatlakozáskor a PC-program megkeresi az összes megnyitható COM portot, majd hallgatózik kb. 200ms ideig. Ha értelmes adathalmazt kap akkor megtalálta az eszközt...
Én is féltem volna mindenhová küldeni valamit. Minden esetre elképzelhető, hogy marad egy config fájlos megoldás, hisz tényleg nem változik a port, még akkor sem, ha másik USB portra dugom.
A periodikus jelentéses megoldás sem rossz gondolat, köszönöm a segítséget. ![]() Remélem, elboldogulok majd. Közben kipróbáltam egy kétszálú kis programmal és szépen megy a terminál jellegű kommunikáció.
Idézet: Igen, van valami, de jobban jársz, ha a korábban említett példaprogramot nézed meg, mert én nem nagyon értek ehhez. „Ez azt jelenti, hogy van valami szabványos módja a VID/PID lekérdezésnek?” Úgy látom, hogy a Windows setupapi.dll segítségével kéri le az eszközökről az információt.
Köszi az infót, utánanézek ennek is!
Sziasztok!
A napokban szert tettem egy csodás Idézet: műanyagba ömleszett USB - RS232 adapterre. Kis idő mulva kiderítettem, hogy egy PL2303 lakik benne.„Made in China” Nagyon örültem, mert már rég szükségem lett volna rá. Persze a kedvemet nagyon gyorsan lelombozta, hogy a mellékelt driver álítólag működik Windows Vista-val (és ugyebár a vista-s driverek jók Windows 7-en is), de mégsem. Elő egy virtuális XP. Driver feltelül, eszköz működésre kész. Gyorsan rádugtam egy CISCO-s AP console portját. Putty idul, szépen látom ahogy az IOS betöltődik az AP-n, mindenféle szépet küld nekem az eszköz az új szerzeményemen kereszül. Időközben találtam olyan drivert is ami működik 7-en is, szóval ez a probléma kipipálva, de most jött a másik. Ahogy az IOS felállt, és megpróbáltam volna valamilyen gomot lenyomi, semmire nem reagált. Csak ő tud írni nekem, de én neki nem. ![]() Szóval az lenne a kérdésem hogy valaki tudja, hogy lehet orovosolni a problémát hogy az információk mindkét irányba tudjanak áramolni?
PL2303 drivert a gyártó honlapjáról szoktam letölteni (PL2303HX), eddig még mindig működött.
Idézet: Ellenőrizni kellene a jelszinteket! Ha az átalakítód 3,3 V-os jelszintű, a hozzá csatlakozó eszköz pedig 5 V-os és ráadásul CMOS Schmitt-triggeres bemenetű, akkor kevés lehet neki a jelszint. Lehet, persz más ok is, de ez egy elég triviális eset.„Csak ő tud írni nekem, de én neki nem.” Feltételezem, hogy a vezetékeket sikerült azonosítani, tehát tudod, hogy melyiken megy ki az adat.
Bocs, a lényeg lemaradt, AVR esetleg PIC-re használnám a későbbiekben (programozás). Arra jó? Vagy inkább az alaplapimat használjam, asrock z68pro3-M
A chip rajta PL0323 ami 5V-os.
Ha stimmelnek az adatok, akkor a sejtésem, hogy igen a válasz, működik PIC-hez és AVR-hez. Ha esetleg betéved egy kedves modi, megtenné nekem, hogy összevonja az utóbbi 3 hsz-emet? De azért várok egy tapasztalt visszaigazolására. ![]()
A munkahelyemen pont egy ilyet használok a gyári STK500-hoz mert kevés a soros portom.
A pontos típust nem tudom, a kinézete pontosan ilyen; és eddig nem is volt vele probléma, megbízható darab! Elvileg nem tudtak alá drivert telepíteni ezért félrerakták, én meg 10 perc kutakodás után életre keltettem.
Az alaplapi mindig célszerűbb, ha rendelkezésre áll, különben képbe jön az USB-s ami semmivel sem jobb.
Az alaplapi pl. azért jobb amiért rosszabb: nem kapcsol szét... Igen, RS-232-re mindig kell szintkonverter(MAX232) is, akár USB-s átalakítóról tolod akár PC-ről. Egy USB-átalakítóban lehet hogy ki tudod venni a TTL-jelet is ha belenyúlsz; sokszor max232-t tesznek bele.
Idézet: „Igen, RS-232-re mindig kell szintkonverter(MAX232) is, akár USB-s átalakítóról tolod akár PC-ről.” ![]() Ez nekem egy kicsit kesze-kusza, de kb értem. Úgy értetted, hogy TTL-hez mindig kell konverter, akár PC-ról direktbe (USB,RS232) akár USB-s RS232-ről? Ezt a szinteltolást mindig max232-vel oldják meg? Vagy van alternatíva?
A kábel, amit belinkeltél, az egy USB-RS232 átalakító. Valójában az ilyen kábelek két részből (többnyire két IC-ből) állnak:
USB-UART protokol konverter (pl. PL2303) és egy TTL - RS232 szintillesztő. Ennek a jele nem köthető közvetlenül a mikrovezérlőhöz. Nemcsak a jelszinttel van baj, hanem azzal is, hogy az RS232 jelszabvány szerint a jel +/-12V (vagy valamivel kisebb érték, de mindenképp pozitív és negatív) között ugrál, a nulla környéke tiltott sáv... Ezért kell a mikrovezérlő oldalán a max232 vagy hasonló funkciójú, de más gyártmányú szintillesztő. Van, persze, más út is, hiszen léteznek USB-UART protokol konverterek, amelyekben nincs RS232 szintillesztő, hanem TTL jelszinttel dolgoznak. Ezek között található 5 V-os, 3,3 V-os és átkapcsolható (vagy 5V toleráns) is. Bővebben: Link
ADM213 chip van még rajta.
![]() Ebből még lehet valami, nem? megnéztem az adatlapját. Így lehetne egy usb to TTL átalakítóm?
Idézet: Ez a szintátalakító és a szintátalakító számára igényelt +/-10 V-ot előállító DC-DC konvertereket tartalmazó áramkör. „ADM213 chip van még rajta.” Idézet: Igen, csak a PL2303 (vagy mi van benne?) RX bemenetét le kell választani az ADM123-ról (ha közbe lehet iktatni egy 1 kOhm-os elenállást, akkor a TTL és RS-232 mód is életképes.„Így lehetne egy usb to TTL átalakítóm?” A mikrovezérlő UART TX kimenete és az ADM123 megfelelő kimenete ugyanis nem köthetők össze direktben (mi van, ha az egyik le, a másik meg föl húzná ugyanazt a a bemenetet?)! Egyébként nem biztos, hogy megéri a kínlódást, hiszen USB-TTL átalakítók fillérekért (na jó, 2-4 USD) rendelhetők az E-bay kínálatából.
Igen, PL2303 van benne, ez az UART mikrovezerlo, es az ADM213 a szintkonverter.
Viszont nem teljesen tiszta, hogy ha ellenallast teszek a PL2303 RX bemenete es a szintkonverteren levo masik vege koze, akkor hogyan marad eletkepes mindketto? Hogy ezutan, hogy jon ide a PL0323 uart tx kimenete, vegkepp nem ertem. De nyilvan azert, mert kb ma kezdtem el okositani magam errol a kommunikacios retegrol. Szoval a lenyeg, nem kell nekem rs232, legyen belole egy jol hasznalhato USB-TTL konverter, tudjak vele majd a kesobbiekben AVR-t, es PIC-et programozni. Ehhez akkot az rx bemenetet el kell valasztani a szintkonvertertol? Illetve a kivezeteseket hogyan kotom be? Vagy hogyan tudok erre csatlakozni majd a programozoval? Meglesem a blokkvazlatot a szintkonverterrol, es a megfelelo TTL/CMOS ki/bemenetekre rakotok? Az eredeti driverrel hasznalhtao marad az atalakitas utan?
Idézet: „legyen belole egy jol hasznalhato USB-TTL konverter, tudjak vele majd a kesobbiekben AVR-t, es PIC-et programozni.” Ezzel nem fogsz PIC mikrovezérlőt programozni, csak kommunikálni, vagy - ha a PIC-be bootloadert égetett valaki előtte - akkor esetleg annak segítségével lehet programot betölteni (ami tuladonképpen ugyancsak kommunikáció). Idézet: Nyilván nem egyidejűleg, hanem vagylagosan. De ha nem érted, akkor inkább felejtsük el! A lényeg az, hogy a PL2303 RX bemenetéről le kell választani a szintkonvertert, mielőtt mikrovezérlőt csatlakoztatnál oda. Adatlapot, kapcsolási rajzot a Prolific honlaoján keress.„ha ellenallast teszek a PL2303 RX bemenete es a szintkonverteren levo masik vege koze, akkor hogyan marad eletkepes mindketto?” Idézet: Természetesen. „Az eredeti driverrel hasznalhtao marad az atalakitas utan?”
Koszi a segitseget!
A programozas nyilvan rossz kifejezes volt, a kommunikaciora gondoltam, tehat kozvetlenul az tuti, hogy nem ezzel programozok... ![]()
Idézet: OK, rendben.„A programozas nyilvan rossz kifejezes volt, a kommunikaciora gondoltam” Van mégegy buktató, tehát mielőtt belemerülnél a dologba, ellenőrizd, hogy a VDD_325 lábon (SSOP28 tokozás esetén ez a 4-es láb) mekkor a feszültség van! Ha 3,3 V. akkor a TXD (1. láb) jelszintje kevés lesz egy 5 V-os mikrovezérlő CMOS bemenetének meghajtásához! Magyarázat: A VDD_325-ös lábra kötött feszültség szabja meg az RS232 szintillesztőre menő jelek jelszintjét. Volt már, aki 5 V-ot kötött ide, de az adatlap nem biztat erre (aszerint 3,3 V a maximum). PL2303HX adatlap
Szia!
Vagyok olyan "szerencsétlen" és melóba kaptam két max232-t. Így mit ajánlasz, hogyan csináljam? Részemről mindegy, hogy soros porton vagy USB-n programoznék majd. Talán amelyik kevesebb alkatrésszel jár, hacsak nincs kompatibilitási probléma (arra gondolok, hogy soroson esetleg az AVR égetők jobban futnak) |
Bejelentkezés
Hirdetés |