# ARM mikrokontrolleri >  LM3S6965 lwIP TCP throughput

## jeecha

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.

----------


## 0xDEAD BEEF

UDP ir cik ātrāks?  :: 
Beefs

----------


## jeecha

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.

----------


## 0xDEAD BEEF

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

----------


## jeecha

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.

----------

