Welcome, Guest. Please login or register.


Author Topic: ETHERNET (Read 6248 times)

Offline Tuby128

  • EP lover
  • *
  • Posts: 960
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
ETHERNET
« on: 2015.April.01. 21:15:24 »
Figyelem azt, hogy egyre inkább szükség lenne ethernet kapcsolatra az ENTERPRISE számítógépen.

 Azt találtam ki, hogy egy olyan külső egység készülne, ami egyből a memóriába másolná a ETHERNET-ről érkező IP alapú jeleket.

- Tehát kijelölnék a memóriában egy adott 16K-ás lapot ahol a fogadó puffer lenne, és egy másik 16K-ást ami a küldő puffer.
- Minden 16K-s lap első 32 byte-ja lehetne ún. "memóriában leképzett I/O" amivel vezérelhető lenne a kommunikáció.
- A lapok és vele a memória helye változtatható lenne
- A külső kártya megszakítást generál, ha beérkezett a csomag.
- A memória kettős hozzáférésű lenne, tehát az EP-nek nem kell várakoznia az ETHERNET egységre (és fordítva sem)
- Megadható lenne IP szűrés amivel nem árasztódik el a memória felesleges dolgokkal
- A puffer ciklikus lenne, tehát ha eléri a végét, kezdené az elejétől, legrosszabb esetben felülírja a régebbi adatokat
- A puffer felülírása felfüggeszthető lenne a vezérlőbitekkel
- Egy pointer mindig a legutoljára érkezett csomag első byte-jára mutatna

Előnyök:
 - Mivel egyből a memóriába érkezik az adat, nem kell I/O utasításokkal bajlódni
 - Mivel egyből a memóriába érkezik az adat, helyben lehet vizsgálni nem kell másolgatni
 - Mivel memóriába leképzett I/O utasításokkal működik a rendszer, minden gépen tud működni
 - 254*254*254*254 azaz kb. 4.1 milliárd db EP lenne összeköthető
 - Az EP forever oldal hozzászólásai elérhetőek lennének

Mindehhez szoftveres kéne, aki aztán integrálná az EP rendszerébe.

Offline Tuby128

  • EP lover
  • *
  • Posts: 960
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
Re: ETHERNET
« Reply #1 on: 2015.April.01. 22:39:02 »
Azon filozom, hogy mi kell ahhoz, hogy egy gephez csattolt cucc irjon az EP memoriajaba ... Egyreszt mondjuk Z80-at le lehet "tiltani", ha jol kepzelem el talan a BUSREQ-val, es a BUSACK jelzi hogy mehet is mar. Amde VRAM eseten ugye a Nick is olvassa rendszeresen, tehat ott arra is vigyazni kell. Ha most pillanatra elfelejtjuk a VRAM-ot, es az nem focizik, mi van a tobbi RAM-al? Teljesen az "enyem" olyankor, vagy ki/mi fogja a DRAM-okat pl frissiteni?

Amennyire tudom, a Z80 megoldja ezt ugye (lasd R regiszter), amde mi tortenik ha "BUSREQ aktiv allapotban van"? Stb ...

 Látom LGB régebben (másutt) gondolkodtál már te is a dolgon. Ez a probléma úgy oldható meg, ha a memória a bővítőn van, és a Z80 írja és olvassa. Mivel a mai RAM-ok piszok gyorsak, lehet két Z80 hozzáférés közé tenni a memóriamanipulációt, vagy pedig dual port (azaz két egymástól független hozzáférés).

Offline lgb

  • EP addict
  • *
  • Posts: 3535
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 37.0 Firefox 37.0
    • View Profile
    • http://lgb.hu/
Re: ETHERNET
« Reply #2 on: 2015.April.01. 23:22:42 »
Ha megnezed pl a "wiznet ..." temat az angol Hardware resznel ... Mint irtam, van is egy ilyen stuffom, es eleve memoria jelleggel is megszolithato amugy (de van indirect csak par I/O portot hasznalo uzemmodja is), es nem utolsosorban, "hardware-bol" tud TCP/IP-t. Tovabbi elony, hogy ugy tunik, SymbOS (lasd a megfelelo angol topic) MSX-en hasonlo chip-el epulo megoldast fog tamogatni, igy egyszeru(bb) lesz Ep-n is tamogatni majd. Ami meg volt a temaban, az reszemrol az ENC28J60, ami kis "aranyos" DIP tokozassal is elerheto cucc, egyszeru mint a faek, cserebe persze nem tud TCP/IP-t, irhatsz egy tcp/ip stack-et Z80-ra, es SPI protokolt hasznal (ami nem feltetlen hatrany, lasd SD cardridge sem epp lassu, ha jol remlik 16MHz-es SPI clock-al megy, igaabol parhuzamos, Z80 buszon se tudna Z80 nagyobb savszelesseget realizalni adatatvitelre 4MHz-en ...). Ezen kivul meg felmerult az ESP8266 modul, ami kb "filleres", soros porttal erheto el, viszont wifi-t tud a cucc, es ott is mindent megold, nem neked kell tcp/ip stack-et irni.

Ez persze nem teljesen ugyanaz, amiket te irsz, meg a wiznet-es megoldas sem. Ketseges azonban, hogy kell-e ennyire speci megoldas, ha mar legalabb ugy tunik ez  a Wiznet pl MSX-es temaban is fellelheto, es mashol is olvastam rola "retro" korokben, nagyobb a "kb tavolrol legalabb hasonlit" faktor lehetosege :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13748
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 36.0 Firefox 36.0
    • View Profile
    • http://enterprise.iko.hu/
Re: ETHERNET
« Reply #3 on: 2015.April.01. 23:39:24 »
Ha jól tudom Bruce is dolgozik valamelyik verzión. Lehet, hogy nem ártana összebeszélnetek, mert 3 különböző megoldásnak nincs túl sok értelme :oops:
Én a legtöbb értelmét annak az MSX félével kompatibilis cuccnak látnám.

Offline lgb

  • EP addict
  • *
  • Posts: 3535
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 37.0 Firefox 37.0
    • View Profile
    • http://lgb.hu/
Re: ETHERNET
« Reply #4 on: 2015.April.01. 23:46:50 »
Ha jól tudom Bruce is dolgozik valamelyik verzión. Lehet, hogy nem ártana összebeszélnetek, mert 3 különböző megoldásnak nincs túl sok értelme :oops:
Én a legtöbb értelmét annak az MSX félével kompatibilis cuccnak látnám.

Igen, ha jol remlik, o is wiznet-es dolgon gondolkozik, ami crossplatform kompatibilitas (vagy legalabbis hasonlosag ...) miatt is erdekes lehet MSX/SymbOS tema kapcsan is ...

Offline Tuby128

  • EP lover
  • *
  • Posts: 960
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
Re: ETHERNET
« Reply #5 on: 2015.April.01. 23:57:13 »
Átfutottam a Wiznet W5300-as adatlapját. Azt írja az elején, hogy kezdőknek is könnyen programozható, aztán később lábak és táblázatok ezrei vannak több tíz oldalon felsorakoztatva.
 Azt gondolom, hogy ha lenne hozzá egy "Getting started" könyv, és sok-sok példa szoftver, akkor azonnal vennék belőle 100-at. De nem olyan egyszerű ám a dolog. Én a témanyitáskor pont az ENC28J60-ra gondoltam. Azt lehetne SPI-Parallel átalakítóval, és memóriába leképzett I/O-val kezelni.
 Szerintem az IP stack nem bonyolult, főleg az UDP csomagok pofonegyszerűek, bár a TCP sokkal gyakoribb. Ez utóbbinál van, hogy nyugtázni kell minden üzenetet.
 Én úgy gondolom, hogy jobb ha a számítógép végzi a IP keret felépítését, mert akkor pontosan tudja a programozó, hogy mit küld el.

 Olyan nagy baj lenne, ha többféle Ethernet interfész lenne? Legalább lenne miből választani, és az egyik tolná le a másik árát. Továbbá, ha az egyik IC-t nem lehetne már kapni akkor ott a másik típus.

Offline lgb

  • EP addict
  • *
  • Posts: 3535
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 37.0 Firefox 37.0
    • View Profile
    • http://lgb.hu/
Re: ETHERNET
« Reply #6 on: 2015.April.02. 00:19:46 »
Olyan nagy baj lenne, ha többféle Ethernet interfész lenne? Legalább lenne miből választani, és az egyik tolná le a másik árát. Továbbá, ha az egyik IC-t nem lehetne már kapni akkor ott a másik típus.

Bajnak nem baj, marmint az biztos, hogy tobbet hasznal ez is, mint art :) Azert megjegyzem, hogy hasznalhato tcp/ip stack-et irni nem trivialis, tudom, mert irtam mar C64-re (igaz, teljesen nem keszultem el vele soha). Sima ethernet frame, IP, meg UDP packet az tenyleg nem bonyolult, a "problema" a TCP-vel jon be javareszt, 3-way handshake, meg amugy is mindenfele fragmentacio, tcp window, kapcsolodo icmp uzenetek, miegymas. Az ENC28J60 kapcsan pedig anno az almom az volt (bar nem is kezdtem bele, szoval tenyleg csak alom!) amikor meg nem volt SD cartridge sem: csinalni egy "generic" SPI interface-t (ami esetleg i2c-t is tudna) es egy rakas cucc van, ami SPI-al (vagy i2c-vel, pl a 200ft-os RTC  chip es hasonlok) elerheto, es mind raakaszthato, az SD kartyatol egeszen az emlitett ENC28J60-ig pl. Megfeleloen gyors SPI clock eseten siman nem lesz szuk keresztmetszet egy EP-n az a teny, hogy az SPI soros :) Masik szokasos "bilibe log a kezem" jellegu almom az volt, hogy USB host (vagy otg ...) kene EP-be, az SD kartya sem rossz, de azert a mass storage USB protokollal mehetne sima pendrive, de meg akar USB-s vinyo, az emlitett protokolt ismero digitalis fenykezogep es/vagy telefon, akarmi mas is (itt gond lehet mondjuk, hogy EXDOS szinten a FAT12 nem feltetlen eleg egy atlag letezo eszkozon, bar nyilvan azt is ra lehet tenni). Volt is vmi kinai CH... vagy milyen fedonevu IC, ami ilyen USB-s dolgokban segit, de ehhez meg kevebe ertek, mint mashoz :)

Amugy az emlitett w5300 wiznet cuccos az, ami MJ830 vagy milyen neven "kesz modulkent" is kaphato (rajta rj45, minden ami kell) kb 6HUF-nyi osszegert (nekem is van) es ranezesre kb Z80 szeru buszra egy az egyben raakaszthato lenne pl, minimalis koritessel (amin filoztam, hogy a 3.3V vs 5.0V logikai jelszint esete, bar lehet amugy elmenne igy is, mintha azt irnak, hogy 5V tolerant input-ra a cucc, hat output-ban meg "talan" igy is elviszi - bar ez kevesbe korrekt mernoki hozzaallas az is igaz, hehe).

Na mind1, szoval szerintem az sem baj, ha van sokfajta, meg mindig jobb, mintha semmi nem lenne :) Bar en hasonloan gondolkoztam mint te (kb pont azokat amit leirtal!), mara kicsit valtozott a velemenyem, de ez lehet az en lustasagom miatt is felig-meddig, hogy elvileg egy ilyen fenti modullal joval gyorsabban celt lehetne erni, es sw-ben is egyszerubb lenne.