Author Topic: Проблем со програмирање на пик!  (Read 8481 times)

Offline MetallicA

  • Експерт
  • ****
  • Posts: 716
  • Gender: Male
Проблем со програмирање на пик!
« Opened on 28.08.2013, Wednesday, 01:39:34 (Edited 28.08.2013, Wednesday, 05:02:09) »
Имам проблем со програмирањето на пик16ф628 и пик16ф84а, за програматор користам jdm оној од зан, а за софтвер winpic800. кога отидам на hardware test  ми пишува hardware is not responding? а кога отидам на read all после тоа кодот се бриша и се испишуваат нули, што ми можел да биде проблемот? да не е до тоа што користам win7? >:(
Kure je kupio novog BMW-a

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12890
  • Gender: Male
  • Не фалширам
Пробај го на XP. Ако работи, значи проблемот е во Win7.

Која верзија на WinPic800 ја користиш?
It's not schizophrenia... It's just a voice in my head...

"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline Zan

  • Експерт
  • ****
  • Posts: 883
Провери го кабелот за сериски порт дали е добар.
Дали користиш USB-Serial конвертор или сериски порт директно од матична?
Жан

Offline MURO

  • Стручњак
  • ***
  • Posts: 152
Дали воопшто има некој кој успеал да работи со WinPic преку USB/RS232 конвертор? Со COM порта од матична работи.

Offline Zan

  • Експерт
  • ****
  • Posts: 883
Со конвертор најчесто не работи. Со некои типови на конвертори може да работи, но програмирањето е многу бавно.
Жан

Offline MetallicA

  • Експерт
  • ****
  • Posts: 716
  • Gender: Male
ке пробам тоа гига  ;D инаку верзијата како што пишува горе изгледа е v 3.64H. инаку не користам адаптери туку db9 кабел директно од матичната  :D. мислам дека кабелот е ок, но ке проверам да не има негде прекин случајно.
Kure je kupio novog BMW-a

Offline Zan

  • Експерт
  • ****
  • Posts: 883
Не мислев на прекин, туку дали кабелот внатрешно е поврзан 1 со 1, 2 со 2 итн.
Жан

Offline MetallicA

  • Експерт
  • ****
  • Posts: 716
  • Gender: Male
јбг, не знам ке проверам сега, и ке пишам, ама мислам дека ни би требало да има проблем бидејки кабелот го земав нов.
Kure je kupio novog BMW-a

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12890
  • Gender: Male
  • Не фалширам
Одг: Проблем со програмирање на пик!
« Reply #8 on 28.08.2013, Wednesday, 19:57:45 (Edited 28.08.2013, Wednesday, 20:15:57) »
Дали воопшто има некој кој успеал да работи со WinPic преку USB/RS232 конвертор? Со COM порта од матична работи.

Најчесто не функционираат овие конвертори бидејќи излезниот напон не им е +-12V (иако, дури и денешниве понови onboard RS-232 порти, најчесто не даваат повеќе од 12Vpp, односно +-6V), туку 0-5V, а овие програматори (на RS-232 порти што се врзуваат) имаат отпорници и зенер диоди за спуштање на напонот од преголемите напонски нивоа и затоа најчесто не функционираат.

Мислам дека најголем проблем е напонот за Vpp/MCLR кој се носи до PIC-от за да се стави во programming mode. Кај програматорите кои работат на COM порти, овој напон најчесто се зема од RTS пинот на RS-232 портата кој има доволно висок напон (поголем од +5V) за да го стави PIC-от во programming mode. Кај овие USB конвертори, овој напон не може да биде поголем од +5V (најчесто е и помал, околу 4.8V или 4.9V). Мислам дека тука се јавува најголемиот проблем. Треба екстерно да се донесе некој напон поголем од +5V на овој пин за да го стави PIC-от во programming mode. Кај PICkit2 Clone, овој проблем е решен со осцилатор кој осцилира и преку калем, го крева напонот помеѓу 10 и 12V (зависи од тоа колкави им биле толеранциите на компонентите кои сте ги искористиле ;)).

Кратко кажано, треба да се преправат програматорите или да им се направи додатен модул за да може да функционираат со евтините USB-To-COM конвертори ;). Со поскапите, оние кои даваат баш +-12V сигнал, нема проблем со нив сигурно ќе работат ;).

ке пробам тоа гига  ;D инаку верзијата како што пишува горе изгледа е v 3.64H. инаку не користам адаптери туку db9 кабел директно од матичната  :D. мислам дека кабелот е ок, но ке проверам да не има негде прекин случајно.

Ако е нова матичната плоча, можно е и onboard COM контролерот да е проблематичен. Често, на поновите матични плочи, бидејќи веќе изумира тој стандард, производителите не се ни замараат да го направат „асален“ контролерот, односно, истиот функционира, ама не ги дава адекватните напонски нивоа. На пример, на една матична плоча, од поновите (со LGA775) мерев излезни напонски нивоа од RS-232. Напонското ниво за логичка нула беше +5V, а за логичка единици 0V ::). Значи не се ни замарале да ставаат додатни драјвери за да може напонот од напојувањето од -12V да го префрла на излезот на COM портата, а исто и за напонот од +12V, односно логичка нула ::). Е сега, многу уреди ќе функционираат и со овие напонски нивоа, ама не и програматорите :S. Не се дизајнирани така да функционираат :S.
It's not schizophrenia... It's just a voice in my head...

"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline MURO

  • Стручњак
  • ***
  • Posts: 152
@Giga
Gembird USB/Serial конверторите имаат 22Vp-p. Па сепак не работат со WinPic. Исто сум пробувал и програматор со интерно 12V напојување (значи Vpp (MCLR*) пинот нема проблем со 12-те волти) , пак не ги бивало.
Проблемот е во брзината на конверторите. Програматорите работат со DTR и RTS сигналите од портата а USB/Serial конверторот неможе да ги следи брзите промени на овие сигнали како оригинал сериска порта. А тоа дека е сериската порта во изумирање ??? не би рекол. Можеби кај кинеските конфигурации да.

Offline Zan

  • Експерт
  • ****
  • Posts: 883
Проблем може да има и поради не сихронизирани сигнали (RTS, CTS, TX, RX) на пиновите од конверторот. Некои од сигналите се активираат веднаш по добиената наредба од софтверот за програмирање, во случајов WinPic800, а други пинови се активираат со мало закаснување, но доволно големо за да биде неуспешна комуникацијата.
Жан

Offline GigaWatt

  • Администратор
  • Топ Експерт
  • *****
  • Posts: 12890
  • Gender: Male
  • Не фалширам
Одг: Проблем со програмирање на пик!
« Reply #11 on 28.08.2013, Wednesday, 21:58:42 (Edited 28.08.2013, Wednesday, 22:07:33) »
Проблемот е во брзината на конверторите. Програматорите работат со DTR и RTS сигналите од портата а USB/Serial конверторот неможе да ги следи брзите промени на овие сигнали како оригинал сериска порта.

Па да, можно е и ова да е проблемот, и за ова имам чуено. Имено, овие евтиниве конвертори не ја запазуваат декларираната брзина на портот, односно, ги испраќаат сигналите побрзо од oboard портите, кои, иако во денешно време веќе може да праќаат податоци многу побрзо од брзините кои биле декларирани на времето, сепак, се држат до тој стандард. Ова го читав некаде online, некои sys admins имале проблеми со конфигурирање на Layer 3 Switch-ови, кои најчесто имаат Telnet интерфејс за подесување, но се поврзуваат преку RS-232 со PC, а бидејќи поновиве лаптопи немаат COM и LPT порти (а веќе сите имаат лаптопи ;D, па и 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 (подесено во драјверот или во самиот хардвер, кој знае ;D), па брзината е X пати поголема (точна бројка), па со адекватно намалување на брзината за X пати во подесувањата на драјверот, да се постигне посакуваната брзина од 9600bps ;).

Имам и јас дома неколку USB-To-COM конвертори, ама не сум испитал колкава им е брзината на испраќање на правоаголнма поворка на импулси. Само зна дека не работат со PIC програматори (јас не пробав, ама му ги дадов на еден пријател да проба, ми рече дека не работат ;D). Сега немам време, инаку, би пробал ако може да се реши овој проблем :S.

А тоа дека е сериската порта во изумирање ??? не би рекол. Можеби кај кинеските конфигурации да.

А какви други конфигурации има ;D? Можеби Тајвански ;D, ама и тие не се ништо подобри ;D. Еве, провери кај конфигурации со 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 програматори ;D. Како и да е, можеби некогаш би фатил да мерам и подесувам, ама искрено, сега немам време :S.
It's not schizophrenia... It's just a voice in my head...

"This is really a generic concept about human thinking - when faced with large tasks we're naturally inclined to try to break them down into a bunch of smaller tasks that together make up the whole."

"Newton's third law: The only way humans have ever figured out of getting somewhere is to leave something behind."

Offline MetallicA

  • Експерт
  • ****
  • Posts: 716
  • Gender: Male
Одг: Проблем со програмирање на пик!
« Reply #12 on 28.08.2013, Wednesday, 22:45:37 (Edited 28.08.2013, Wednesday, 23:05:39) »
абе те сега пробав со хп и пак несака  >:( кога отидам да го програмирам ми пишува error, writing adress 0x0000. а и истотака не го детектира хардверот, да не треба некое подесување или?btw кој пин е за data in? истотака изгледа само дата ин не работи т.е. не прифака другото кога отидам на тест покажува дека работи
Kure je kupio novog BMW-a

Offline Zan

  • Експерт
  • ****
  • Posts: 883
Жан

Offline MetallicA

  • Експерт
  • ****
  • Posts: 716
  • Gender: Male
епа истотака е подесено и пак не работи. го проверив програматорот се е во ред нема спој или прекин.
Kure je kupio novog BMW-a