Guest nos_30 Posted September 24, 2008 Share Posted September 24, 2008 am un pic 16f74 cu comunicatie seriala in el si l-am legat pe un usb to serial de calculator(calculatorul nu are port serial)picul asta am citit despre el ca stie protocolul rs232 si am facut un usart pt elam luat una bucata "serial port monitor" si acum problema meaprogramul l-am facut ca in momentul cind receptioneaza in RCREG ceva sa il mute in TXREG si sa imi dea replayl-am testat cu pic simulator ide si mergea prin emulatorul alape acest serial pe care il am nu merge decit daca trimit ceva din pic in calculatorinvers nu se intimpla nimicma gindesc ca poate tre sa leg picul de comp printr-un max 232eu cred ca totusi sunt tensiunile tx rx de pe usb to serial diferite de cele de la picpoate imi da cineva o idee cum sa fac ca sa pot scrie si citi din pic pe calculator posting.php?mode=post&f=11# Link to comment
Laci Posted September 24, 2008 Share Posted September 24, 2008 Nu trebuie sa pui max232, ai o greseala undeva in cod. Link to comment
puiu Posted September 24, 2008 Share Posted September 24, 2008 1.Verifica tensiunea din calculator pentru USB. Eu stiam ca USB este pe 3,3 V si nu pe 5 V. Alimentarea in general pe USB este de 5V, dar sint USB care dau 12 V sau 24 V numai pentru alimentarea device-ului extern. Poate gresesc. Link to comment
Guest nos_30 Posted September 24, 2008 Share Posted September 24, 2008 alimentarea este de 5 v desi si eu stiu ca tre sa fie de 3,3 (poate imi indica prost aparatu), folosesc un pickit2 ca sa scriu picul, un "usb to serial" prolific rs232nu cred ca asta e problema , valorile se citesc intre 3~15v = 1 , si -3~-15 = 0 (in calculator asta e sigur), dar nu stiu ce valori stie sa citeasca prolificu astadaca gresesc cu ceva va rog sa ma corectatiasta o stiu din documentatia ce am citito despre rs232pina una alta ma uit in soft ca nici eu nu prea stiu exact cu ce se maninca ca sunt incepator in transmisia seriala Link to comment
deep-blue Posted September 25, 2008 Share Posted September 25, 2008 USB-ul are linia de alimentare la 5V (tolerat 4.75-5.25). Semnalul diferential USB pentru Low Speed (LS) si Full Speed (FS) are amplitudinea de 3.3 V. Alte tensiuni pe linia de alimentare la USB is total aiurea si nerecunoscute de catre organizatia de standardizare USB-IF (e si normal - ca daca ar exista alimentare la 24V sigur s-ar gasi cineva sa bage o camera foto in mufa si atunci BUM).Pe cealalta parte a lui PL-2303 (adica pe partea de RS232) gasesti in gol la iesire cam +6...+8V respectiv -6...-8V. Suficient pentru un cablu de cativa metri (mie mi-a mers la 4m cu 38400). Daca ai protejat intrarea Rx in PIC cu rezistenta si dioda atunci nu mai vad deocamdata decat varinta unei greseli in program.Intrebare: pe PC receptionezi exact ce transmiti din controller ? Link to comment
Guest nos_30 Posted September 25, 2008 Share Posted September 25, 2008 nu stiu cum sa o protejez intrarea pe rx, poate imi arati schematic am folosit exemplele de pe site la microcip are niste exemple acolo pe care am incercat sa le modific ceva de genul: loop call ReceiveSerial btfsc Flags,GotNewData ;verifica daca sa transmis call transmit goto loop transmit movlw b'10101010' ;hex=AA movwf TXREG btfss PIR1,TXIF ;verifica daca sa transmis goto $-1 return nu mai stiu exact cum era ca deja am inceput sa imi fac programul meu dar ideea e ca imi returna mereu 0 in picsimulator ide acelasi lucru ar fi trebuit sa se intimple si pe simulatorul de serial ce il am dar acolo nu imi aparea nimic am vazut si eu ca nuivelurile de pe rs232 erau de vreo 6v si ceva dar tot am impresia ca mie aparatu de masura ciudat http://www.sz3bbyla.ilive.ro/rt.asm - aici se afla programul ce l-am modificat pt 16f74 cu 20 mhz poate ma ajuti cu o schema cu dioda si rezistenta pt protectia aia pe rx Link to comment
puiu Posted September 25, 2008 Share Posted September 25, 2008 1.Valorile corecte le poti vedea cu osciloscopul nu cu aparatul de masura.2. Pe site-ul lui Microcip nu am gasit ca PIC16F74 este dotat cu interfata de USB ci numai unele PIC-uri 18F sau mai mari. E drept ca ceea ce faci tu este foarte interesent dar merita cand sunt PIC-uri care au device pentru USB? Link to comment
Guest nos_30 Posted September 25, 2008 Share Posted September 25, 2008 inca odata pentru lamuriream un 16f74 care are serial master, i2c slave, paralel etcl-am legat de calculator printr-o interfata "usb to serial" din cauza ca am un laptop care nu are port serialsi incerc sa transmit date si sa primesc prin transmisie seriala asincrona (adica usart=universal sincron asincron recive transmit) Link to comment
deep-blue Posted September 25, 2008 Share Posted September 25, 2008 Am atasat schema de care vorbeam si care limiteaza curentul pe intrarea controlerului cand nivelul aplicat e negativ. Rezistenta poate fi de pe la 1k8 pana chiar si peste 10k. (minimul depinde de cat curent poate scoate convertorul USB2serial, iar maximul depinde de sensibiltatea de intrare pe pinul MCU). Dioda nu-i nici ea critica, de fapt in controler exista deja o dioda montata asa, dar e de preferat sa nu o arzi pentru ca protejeaza controlerul de ESD (ElectroStatic Discharge).[attachment=0]protectie_serial.png[/attachment]Din cate stiu, PIC-urile is destul de zdravene cat sa absoarba curentul de scurtciruit al convertorului, iar daca, convertorul ii construit cu chinezaria aia de PL2303, ai noroc ca asta nu-i tare potent la curenti de scurtcircuit. Pe scurt: portul Rx de la controlerul tau are sanse mari sa mai functioneze inca, iar pana acum sa fi fost zapacit doar de curentul invers de pe intrare.Ai posibilitatea sa pui un led la un port bun (printr-o rezistenta de ~ 1K) ? Daca da, asta te poate ajuta la debugging, pana faci serialul sa-ti merga cum trebe. De exemplu poti sa pui led-ul sa se aprinda cand receptionezi ceva (sau cand receptinezi o anume valoare) pe serial. Link to comment
sofian Posted September 25, 2008 Share Posted September 25, 2008 baga o poza la "usb to serial " ca eu cred ca este cu tot cu max232 deci nu scoate nivel logic TTL, si de aceea nu merge sa pui direct din PIC Link to comment
deep-blue Posted September 25, 2008 Share Posted September 25, 2008 folosesc un pickit2 ca sa scriu picul, un "usb to serial" prolific rs232Hm, acu am observat ca folosesti un debugger. Cred ca m-am obisnuit intr-atat sa fac "debugging cu LED" ca m-am grabit sa-ti recomand si tie barbarisme din astea. Lucy you ... Link to comment
Guest nos_30 Posted September 25, 2008 Share Posted September 25, 2008 asta e poza si id-ul de la driver este Vid_067B&Pid_2303am pickit2 si asta nu e debugersi eu pun leduri de test dar pe mine ma intereseaza sa transmit si sa primesc pt inceput in calculatormultumesc mult pt chestea cu rezistenta si dioda numai ca mi se pare cam mare rezistentaeu ma gindeam sa ii pun o rezistenta de vreo 300 ohmnu ma pricep asa bine la electronicamultumesc inca odata de sfaturi Link to comment
sofian Posted September 25, 2008 Share Posted September 25, 2008 deci adaptorul ala ptr com(RS232) include in afara de PL2303 si un max232tu trebuie sa ai dupa PIC si un max232 ptr conversia semnalelor de la PIC in standard RS232lasa improvizatiile cu diode si rezistori Link to comment
Guest nos_30 Posted September 25, 2008 Share Posted September 25, 2008 si eu incep sa cred ca imi trebe un max 232 dar mie teama sa nu fi prajit deja prolificu asta pe care il amam masurat rx-com si am -6.2 vam masurat tx-com si nu am nimic ( 0.0 v )am masurat tx-rx si am 6.2 v Link to comment
deep-blue Posted September 25, 2008 Share Posted September 25, 2008 Cam asta ii solutia pe care am folosit-o la primele mele montaje (diode + 3k6) si au mers fara probleme atat timp cat firele nu erau prea lungi. Subscriu si la recomandarea lui sofian: un integrat max232 si 4 condensatoare, puse de la bun inceput in montaj, si nu-ti mai bati capul. Prolificu se verifica foarte usor: legi Tx la Rx (pin 3 cu pin 2) si trebe sa receptionezi ce transmiti (echo). Din experienta stiu ca adaptoru ala (am si eu 2, unu-i la fel cu al tau) is destul de rezistente.Later edit: Daca scoti din montaj adaptorul o sa ai pe Rx (pin2) ~0V. Pe Tx (pin3) ~-6.5V. Fata de GND (pin5). Tocmai am masurat la al meu. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now