Embedded Systems September 2000 Vol13_10

Issue link:

Contents of this Issue


Page 75 of 229

CONNECTING ••• • Unfortunately, the implementation of fragmentation and reassembly is extremely cumbersome. Adding just this one feature to the IP layer would approximately double the amount of code (and code complexity) of the entire llC/Net stack! ets of data you want to send and rece ive fit within that maximum size- as is the case in the majori ty of embedded appl ications requiring only limited connectivity-pC/ Net will do the j ob handily. If, howeve r, you want to send even a single 1,501- byte frame, you ' ll run into trouble. A more complete IP layer imple- A MORE POWERFUl AlTERNATIVE TO =--TROllERS Design your custom micro- processor-based board around the Rabbit 2000™ Core Module. The core module is based on the new Rabbit 2000 microprocessor, and can ha ndle programs of up $29qty 100 $39qty one to 50,000 C statements. Benefit f rom easy and rapid development with th is low-cost solution! RABBIT 2000™ CORE MODULE FEATURES • • • • • • • • • • 40 1/0 pins 4 serial ports 7 timers Battery-backed time/date clock 128K-512K SRAM 256K flash Clock up to 25.8MHz Slave port Remote cold boot Excellent math processing mentation would include a feature called fragmentation and reassembly. The idea that underlies this feature is simple: payloads too large to be sent over the physical network all at once should be spli t up across multiple frames (fragmented) and reassembled at the receiving end. The IP header field f r agment can be used by the stacks on the two ends to coordinate this process. Unfortunately, the implementa- Make t he Rabbit 200QTM Core Module t he heart of your custom board design . "A low-cost manufacturing license is also avai lable. tion of fragmentation and reassem- bly is extremely cumbersome. Adding just this one feature to the IP layer wou ld approxima tely double the amount of code (and code com- plexity) of the entire pC/ Net stack! For that reason, I've made the deci- sion not to support fragmentation and reassembly at all at this time. If the UDP layer attempts to send a packet that is too large, the IP layer will simply truncate the data to IP _DATA_LEN bytes and send that instead. If a remote computer frag- ments and then sends a large packet to a computer running pC/ Net, the incoming data will appear to the client or server application as though it were actually multiple unrelated packets of information, rather than one really large one. (A poorly coded application could get confused by this, so beware.) Sending and receiving complete Dynamic co software development system (not a tr ial version), PC serial cable for real -time Includes core module, prototyping board, debugging, and documentation on CD·ROM Order the Rabbit 2000™ Core Module Kit online at or call 530.7S7.8400 2932 Spafford Street, Davis, CA 95616 • Fax 530.757.8402 By now you must be wondering what IP fea tures I have implemented . Ultimately, the IP layer is just respon- sible for sending and receiving IP packe ts. Listing 2 shows the code fo r NetlpSnd( ), which does the sending. The IP packets resulting from this function call should make sense to any 1Pv4 system to which th ey are sent. That's the beau ty of a more lim- ited implementation of the protocol: 74 SEPTEMBER 2000 Embedded Systems Programming

Articles in this issue

Archives of this issue

view archives of EETimes - Embedded Systems September 2000 Vol13_10