612f929e402a6acacc02af3b50a77ff8.ppt
- Количество слайдов: 39
Networking for Embedded Systems z. Why we use networks. z. Network abstractions. z. Example networks. © 2000 Morgan Kaufman Overheads for Computers as Components
Network elements distributed computing platform: PE PE communication link network PEs may be CPUs or ASICs. © 2000 Morgan Kaufman Overheads for Computers as Components PE
Networks in embedded systems initial processing more processing PE sensor PE actuator PE © 2000 Morgan Kaufman Overheads for Computers as Components
Why distributed? z. Higher performance at lower cost. z. Physically distributed activities---time constants may not allow transmission to central site. z. Improved debugging---use one CPU in network to debug others. z. May buy subsystems that have embedded processors. © 2000 Morgan Kaufman Overheads for Computers as Components
Network abstractions z. International Standards Organization (ISO) developed the Open Systems Interconnection (OSI) model to describe networks: y 7 -layer model. z. Provides a standard way to classify network components and operations. © 2000 Morgan Kaufman Overheads for Computers as Components
OSI model application end-use interface presentation data format session transport network end-to-end service data link reliable data transport physical © 2000 Morgan Kaufman application dialog control connections mechanical, electrical Overheads for Computers as Components
OSI layers z. Physical: connectors, bit formats, etc. z. Data link: error detection and control across a single link (single hop). z. Network: end-to-end multi-hop data communication. z. Transport: provides connections; may optimize network resources. © 2000 Morgan Kaufman Overheads for Computers as Components
OSI layers, cont’d. z. Session: services for end-user applications: data grouping, checkpointing, etc. z. Presentation: data formats, transformation services. z. Application: interface between network and end-user programs. © 2000 Morgan Kaufman Overheads for Computers as Components
Hardware architectures z. Many different types of networks: ytopology; yscheduling of communication; yrouting. © 2000 Morgan Kaufman Overheads for Computers as Components
Point-to-point networks z. One source, one or more destinations, no data switching (serial port): PE 1 PE 2 link 1 © 2000 Morgan Kaufman PE 3 link 2 Overheads for Computers as Components
Bus networks z. Common physical connection: PE 1 header © 2000 Morgan Kaufman PE 2 address PE 3 data PE 4 ECC Overheads for Computers as Components packet format
Bus arbitration z. Fixed: Same order of resolution every time. z. Fair: every PE has same access over long periods. yround-robin: rotate top priority among Pes. fixed A C A B C A round-robin B B C A A, B, C © 2000 Morgan Kaufman A, B, C Overheads for Computers as Components
Crossbar out 4 out 3 out 2 out 1 in 1 © 2000 Morgan Kaufman in 2 in 3 in 4 Overheads for Computers as Components
Crossbar characteristics z. Non-blocking. z. Can handle arbitrary multi-cast combinations. z. Size proportional to n 2. © 2000 Morgan Kaufman Overheads for Computers as Components
Multi-stage networks z. Use several stages of switching elements. z. Often blocking. z. Often smaller than crossbar. © 2000 Morgan Kaufman Overheads for Computers as Components
Message-based programming z. Transport layer provides message-based programming interface: send_msg(adrs, data 1); z. Data must be broken into packets at source, reassembled at destination. z. Data-push programming: make things happen in network based on data transfers. © 2000 Morgan Kaufman Overheads for Computers as Components
I 2 C bus z. Designed for low-cost, medium data rate applications. z. Characteristics: yserial; ymultiple-master; yfixed-priority arbitration. z. Several microcontrollers come with built-in I 2 C controllers. © 2000 Morgan Kaufman Overheads for Computers as Components
I 2 C physical layer master 1 data line SDL clock line SCL slave 1 © 2000 Morgan Kaufman master 2 Overheads for Computers as Components slave 2
I 2 C data format SCL . . . SDL . . . start © 2000 Morgan Kaufman MSB Overheads for Computers as Components . . . ack
I 2 C electrical interface z. Open collector interface: + SDL + SCL © 2000 Morgan Kaufman Overheads for Computers as Components
I 2 C signaling z. Sender pulls down bus for 0. z. Sender listens to bus---if it tried to send a 1 and heard a 0, someone else is simultaneously transmitting. z. Transmissions occur in 8 -bit bytes. © 2000 Morgan Kaufman Overheads for Computers as Components
I 2 C data link layer z. Every device has an address (7 bits in standard, 10 bits in extension). y. Bit 8 of address signals read or write. z. General call address allows broadcast. © 2000 Morgan Kaufman Overheads for Computers as Components
I 2 C bus arbitration z. Sender listens while sending address. z. When sender hears a conflict, if its address is higher, it stops signaling. z. Low-priority senders relinquish control early enough in clock cycle to allow bit to be transmitted reliably. © 2000 Morgan Kaufman Overheads for Computers as Components
I 2 C transmissions multi-byte write S adrs 0 data 1 data P 0 data S P read from slave S adrs write, then read S © 2000 Morgan Kaufman adrs Overheads for Computers as Components 1 data P
Multiprocessor networks z. Multiple DSPs are often connected by high -speed networks for signal processing: DSP © 2000 Morgan Kaufman DSP Overheads for Computers as Components
SHARC link ports z. Six per CPU. z. Four bits per link port. z. Packets have 32 - or 48 -bit payload. z. Can be controlled by DMA. z. Are half-duplex---must be turned around by program. © 2000 Morgan Kaufman Overheads for Computers as Components
Ethernet z. Dominant non-telephone LAN. z. Versions: 10 Mb/s, 100 Mb/s, 1 Gb/s 10 Gb/s. z. Goal: reliable communication over an unreliable medium. © 2000 Morgan Kaufman Overheads for Computers as Components
Ethernet topology z. Bus-based system, several possible physical layers: A © 2000 Morgan Kaufman B Overheads for Computers as Components C
CSMA/CD z. Carrier sense multiple access with collision detection: ysense collisions; yexponentially back off in time; yretransmit. © 2000 Morgan Kaufman Overheads for Computers as Components
Exponential back-off times time © 2000 Morgan Kaufman Overheads for Computers as Components
Ethernet packet format preamble © 2000 Morgan Kaufman start frame source adrs dest data length padding CRC adrs payload Overheads for Computers as Components
Ethernet performance z. Quality-of-service tends to non-linearly decrease at high load levels. z. Can’t guarantee real-time deadlines. However, may provide very good service at proper load levels. © 2000 Morgan Kaufman Overheads for Computers as Components
Internet Protocol z. Internet Protocol (IP) is basis for Internet. z. Provides an internetworking standard: between two Ethernets, Ethernet and token ring, etc. z. Higher-level services are built on top of IP. © 2000 Morgan Kaufman Overheads for Computers as Components
IP in communication application presentation session transport IP transport network data link physical node A router node B © 2000 Morgan Kaufman Overheads for Computers as Components
IP packet z. Includes: yversion, service type, length ytime to live, protocol ysource and destination address ydata payload z. Maximum data payload is 65, 535 bytes. © 2000 Morgan Kaufman Overheads for Computers as Components
IP addresses z 32 bits in early IP, 128 bits in IPv 6. z. Typically written in form xxx. xx. z. Names (foo. baz. com) translated to IP address by domain name server (DNS). © 2000 Morgan Kaufman Overheads for Computers as Components
Internet routing z. Best effort routing: ydoesn’t guarantee data delivery at IP layer. z. Routing can vary: ysession to session; ypacket to packet. © 2000 Morgan Kaufman Overheads for Computers as Components
Higher-level Internet services z. Transmission Control Protocol (TCP) provides connection-oriented service. z. Quality-of-service (Qo. S) guaranteed services are under development. © 2000 Morgan Kaufman Overheads for Computers as Components
The Internet service stack FTP HTTP SMTP telnet TCP UDP IP © 2000 Morgan Kaufman SNMP Overheads for Computers as Components User Datagram Protocol
612f929e402a6acacc02af3b50a77ff8.ppt