首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» 基于OMAP的嵌入式TCP/IP开发(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于OMAP的嵌入式TCP/IP开发(2)
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2016-1-4 16:43
|
只看该作者
基于OMAP的嵌入式TCP/IP开发(2)
嵌入式
,
开发
LAN91C96 采用地址映射方式,通过访问Innovator为的指定地址对其存储器访问。LAN91C96的寄存器在Innovator内存中的地址分配为:0x08000300-0x0800030F。寄存器共有4组(BANK0-BANK3),使用相同的地址,通过BANK_SELECT寄存器选择。
4.2 移植过程
先实现该网卡芯片的驱动程序,再用它替换PC模拟器的以太网层,程序驱动主要包括以下三个部分:
(1)初始化:主要为Lan91C96的各寄存器填入正确的初始值使其正常工作。
(2)接收:如图5所示,由CSMA(载波侦听模块)接收到符合地址要求的后,MMU(存储器管理单元)为其请求在RAM中分配存储空间并分配一个编号,DMA 将其存入RAM。接着在接收数据的前面封装STATUS的化COUNT字节信息,如果CRC检测正确,则将其编号放入接收FIFO,如果接收FIFO不为空,则RCV_INT(接收中断标识)被设置。检查接收中断寄存器状态,如果就接收中断,对应其编号,上层协议便可以取出数据了,取出后,将该数据编号从 FIFO中清除。
状态字可以从RCR寄存器中读取,它反应了接收过程出现的各种措施,如CRC错误、接收帧过长等,数据包的编号从FIFO_PORTS寄存器中获得,而数据指针可从POINTER寄存器中获得,数据信息从DATA寄存器中得到,根据这些信息将接收数据包复制到CPU内存,供上层使用,接收函数的主要流程如图6。
(3)发送:图7描述了发送数据包FIFO中的排队过程,首先MMU在RAM中分配一定字节的存储空间,然后,将分配结果寄存器中的编号放入PNR 寄存器,写数据指针寄存器POINTER并将上层数据封装后拷入DATA寄存器,根据其编号放入发送FIFO,排队的包将自动发出,发出包的编号接着进入发送完成FIFO。如果发送成功,则存储空间自动释放;否则释放存储空间并将其重新排队。
5 实验结果
5.1 内存资源占用量
运行该TCP/IP协议栈需要3MB内存,而Innovator体32MB SDRAM 和32MB Flash,内存占用率为:3M/64M=4.7%,完全适用于
嵌入式
系统。
5.2 数据传输可靠性
TCP 利用以下机制纠错。数据的传输过程中的误码:检验和机制与重传机制,数据的重复,在接收端会自动舍弃已经接收过的数据包,并且不发ACK,故不会发生一个数据包接收多次的情况,数据包的丢失,接收端在接收完一段数据后,会计算下一个预期数据的序号,如果不符合就不发ACK,从而导致发端重发,避免了数据包的丢失,经测试,在未发生拥塞情况下,传输的误码率几乎为0。
5.3文件最大平均传输速率
下面就本程序所实现的利用TCP进行文件传输功能,给出不同情况下的最大传输速率,实验环境为10Mbps以太网。
理想状态下的理论最大吞吐量:假定发送方传输两个背对背、满长度的TCP数据,接收方为其发出两个ACK,每包中用户数据量为1460位,总数据量为1538位,故最大的用户数据吞吐量为:
本实验测得文件的平均传输速率随着TCP连接数的增多有如图8所示的曲线变化,前半段随着连接数的增加成线性增长,后半段由于出现了网络拥塞,整体的平均速率反而有所下降。
实验结果与理论最大吞吐量有所差距,原因在于:
(1)理论上只是一种理想的状态,现实中难以达到。
(2)受CPU处理速度及文件传输过程的读、写文件操作的限制。
(3)本程序采用的数据传输机制是当收到上一个包的ACK之后再发送下一个数据包,这样避免了对接收数据的排序,提高了可靠性,但数据的传输速度会受到制约。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议