Fórum témák
» Több friss téma |
Egy nemet forumban kozolt projektet szedtem le es abban volt benne. Onnan szedtem ki.
Kicsit farrigcsáltam a kódon. Ha a progmem verzióból kiszedem a DNS netbios és announce részeket, akkor is még 26,5K marad a kód. Benne maradt a DHCP, ICMP, ARP is azt hiszem és a http szerver. Az eepromos verzió ugyanígy megfaragva viszont kicsivel több mint 16K, tehát azt még esélyes lehet belerakni a 18F4550-be is. Viszont nem tudom hogy mit jelent ez az eeprom dolog. Külső eepromot kell hozzá tenni talán, vagy a saját belső eepromját használja. Ennek még utána kell néznem.
Azt hiszem megvan. Egy külső soros eeprom kell a második verzióhoz. A kód eredetileg egy 24LF256-ot használnak talán. Még nem néztem át teljesen a forrást. De akkor valószinűleg a http szerverhez oldalakat a PIC-ben tárolják? Vagy csak előre helyet foglalnak neki a konfig alapján?
Hali!
A baj a kulso eeprommal az, hogy kell hozza FTP szerver, mert azon keresztul lehet letolneni. Legalabbis azt hiszem, de lehet, hogy siman soros porton keresztul kell letolteni a cuccot bele. Szerintem igy sem fog beleferni. Legalabbis nekem nem siekrult beleraknom.
Nem tudom hogy hogyan kell. Én szerintem legegyszerűbb, ha egy programozóval beleprogramozza az ember az eepromba előre, aztán berakja a foglalatba mondjuk. Én írtam egy programot régebben amivel pl egy wav fájlt lehet hex-be átrakni és aztán beégetni mondjuk ic-proggal egy eepromba. De biztosan a letöltést máshogy is meg lehet oldani, ha máshogy nem egy saját kódrészlettel.
Biztosan meg lehet oldani, de en nem foglalkoztam vele. Azt hiszem mintha lattam volna egy projketet a neten amiben 18F452-es volt kulso eeprommal es webszerverkent ment. Talan a www.olimex.com -is arul ilyen panelt. Na a lenyeg,hogy az olimextol leszedheto a forraskod amit atirtak a sajat paneljukre. Terv is van fent hozza, szoval konnyen utanepitheto es nem kell sokat progizni, hogy rogton menjen a dolog. Utana meg lehet fejleszteni a dolgot.
Hali!
Van még kérdésem, ha nem baj. Betettem a libraryba az microchip-enc28j60.lbr és aktívizáltam is mindjárt az Eagle-n belül a Library könyvtárában. A probléma a következő: ha új schematic-et csinálok, akkor be tudom tenni az enc-t. Ezt elmentem, és ezt már nem tudom megnyitni, mert hibát írt ki. Mi lehet a baj? Idézet: „Én most AVR-hez szedtem le TCP/IP stacket, meg ENC28J60 libraryt” Honnan lehet ezt leszedni?
Sajnos már fogalmam sincs hol találtam. UIP stack a neve, sok helyen találsz rá hivatkozást. És ez egy AVR-re portolt verzió. Azt tudom hogy valami SVN-es szerverről szedtemm le, így fájlonként másoltam ki html-ből. Az ENC libraryt azt viszont könnyen megtalálod szereintem. Majd felteszem ide az egészet.
Hali!
Kicsit maszirozgattam a PIC-emet. 18f4550-an probaltam meg beizzitani a Microchip 3.6V TCP/IP stacket. Idehaza 3 gep van halozatban. Egy linuxos gep osztja meg a netet. A masik ket gep ringyozos. A linuxosrol nem tudom pingelni a kutyut, de a webservert megnyitja. Erdekes mert a linuxosrol a ringyozos gepeket tudom pingelni. A ringyozosrol megnyilik a weblap is meg a ping is megy. Kezdeti buktatok: - TCP/IP stack felkonfiguralasa a sajat panelra. Letre kell hozzni a ki-be menetek definialasat. - orajel megadasa - IP cim es MAC address megadasa - egyes modulok parameterezese. (pl nem kell webserver) - helyes orajel forrasa megadasa a PIC-nek. PLL-van benne nem mindegy, hogy 12Mhz vagy 48Mhz - kiserleti panel megepitese, helyes szintillesztessel. 3V3 rol 5V-ra!!! - SPI busz orajelenek beallitasa. fosc/4 48Mhz-eseten 12Mhz lenne. Szerintem sok. Levettem 3Mhzre. - linker script atirasa, hogy kello memoria alljon rendelkezesre a program szamara. jelenleg 4k szabad programmemoria van es a sram kevesebb mint a fele ures. Nehany probalkozas utan sikerult eletre keltenem a dolgot. PING mukodik, webserver is. Hibak amik megszivattak: - kontak hiba. probapanelen menet kozben kihuzodott valami ezert nem futott a program. - rossz helyen keresem a hibat. linuxrol pingeltem (mint kiderult hiaba) es osscilloszkoppal meregettem az SPI- buszt hatha mukodik-e. - nem volt eleg memoria a web szerver leforditasahoz. lkr script atirasa segitett. nem mukodes eseten erre is gyanakodtam. Linux: Erdekes a MAC adresst megkapja, de a pingeles nem mukodik. Szoval valami bug lehet valahol.
Egy kérdés, nem lehetne rendes hálókarit picre tenni? Mert nekem az smd nem megy, viszont így ez kimaradna.
De lehetne. :yes:
Egy ISA-s halókarit minden gond nélkül lehet illeszteni a pichez. Nézz körül itt a fórumon, mert régebben volt ilyen topik. Keress rá a az "pic és internet" vagy csak simán az "internet" kifejezésre.
ENC28j60 van huzalkivezeteses tokban is.
ISA kartya foglalatot lehet venni? Vagy azt ki kell forrasztani? Jo moka. Meg ISA kartyat vadaszni hozza. Igaz ilyet par szaz forintert lehet kapni bontoban.
reszben ide kapcsolodik:
lattam a cc arlistan olyan rj45 csatlakozot amiben transzformator is van (vagyis inkabb forditva), de nekem olyan kellene mint ami pl a spartan3e starter kit-en van: csatalakozo-szuro-transzformator+ledek egybeepitve, ha tudtok olyan helyet ahol lehet kapni akkor ne tartsatok magatokban Thx!
Sziasztok!
Lenne pár kérdésem ezzel az ENC-vel kapcsolatban. Az SPI-n portján tudok írni/olvasni. Inicializálom a vezérlőt, aztán a végén az ECON1 regiszter Rxen=1 bittel szeretnék csomagokat venni. Aztán csak várok, várok, nem csinál semmit. Kiolvasom a E.buffert, de mindig ugyanazokat a byteokat olvasom csak. Mi lehet a probléma? Megszakítást nem küld beérkezett csomag miatt. Persze biztos van csomag a vonalon. Egyébként HUB-ba van bedugva. Az alábbi inicializálást használtam: ETXSTL=00000010B ETXSTH=00000000B ETXNDL=11111000B ETXNDH=00000101B ERXSTL=01000000B ERXSTH=00000110B ERXNDL=01000000B ERXNDH=00011111B ERDPTL=01000010B ERDPTH=00000110B ERXRDPTL=01100000B ERXRDPTH=00011111B MAADR1-6=valami MACLCON2=63 PHCON1=0000000100000000B MACON1=00001101B MACON3=00110010B MACON4=01000000B PHCON2=0000000100000000B MAMXFLL=00000101B MAMXFLH=11111000B MABBIPG=012H MAIPGL=012H MAIPGH=00CH PHLCON=0011001010110110B ERXFCON=0 (Tudom, hogy kezdetleges, de ez csak próba.) Egyedül a ERXRDPT pointerben nem vagyok biztos mit jelent, de a többi szerintem ugyanolyan, mint az adatlapon... A HW részét vagy ezerszer átnéztem, hibát nem találtam. Plíz segítsetek! Köszi! u.i.:A proci nem PIC és nem AVR.
En az eletben egyszer sem ovlastam el az ENC doksijat szoval segiteni nem tudok, de mint mindig jo 5letem az van
Megis milyen proci? Nem lehet valahogy portolni a Microchipes TCP/IP stacket? En biztosan megprobalnam ha lenne ra lehetoseg, minthogy sajat stacket irjak.
80c51 magú ATMEL mikrovezérlő.
Nem kell saját Stack-et írtnom. Egyébként az oldaladról szedtem le a Microchipes Stacket és az inicializálást majdnem teljesen ugyanúgy átírtam erre a procira. Viszont, amit most próbáltam, hogy nem csak a recieve buffer nem veszi az adatokat, hanem, ha én a buffer beíró paranccsal próbálkozok közvetlen beírni, nem azokat az adatokat olvasom ki. Azomban az ETH, MAC és PHY regisztereket gond nélkül tudom írni/olvasni. Az adatlap azt írja, hogy ,ha az ERXST vagy ERXND regisztereket programozzuk, akkor az ERXST értéke automatikusan átmásolódik az ERXWRPT regiszterbe. Na nálam ez szintén nem történt meg, pedig a az ERXWRPT regiszter read-only regiszter. Nem értem... Nem lehet, hogy a pointerekkel van valami gebasz? (Bár miért lenne.)
Sziasztok!
A 3.0 ás verziójú stack et használnám, úgy hogy a pic a saját memóriájában tartaná a weboldalt. Ez megy is ha pl. egy 18f4523-as pic re fordítom, de ha egy 18f45j10-esre (ami most van nekem) arra azt írja, hogy cannot fit section... , holott ugyan úgy 16 K utasítás fér mindegyik pic be. Ez mitől lehet? Az ötleteket előre is köszönöm.
Hát PIC18***-ben nem vagyok teljesen otthon, de AVR-nél előfordul hogy ha nem a programmemóriába, hanem a RAM-ba kerül a sok adat (pl a weblap, és hiába van sok hely még a programmemóriából) Akkor kiakad, vagy a fordító jelzi a hibát.
Szerintem te se az adatmemóriában tárolod az adatokat, és elfogy a RAM.
Szoval a program tar elvileg ugyan akkora?
Ha nincs bekapcsolva az optimalizalo probald meg bekapcsolni, hatha az segit. Ha be van kapcsolva, akkor lehet, hogy erre nem tudja annyira optimalizalni mint a masikra.(?)Bar miert ne tudna... Probald meg kideriteni, hogy mennyi hanyzik a memoriabol. Talan igy feny derulhet valamire. Elso korben a weblap legyen minimum. Akkor kiderul mennyi szabad memoriat hagy a progi.
ugyan már oldalakkal ezelőtt történt, de azért ide firkálom, hátha valakinek hasznos ....
a xxXxxxi.lkr linker fájlok kizárólag ICD2 Debuggoláshoz vannak, minden más esetben i- nélküli linkert használjatok ! Különben bazi sok gond adódhat... üdv és jó építgetést mindenkinek
Köszönöm a válaszokat. Az optimalizáló be van kapcsolva, lefordítottam a projectet 18F4523-ra, így 10182 K utasítás helyet és 940 B RAM-ot használ a program, ebben benne van az FTP, HTTP szerver és a weblap is.
Meg egy hozzafuzes! A linker fajlba erdemes betekiteni. Hatha van benne sok-sok protected resz. Ide akkor nem tud forditani es ido elott kifut a memoria.
Sziasztok!
Végülis valóban a RAM volt szűkös, csak az 1 K -nál nagyobb memóriájú PIC-ekbe hajlandó lefordulni, szóval vettem egy 18F2620-t. Műkődik is, de van egy probléma amivel nem igazán tudok mit kezdeni: ha a routeremen keresztül próbálom elérni a PIC-es szervert nagyon lassú és sokszor hibás az átvitel, pl. ping re a válaszokból általában több is elveszik, az ftp kapcsolat mindig megszakad stb. Ha a gépemmel közvetlenül kötöm össze egy cross kábellel akkor rendesen gyorsan megy minden. Remélem van valami ötletetek, előre is köszi.
Sziasztok!
Bütyköli még valaki ezt a kontrollert? Nekem most lesz aktuális hogy elővegyek egyet. Ha még nem lenne meg, akkor itt a 4.02 verziós Microchip TCP/IP stack. TCPIPstack 4.02 |
Bejelentkezés
Hirdetés |