uPD70F3366gj UART USB pripojeni k PC

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

uPD70F3366gj UART USB pripojeni k PC

#1 Příspěvek od KiTt »

Zdravim, mam tady jedno zarizeni ktere je vadne a mam podezreni ze je spatny SW v tom uPD70F3366, postavil jsem si jednoduchej prevodnik USB<-> UART s PL2303. Zda se ze komunikace nejak funguje, ale na terminalu v PC se me zobrazuji jen ruzne znaky misto spravneho textu. Napred jsem si myslel ze je spatne nastavena komunikacni rychlost, ale vyzkousel jsem vsechny dostupne a nic nefungovalo spravne.
Nema nekdo zkusenost s timto uPC a pripojenim k PC? Nevim kde hledat problem jestli na strane prevodniku a nastaveni PC, nebo je problem v uPC.
Dekuji moc za kazdy napad kde by mohl byt problem.
Uživatelský avatar
Zaky
Příspěvky: 7050
Registrován: 30 říj 2010, 00:00
Bydliště: Praha

#2 Příspěvek od Zaky »

Zkontroluj tvar a časování UARTu osciloskopem, konvertor nemusíš bastlit, koupíš za pakatel na Ebay: http://www.ebay.com/sch/i.html?_from=R4 ... c&LH_BIN=1 jsou sice tací, co na PL2303 nebo CH340 nadávají, moje zkušenosti ale špatné nejsou, převodníky fungují v pohodě, akorát některé s PL2303 mají v USB datech 100Ω odpory místo 22Ω, pak to zlobí s delšími kabely. Konvertor vyzkoušej v loopback zapojení, spojíš TX a RX a konvertor musí vracet, co na něj pošleš, nic to ale nevypovídá o správné komunikační rychosti.
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

#3 Příspěvek od KiTt »

Tak ted si s tim hraju a pokud spojim tx a rx co jdou z prevodniku a napisu v terminalu nejaky znak tak se nevrati. Ale pri spojovani rx a tx chodi na terminal ruzne znaky.
Pokud to pripojim naprocesor, tak v terminalu nemuzu psat.
Uživatelský avatar
lesana87
Příspěvky: 4404
Registrován: 20 zář 2014, 00:00

#4 Příspěvek od lesana87 »

Podle toho co píšeš, se ti při spojení tx a rx zobrazují znaky, které píšeš, ale při spojení přes procesor se nezobrazuje nic. To znamená, že máš v terminálu vypnuté echo a znaky, které se ti zobrazují při spojení tx a rx, jsou znaky, které se ti vracejí, takže to funguje. :) Při spojení přes procesor se ti skutečně nic nevrací a nefunguje to. :(
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

#5 Příspěvek od KiTt »

Ano s tim echem mas pravdu. Zapnute nebylo.
Takze prevodnik zda se funguje. Ale kdyz pripojim procesor, tak me terminal vypisuje ruzne znaky, misto bootu. Tak a ted zjistit proc.
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#6 Příspěvek od mtajovsky »

Zobrazit pomocí DSO nebo analyzátoru, co se skutečně z procesoru vysílá, třeba jde jen o špatnou rychlost, stop bity nebo paritu. Jedná se skutečně o asynchronní přenos?
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

#7 Příspěvek od KiTt »

Na osciloskopu vidim ze z procesoru lezou bity OK. Jaka je prenosova rychlost presne nevim, ale bude standartni, 38400, 57600,115200.1stop bit, zadna parita. Ale at zkousim co zkousim porad leze z terminalu jen hromada znaku.
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

#8 Příspěvek od KiTt »

Jeste jsem si vsimnul jedne veci, pokazde kdyz resetuji ten procesor prijde na terminal jina sada znaku. Ocekaval bych ze prijde pokazde to stejne ikdyz ve spatnem formatu , ale melo by to byt stejne, nebo se pletu?
Uživatelský avatar
Zaky
Příspěvky: 7050
Registrován: 30 říj 2010, 00:00
Bydliště: Praha

#9 Příspěvek od Zaky »

Podívej se, co z toho leze po resetu na osciloskopu, jestli je nesprávná rychlost, terminál to může chybně chápat pokaždé jinak, pokud to vypadá jinak i na osciloskopu, tak se opravdu posílá něco jiného.
Uživatelský avatar
PvvS
Příspěvky: 464
Registrován: 25 lis 2008, 00:00
Bydliště: Brno
Kontaktovat uživatele:

#10 Příspěvek od PvvS »

Tohle resil kamos s jednim routerem. Pomohla az vymena za jinej prevodnik USB-UART. S tim to jelo napoprvy. Ja od jisty doby pouzivam jenom FTDI a mam klid.
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

#11 Příspěvek od KiTt »

Ted jsem to zkusil propojit s klasickym prevodnikem max 3232 a taky z toho lezou pouze ruzne znaky. Nemam ted po ruce zadny lepsi prevodnik a v GME a GES nic nemaji skladem. Ted me napada ze mam nejaky prevodnik na arduinu mega2560, tak zkusim jeste ten.
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#12 Příspěvek od mtajovsky »

KiTt píše:...Ale at zkousim co zkousim porad leze z terminalu jen hromada znaku.
Terminál nechte teď stranou. Nejprve je třeba osciloskopem nebo analyzátorem ověřit, že z procesoru jdou správná data. Víte co se z něj má po resetu vyslat? Je to třeba sesouhlasit data bit po bitu a z toho určit rychlost a ostatní parametry. I běžné levné analyzátory se dokáží chytit na data a vypsat znakově nebo v hex, co po RS232 leze.

V převodníku bych primárně chybu nehledal, zrovna teď si hraji se spojením ATmega s PC přes levný CH340G na 38,4 kbps a nejsou žádné problémy - vyzkoušeno na 3 různých terminálových programech.

KiTt píše:Na osciloskopu vidim ze z procesoru lezou bity OK. Jaka je prenosova rychlost presne nevim ...
Jak víte, že "bity jsou OK", když ani nevíte rychlost přenosu??
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

#13 Příspěvek od KiTt »

Bohuzel nemam skoro zadne servisni informace jen jeden screenshot co to ma vypsat po resetu uPC.
Navic se tam pouzivalo vice druhu uPC a kazdy mel jinou komunikacni rychlost. Ale co vim tak se pouzivaly jen 3 rychlosti 38400, 57600,115200.
Nemam analizator, jen USB osciloskop. Co z toho leze je v priloze.
Přílohy
a.jpg
(297.01 KiB) Staženo 123 x
Uživatelský avatar
mtajovsky
Příspěvky: 3728
Registrován: 19 zář 2007, 00:00
Bydliště: Praha

#14 Příspěvek od mtajovsky »

Jestli máte screenshot s daty - dobrá. Chtělo by to oscilogram více roztáhnout - možná i nasnímat s vyšším vzorkováním. Pak předpokládejme, že je první hrana do nuly začátek start bitu. Takže potom bitově sesouhlasit první přenesený byte dle data na vašem screenshotu. Pokud se to podaří, najdeme stop bit (případně paritu) a druhý start bit a druhý byte. Pozor, paritní bit je nepovinný a stop bity mohou být i dva. Taky přenos datových bitů může být 7, 8 nebo 9 bitový.
Pokud jsme úspěšní máme hned přenosovou rychlost. Z toho můžeme oddělit jednotlivé byte a dekódovat data. Je to trochu detektivka, ale jde to. Obrázek, který jste sem dal, je s příliš zhuštěný - chce to více detailů a roztáhnout.
Přílohy
RS232.png
(901 bajtů) Staženo 134 x
Uživatelský avatar
KiTt
Příspěvky: 206
Registrován: 25 srp 2012, 00:00
Bydliště: Brno a okoli

#15 Příspěvek od KiTt »

tady je to stejne ale vic roztazene.
Přílohy
b.jpg
(296.19 KiB) Staženo 132 x
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“