Проблемот е во брзината на конверторите. Програматорите работат со DTR и RTS сигналите од портата а USB/Serial конверторот неможе да ги следи брзите промени на овие сигнали како оригинал сериска порта.
Па да, можно е и ова да е проблемот, и за ова имам чуено. Имено, овие евтиниве конвертори не ја запазуваат декларираната брзина на портот, односно, ги испраќаат сигналите побрзо од oboard портите, кои, иако во денешно време веќе може да праќаат податоци многу побрзо од брзините кои биле декларирани на времето, сепак, се држат до тој стандард. Ова го читав некаде online, некои sys admins имале проблеми со конфигурирање на Layer 3 Switch-ови, кои најчесто имаат Telnet интерфејс за подесување, но се поврзуваат преку RS-232 со PC, а бидејќи поновиве лаптопи немаат COM и LPT порти (а веќе сите имаат лаптопи
, па и sys admin-ите, или netbook, мораат некако да најдат начин работата да им биде побрза и транспортна, да не мораат да чекаат некој да им донесе PC за да го конфигурираат switch-от
), бараа некои поквалитетни USB-To-COM конвертори кои ги запазуваат декларираните брзини, бидејќи овие ефиниве не функционирале (воопшто не сакале да воспостават комуникација со RS-232 портот од Layer 3 Switch-от).
Имам пробано со PCI-Express 1X COM и LPT картица. Барем онаа која јас ја искористив, немаше проблем, си ги испраќаше сигналите со декларираната брзина, 9600bps (барем под XP/2003, не сум пробал под Win7, иако имаше драјвери за картицата и за Vista и 7).
Не е лошо да се провери дали овие евтиниве USB-To-COM конвертори имаат Port Settings Tab под Device Manager. Onboard портите имаат и можеш да подесиш со која брзина да ги праќа податоците портата, Data bits, Parity bits, итн. Можно е да има некое влијание намалување на брзината на портата, на пример, од 9600bps на 1200bps или 600bps. Зависи како е напишан драјверот за USB-To-Serial конверторот. Ако Windows сам по себе (без мануелна инсталација на драјвер) си ги наоѓа и инсталира дајверите, можно е овие подесувања да имаат влијание врз USB-To-COM конверторот, исто како што влијаат и кај стандардните onboard RS-232 порти.
Еве како е подесен кај мене COM1 портот.
Матичната плоча е понова (LGA775), портот е onboard и дава стандардни излезни напони, +-12V (24Vpp, имам мерено). Немам пробано да програмирам PIC-ови преку него, но имам пробано да пратам наизменична поворка од бити преку него. Брзината си ја држи како што е декларирана, 9.6KHz (односно 9600bps). Ова го имам пробано само под Windows XP/2003, не и под Windows 7, така да, не знам дали драјверите се само „преведени“ за Windows 7 или имаат и некои додатни промени кои ограничуваат или овозможуваат некои подесувања кои драјверот ги има или нема под XP. COM и LPT портите сам си ги најде XP/2003 при инсталација, драјверот е на Microsoft.
Ако ги има истите подесувања во драјверот и за USB-To-COM конверторот , пробајте пратете наизменична поворка на имулси и видете дали навистина брзината е 9600bps (9.6KHz, има софтвери кои може ова да го направат), под услов такво да е подесувањето во драјверот. Ако брзината е поголема, видете за колку е поголема. Можеби конверторот користи некој multiplier (подесено во драјверот или во самиот хардвер, кој знае
), па брзината е X пати поголема (точна бројка), па со адекватно намалување на брзината за X пати во подесувањата на драјверот, да се постигне посакуваната брзина од 9600bps
.
Имам и јас дома неколку USB-To-COM конвертори, ама не сум испитал колкава им е брзината на испраќање на правоаголнма поворка на импулси. Само зна дека не работат со PIC програматори (јас не пробав, ама му ги дадов на еден пријател да проба, ми рече дека не работат
). Сега немам време, инаку, би пробал ако може да се реши овој проблем :S.
А тоа дека е сериската порта во изумирање не би рекол. Можеби кај кинеските конфигурации да.
А какви други конфигурации има
? Можеби Тајвански
, ама и тие не се ништо подобри
. Еве, провери кај конфигурации со LGA1155 и LGA1356 да видиш дали повеќето матични плочи имаат COM и LPT порти
. За жал немаат :S. Да бидам искрен, и немам начекано матична плоча за LGA1155 и LGA1356 со COM и LPT порти. Дури и да има, тешко ќе најдеш во Македонија :S. Кај нас се носи само тоа што е популарно, за жал :S. А повеќето не се интересираат за вакви работи, и онака веќе скоро и да нема уреди кои комуницираат преку COM и LPT, веќе се е на USB, така да, увозниците не се замраат. А дури и да има таква матична плоча, не верувам дека е евтина :S. Ако на тоа се додадат трошоци за shipping... поедноставно и поевтино ќе биде да си купиш квалитетен USB-To-COM конвертор и USB-To-LPT конвертор
.
Проблем може да има и поради не сихронизирани сигнали (RTS, CTS, TX, RX) на пиновите од конверторот. Некои од сигналите се активираат веднаш по добиената наредба од софтверот за програмирање, во случајов WinPic800, а други пинови се активираат со мало закаснување, но доволно големо за да биде неуспешна комуникацијата.
Можеби и тоа да е проблемот, но можеби има начин и тоа да се реши. Само треба да се види колкаво е доцнењето на секој од пиновите и да се види дали може да се подеси драјверот некако да се синхронизираат овие сигнали
. А можеби може да се подеси и во самиот софтвер за програмирање да има определено доцнење на некој од пиновите на портот, па на крајот, со малку tweaking да се успее да се најде некое подесување кое функционира
.
Искрено, лично, само еднаш или два пати имам програмирано со COM програматор за PIC-ови, така да, навистина не сум нешто премногу навлезен во овој проблем. Откако го направив PICkit2 Clone, веќе не сум ни помислил на RS-232 програматори
. Како и да е, можеби некогаш би фатил да мерам и подесувам, ама искрено, сега немам време :S.