LM3S6965 lwIP TCP throughput

LM3S6965 lwIP TCP throughput

Atbildētlietotājs jeecha rakstīja 27 Marts 2010, 23:37

Kaads varbuut ir speeleejies ar sho vai kaadu citu no taas pashas saimes kontrolieriem.
Kaadam ir izdevies vairaak par 2Mbit/s vienaa virzienaa caur lwIP TCP izspiest? Un tie 2Mbit/s arii peec lwIP buferu izmeeru/skaita "tjuuneeshanas" un maksimaalaas optimizaacijas kompilatoraa (-O3). UDP darbojas aatraak (tas gan ir saprotami, tur krietni mazaaks "tusinsh" kodaa), bet iisti negribaas kjeepaaties ar pakeshu pazushanu savaa kodaa. uIP staks ir "plaanaaks", bet prieksh TCP vinsh iisti nedar lielam datu apjomam - deelj nespeejas vienlaiciigi gaidiit ACKus uz vairaakaam izsuutiitaam TCP/IP pakaam.

Testa kods - minimaalistisks TCP serveris uz EK-LM3S6965 plates un TCP klients uz PC.

Pagoogleejot nekaadi konkreeti ieteikumi neatradaas. Vieniigi paaris vietaas mineeti cipari uz 100Mhz ARM9 (protams manam kontrolierim ir krietni mazaak atminjas buferiem, un takts arii tikai 50Mhz), kas ir par kaartu lielaaki.
jeecha
Elektroniķis
 
Atbildes: 552
Pievienojies: 15 Oktobris 2007, 18:38

Re: LM3S6965 lwIP TCP throughput

Atbildētlietotājs 0xDEAD BEEF rakstīja 28 Marts 2010, 10:42

UDP ir cik ātrāks? ;)
Beefs
Lietotāja avatārs
0xDEAD BEEF
Elektronikas fanāts
 
Atbildes: 1045
Pievienojies: 17 Janvāris 2007, 11:29

Re: LM3S6965 lwIP TCP throughput

Atbildētlietotājs jeecha rakstīja 28 Marts 2010, 14:13

Uz konkreetaa kontroliera sanaaca kautkur 6Mbit/s, suutot datus no PC uz kontrolieri un skaitot sanjemtos baitus kontrolierii.

Konkreetajaa projektaa kontrolieris veiks faktiski TCP->SPI vienvirziena translaaciju ar nelielu datu paarorganizaaciju pa vidu. Nepiecieshamais aatrums ir aptuveni 500kbit/s. Itkaa ar 2Mbit/s ko man izdevaas izspiest no lwIP TCP staka vajadzeetu pietikt, bet kautkaa biju cereejis ka tomeer bez iipashaam izvirtiibaam varees izspiest vairaak, liidz ar to vairaak CPU paliks paari citiem uzdevumiem.
jeecha
Elektroniķis
 
Atbildes: 552
Pievienojies: 15 Oktobris 2007, 18:38

Re: LM3S6965 lwIP TCP throughput

Atbildētlietotājs 0xDEAD BEEF rakstīja 28 Marts 2010, 18:34

Nu ja tīkls iet uz 100Mbps, tad jāsaprot, ka problēma nav čipā. Paskaties ar wireshark, kā pakas veidojas. 50Mhz ar SPI? Tur tak ar galiem tu to trafiku mēģini izspiest! :)
TCP ir tāda figņa, ka send ir izpildijies tikai tad, kad ACK ir atnācis uz to paku. Nebrīnītos, ja tas ir viens no iemesliem, kas to visu bremzē. Pamēģīni arī pakas izmēru palielināt. Maksimālā paka ir 64Kb.
Par doto kontrolieri neko nezinu, bet ar 50Mhz izcelt 10Mbps ir tīrais sīkums! ;)
Beefs
Lietotāja avatārs
0xDEAD BEEF
Elektronikas fanāts
 
Atbildes: 1045
Pievienojies: 17 Janvāris 2007, 11:29

Re: LM3S6965 lwIP TCP throughput

Atbildētlietotājs jeecha rakstīja 30 Marts 2010, 03:10

Mljem, shodien secinaaju ka esmu izgaazies kaa taads pilniigs Epis.
Shovakar meegjinaaju izpeetiit kaadeelj SSI seriaalais nespeej izdot vairaak kaa 4Mhz. Saaku peetiit kaada oscilatora konfiguraacija tad preciizi sanaak visiem EK-LM3S6965 sampljiem - un protams, tajos visus kontrolieris tiek klokots apejot PLL pa taisno no kristaala (8Mhz). Tad nu palaidu ar PLL uz 50Mhz un tagad arii TCP konekti ar lwIP trenkaa virs 20Mbit/s.

Vispaar interesanti, kaada vella peec vinji savos koda paraugos darbina ar 8Mhz ja kontrolieris ir liidz 50Mhz.
jeecha
Elektroniķis
 
Atbildes: 552
Pievienojies: 15 Oktobris 2007, 18:38


Atgriezties uz ARM mikrokontrolleri

Kas ir Pieslēdzies

Lietotāji, kuri atrodas šajā forumā: Nav reģistrētu lietotāju un 1 viesis