Man kan slippa TCP om man ändå bara ska jobba med fråga-svar baserad kommunikation som verkar vara fallet här. Då duger UDP precis lika bra och är betydligt enklare att skriva kod stack för.
Det är om funktionen är tillräcklig som är avgörande, inte erratans längd. Men om chippet får problem när nätverket nyttjas mer än 50% så.. är det ett problem. Liksom om den kräver pollning istället för interrupt osv.
Ett chip med inbyggd TCP kan också göra en låst till ett visst chip. Inget bra vid EOL, svårt inköp, kunna ta vad som råkar finnas osv.
Kommunikation via Ethernet
Re: Kommunikation via Ethernet
blueint: hur många ethernetchip kan du lista upp som är helt kompatibla med varandra?
Jag lägger min röst på w5200, behövs som sagt ingen TCP/IP kod i µC, men saker som dns/dhcp osv får du ju koda själv (eller sno på nätet..)
Jag lägger min röst på w5200, behövs som sagt ingen TCP/IP kod i µC, men saker som dns/dhcp osv får du ju koda själv (eller sno på nätet..)
Re: Kommunikation via Ethernet
Om det är ens egna server man ska prata mot och om man har hygglig koll på nätverksprogrammering så behöver man inte ens köra IP om man inte vill.
Det torde dock vara en rätt liten vinst på att köra något annat hemsnickrat jämfört med IP+UDP.
Om man bara ska använda grejerna i "eget sammanhang" så kan man skippa en hel del "obligatoriska" grejer i IP+Ethernet. Man kan t.ex. tvinga in hembyggets mac-adress i serverns arp-tabell istället för att svara på arp i hembygget. Man kan skippa merparten av ICMP (ping, traceroute, diverse felhantering o.s.v.) och som redan nämnts helt skippa TCP och bara köra UDP. Om allt sitter på samma subnät så kan man skippa stöd för routingtabell o.s.v. . Man kanske kan spara ytterligare lite kod på att bara ordna korrekta checksummor på utgående trafik men strunta i inkommande, men det är nog verkligen en liten vinst i kodstorlek eftersom det är samma checksummering för in- och utgående data.
Det torde dock vara en rätt liten vinst på att köra något annat hemsnickrat jämfört med IP+UDP.
Om man bara ska använda grejerna i "eget sammanhang" så kan man skippa en hel del "obligatoriska" grejer i IP+Ethernet. Man kan t.ex. tvinga in hembyggets mac-adress i serverns arp-tabell istället för att svara på arp i hembygget. Man kan skippa merparten av ICMP (ping, traceroute, diverse felhantering o.s.v.) och som redan nämnts helt skippa TCP och bara köra UDP. Om allt sitter på samma subnät så kan man skippa stöd för routingtabell o.s.v. . Man kanske kan spara ytterligare lite kod på att bara ordna korrekta checksummor på utgående trafik men strunta i inkommande, men det är nog verkligen en liten vinst i kodstorlek eftersom det är samma checksummering för in- och utgående data.
Re: Kommunikation via Ethernet
Hur många är det som ska tillverkas? om det är bara några få borde en Raspberry eller liknande bli billigare eller framförallt enklare.