




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
把握机会, 创造奇迹,嵌入式tcp/ip协议栈,2007-06-26,2,主要内容,嵌入式internet的应用背景和特点 嵌入式设备接入internet的方法 嵌入式tcp/ip协议栈 硬件tcp/ip协议栈 基于rtos的软件tcp/ip协议栈,3,嵌入式internet的应用背景,嵌入式系统已经广泛的应用在工业自动化、智能仪表、信息家电、虚拟现实机器人、环境工程等领域。 大多数嵌入式系统仍处在单独应用的阶段, 为了实现多个嵌入式系统之间的信息共享和交流,目前主要利用各种现场总线技术将它们组网。但这种网络存在如下缺点:有效半径短、有关的通信协议少、缺乏统一的标准,并且一般都孤立于internet之外。 嵌入式internet是嵌入式技术和internet技术相结合的产物。它既保留了嵌入式设备的小巧、智能、可编程的特点,又借助internet把对现场设备的控制延伸到地球上几乎任何一个角落。 嵌入式internet实现远程控制、数据采集、嵌入式设备程序更新,,4,嵌入式internet的特点,硬件资源有限; 实时性; 设备分散和移动; 程序固态化存储; tcp/ip协议的可裁剪性; tcp/ip协议的可移植性; tcp/ip协议代码精简。,5,嵌入式internet的应用背景和特点 嵌入式设备接入internet的方法 嵌入式tcp/ip协议栈 硬件tcp/ip协议栈 基于rtos的软件tcp/ip协议栈,6,轻量级网络,嵌入式设备接入internet的方法(一),嵌入式设备网关接入方式 网关实现tcp/ip协议、服务器功能、internet到轻量级(light weight)网络的协议转换和路由功能。 网关可以是pc或专用设备; 解决低端嵌入式设备接入internet的需求; 嵌入式设备和网关不便移动; 对于比较分散的嵌入式设备,受距离限制,需要多个网关,实现成本将会增加。,网关,internet,嵌入式 设备1,嵌入式 设备n,rs232,usb rf 红外,客户端,7,嵌入式设备接入internet的方法(二),嵌入式设备直接接入internet 16/32位微控制器; 硬件芯片固化tcp/ip协议栈;或 软件实现tcp/ip协议栈; 可灵活实现协议栈; 开发复杂度高,开发周期长; 嵌入式设备价格高; 嵌入式internet设备充当“瘦(thin)服务器”。,以高档微控制 器为核心的 嵌入式系统,internet,客户端,8,嵌入式internet的应用背景和特点 嵌入式设备接入internet的方法 嵌入式tcp/ip协议栈 硬件tcp/ip协议栈 基于rtos的软件tcp/ip协议栈,9,典型的tcpip协议栈,dhcp,smtp,snmp,http,ftp,udp,tcp,icmp,ip,ppp,slip,arp,modem,usart,ethernet,应用层,链路层,网络层,传输层,10,应用层和传输层,应用层协议 dhcp:动态配置ip地址; smtp:邮件收发; snmp:收集网络管理信息; http:web浏览; ftp:数据上传和下载。 传输层协议 udp:用于实时性要求较高、可靠性要求较低的设备; tcp:用于实时性要求较低、可靠性要求较高的设备。,11,网络层和链路层,网络层协议 ip:必须实现; icmp:只需实现ping命令。 链路层协议 ppp ip包分割成帧,接收物理层比特率封装成帧; 建立、配置和测试链路的链路控制协议lcp; 网络控制协议ncp支持不同网络层协议:ip、decnet、appletalk等; slip:面向不超过19.2kbps的低速串行线路,仅支持ip协议;(modem的传输速率在1.2kbps到19.2kbps) arp:通常必须实现,解决寻址问题。,12,嵌入式internet的应用背景和特点 嵌入式设备接入internet的方法 嵌入式tcp/ip协议栈 硬件tcp/ip协议栈 基于rtos的软件tcp/ip协议栈,13,wiznet硬件协议栈芯片w3100a-lf 的内部结构,14,w3100a-lf的主要性能特点,硬件协议栈包括tcp、ipv4、udp、icmp、arp; 支持硬件以太网协议dlc和mac; 同时支持四路独立的网络连接; 支持ping命令; 协议处理速度达到全双工45mbps; 支持intel/motorola mcu总线接口; 支持i2c接口; 带有标准的mii接口,可连接底层以太网接口芯片; 可提供socket api加速应用程序开发; 支持全双工模式; 其内建16kb双口ram可作为数据缓冲区; 采用035m cmos制造工艺。,15,w3100a直接总线连接方式,8数据线,15地址线; 占用mcu资源较多。,16,w3100a间接总线连接方式,8数据线,2地址线; a14:4接地为0,a3:2接上拉电阻置为1。,17,w3100a i2c总线连接方式,scl和sda接上拉电阻置为1; a14:8设置为i2c设备地址,a7:0接地设置为0。,18,嵌入式internet的应用背景和特点 嵌入式设备接入internet的方法 嵌入式tcp/ip协议栈 硬件tcp/ip协议栈 基于rtos的软件tcp/ip协议栈,19,arm+enc28j60+uc/os+lwip实现实例,arm mcu,enc28j60,uc/os-ii,网络接口驱动,lwip协议栈,应用程序(网络或非网络),20,microchip的以太网控制器enc28j60,21,enc28j60的七个主要功能模块,spi 接口充当主控制器和enc28j60 之间通信通道。 总线接口对通过spi 接收的数据和命令进行解析。 控制寄存器用于控制和监视enc28j60。 双端口ram缓冲器用于接收和发送数据包。 判优器当dma、发送和接收模块发出请求时对ram 缓冲器的访问进行控制。 mac (medium access control)模块实现符合ieee 802.3 标准的mac 逻辑。 phy(物理层)模块对双绞线上的模拟数据进行编码和译码。 该器件还包括其他支持模块,诸如振荡器、片内稳压器、电平变换器(提供可以接受5v 电压的i/o 引脚)和系统控制逻辑。,22,enc28j60的典型连接方式,mcu和enc28j60通过spi接口连接; 在mcu之上构建rtos和tcp/ip协议栈。,23,uc/os的特点,公开源代码; 可移植; 可固化; 可裁剪; 多任务:最多64个任务,不同优先级; 抢占式:始终运行最高优先级的任务; 函数调用和服务执行时间具有可确定性; 任务栈; 系统服务:信号量、标志组、邮箱、队列、内存管理、时间相关函数等; 中断管理; 稳定性和可靠性。,24,lwip,light weight internet protocol 由瑞典计算机科学学院计算机和网络体系结构实验室的adam dunkels在2001年开发. 源码公开; 可移植; 代码精简,占用几十kb的ram和40kb左右的 rom; 既可移植到操作系统上,也可以在没有操作系统的情况下独立运行。,25,lwip支持的协议,ip (internet protocol) including packet forwarding over multiple network interfaces. icmp (internet control message protocol) for network maintenance and debugging. udp (user datagram protocol) including experimental udp-lite extensions. tcp (transmission control protocol) with congestion control, rtt estimation and fast recovery/fast retransmit. specialized raw api for enhanced performance optional berkeley-alike socket api. dhcp (dynamic host configuration protocol). ppp (point-to-point protocol). arp (address resolution protocol) for ethernet.,26,uc/os到arm的移植,参见www.m, microc/os-ii: the real-time kernel,second edition,jean j. labrosse,27,lwip到arm和uc/os的移植,移植 lwip需实现cc.h、cpu.h、perf.h、sys_arch.h和sys_arch.c文件,保存到lwip-x.x.x/arch 目录下。 cc.h 定义与体系结构环境、编译器、平台等相关的内容。其中有 lwip 基本数据类型定义、数据结构包装方法定义、调试诊断和打印输出定义等。通过 cc.h 使得 lwip 实现与平台无关。 cpu.h定义与cpu相关的内容。 perf.h定义性能测量的操作。 操作系统封装层:为了增强移植性,lwip专门把和操作系统有关的数据结构和函数放在一起组成操作系统封装层,为定时、进程同步和消息传递等操作系统服务提供统一lwip接口,这些是由sys_arch.h和sys_arch.c实现的。,28,lwip操作系统封装层实现,sys_arch.h主要定义与操作系统相关的数据结构信号量、邮箱和进程号 lwip中的信号量对应uc/os中的信号量; lwip中的邮箱对应uc/os中的消息队列; lwip中的进程对应uc/os中的任务; 信号量用于进程(任务)同步,消息队列用于进程(任务)的通信。 sys_arch.c中要实现和操作系统有关的函数,包括: 系统的初始化; 信号和邮箱的操作创建、删除、发送和请求; 定时器操作; 这些函数只需要用uc/os -ii中相应的函数进行重新封装即可。,29,lwip网络设备驱动,在lwip中可以有多个网络接口,每个网络接口对应一个struct netif结构,这个netif包含了相应的网络接口的属性、初始化、中断处理函数、收发函数。 void ethernetif_init(struct netif *netif); void ethernetif_input(struct netif *netif); err_t ethernetif_output(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr); void ethernetif_isr(void); 在lwip/netif/ethern
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞机外勤仪表、电气工职业素养考核试卷及答案
- 打击乐器制作工岗位应急处置技术规程
- 石英晶体滤波器制造工协助他人积极性考核试卷及答案
- 2025房产贷款借款合同
- 2026届河南省淮阳县数学九上期末检测模拟试题含解析
- 个人土地承包合同范例
- 山东省无棣县2026届数学八年级第一学期期末监测模拟试题含解析
- 广东省深圳市光明区2026届数学七年级第一学期期末预测试题含解析
- 2025年物联网MQTT协议性能评估试卷
- 兽医专业知识培训课件
- 江苏省宿迁市沭阳县第一次城乡联考2026届九年级上学期9月月考语文试卷(含答案)
- 颅脑外伤创伤课件
- 生活委员课件
- 民事赔偿赔协议书
- 成人术中非计划低体温预防与护理-中华护理学会团体标准
- 2025春江苏开放大学教师发展与职业道德过程性作业二参考答案
- 防蛇安全小常识中班
- WiFi6基础知识培训
- 文学名著红楼梦故事解读
- 非口服药物的吸收(生物药剂学与药物动力学课件)
- 七年级语文上册课外阅读之《朝花夕拾》读书分享课件
评论
0/150
提交评论