凌凌凌凌凌凌 www.unsp.com.cn www.sunplus.com.tw SUNPLUS Technology for Easy Living Sunplus University Program DM9000 For SPCE061A NET CONTROL Training Course January, 2004 刘刘刘 刘刘刘刘刘 E-mail:[email protected]
Jan 15, 2016
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
Sunplus University Program
DM9000 For SPCE061A NET CONTROL Training Course
January, 2004
刘新颜
大学计划部
E-mail:[email protected]
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
整体硬件规划
SPCE061A(1)
SPCE061A(2)
DM9000
IOA0-7---D8-15IOA8-15---D0-D7
/R/W CMD/AEN
B4 B5 B2B14
B7
B10
B10
B7
B11
B11
B12
B12
B13
B13
冰箱灯光
音乐
资源占用情况:♣ RAM 1107W 54%
♣ ROM 62155W 94%
♣ 工作频率 49M
♣ IOA0-15&IOB4,5,2,11
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
A
B
C
D
E
FG
H
I
JK L
N
分享:硬件,敢于怀疑
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
DM9000 概述
1 、读取、写入寄存器方式2 、内存工作原理 3 、封包传送工作原理 4 、封包接收工作原理
DM9000 是一款以太网控制芯片,在网络中它可自动获得同设定 MAC 地址一致的数据报,完成数据报的收发 .
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
读取、写入寄存器方式
DM9000 有数据和索引端口。而这二个端口由 CMD 管脚控制,若 CMD 接高电位时为控制资料端口, CMD 接低电位为控制索引端口。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
内存工作原理 DM9000 共有 16K Byte(0000h
~3FFFh) 内存,而读写内存由 MWCMD , MRCMD 这二个寄存器来控制。而MWRL , MWRH 寄存器提供现在写入内存的位置, MRRL , MRRH 寄存器提供现在读取内存的位置。而内存每次移动依工作模式,每次移动一个 Byte(8 bit) 或二个 Byte(16 bit) 或四个 Byte (32 bit)
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
封包传送工作原理
将要传送封包的长度,填入到 TXPLL , TXPLH 寄存器
将要传送封包的资料由 MWCMD 寄存器填入内存中
由 TCR 寄存器使 DM9000 送出封包资料
若内存的写入位置超过 0BFFh 时,自动将下一个位置回复到 0000h
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
封包接收工作原理
检查 MRCMDX 寄存器值是否为 01 ,若有则有封包进入需读取
读取 MRCMD 将前四个 Byte 封包讯息读入 由前四个 Byte 封包讯息取待得封包长度 (以
Byte 为单位 ) , 连续读取 MRCMD 将封包资料移到系统内存之中
若读取位置超过 3FFFh 时,自动会移到0C00h。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
分享:驱动的问题
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
协议
TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输。 TCP/IP通常采用一种简化的四层模型,分别为:应用层、传输层、网络层、链路层。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
应用层
网络应用层要有一个定义清晰的会话过程,如通常所说的 Http 、 Ftp 、 Telnet 等。在本系统中,单片机系统传递来自 Ethernet 和数据终端的数据,应用层只对大的数据报作打包拆报处理。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
传输层
传输层让网络程序通过明确定义的通道及某些特性获取数据,如定义网络连接的端口号等,实现该层协议的传输控制协议 TCP 和用户数据协议 UDP 。在本系统中使用 UDP 数据报协议。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
网络层
网络层让信息可以发送到相邻的 TCP/IP 网络上的任一主机上, IP 协议就是该层中传送数据的机制。同时建立网络间的互连,应提供 ARP 地址解析协议,实现从 IP 地址到数据链路物理地址的映像。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
链路层
由控制同一物理网络上的不同机器间数据传送的底层协议组成,实现这一层协议的协议并属于 TCP/IP 协议组。在本系统中这部分功能由 SPCE061A 控制网卡芯片 DM9000 实现。
www.sunplus.com.twSUNPLUSTechnology for Easy Living
凌阳大学计划www.unsp.com.cn
TCP 是面向连接的可靠数据传输协议,因此比较复杂,在此仅作简单介绍
任何通讯协议都有独特的报文格式, TCP/IP 协议也不例外。对于通讯协议编程,我们首先要清楚其报文格式。由于 TCP/IP 协议采用分层模型,各层都有专用的报头,以下就简单介绍以太网下 TCP/IP 报文格式。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
以太网帧格式如下图:
8 字节的前导用于帧同步, CRC 域用于帧校验。这些用户不必关心其由网卡芯片自动添加。目的地址和源地址是指网卡的物理地址,即MAC 地址,具有唯一性。帧类型或协议类型是指数据包的高级协议,如 0x0806 表示 ARP 协议, 0x0800 表示 IP 协议等。
前导 目的地址 源地址 桢类型 数据 CRC
长度 8 6 6 2 46~1500 4 字节
60~1514用户填充数据 网卡填充
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
LwIP 是瑞士计算机科学院( Swedish Institute of Computer Science )的 Adam Dunkels 等开发的一套用于嵌入式系统的开放源代码 TCP/IP 协议栈。 LwIP 的含义是 Light Weight( 轻型 )IP 协议。 LwIP 可以移植到操作系统上,也可以在无操作系统的情况下独立运行。 LwIP TCP/IP 实现的重点是在保持 TCP 协议主要功能的基础上减少对 RAM 的占用,一般它只需要几十 K的 RAM 和40K 左右的 ROM 就可以运行,这使 LwIP 协议栈适合在低端嵌入式系统中使用。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
(1) 支持多网络接口下的 IP 转发(2) 支持 ICMP 协议 (3) 包括实验性扩展的的 UDP (用户数据报协议)(4) 包括阻塞控制,快速恢复和快速转发的 TCP (传输控制协议)(5) 提供专门的内部回调接口( Raw API )用于提高应用程序性能(6) 可选择 API 接口(多线程情况下)
LwIP 的特性如下 :
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
在操作系统中的位置
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
web 服务器的实现
DM9000Ç ý¶ ¯ ARP ICMP TCP/IP
http
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
网页的制作与转换
用 pc 机上的网页制作软件创建一组网页,然后将这一组网页以二进制方式传送到 Linux 平台下的用户根目录,并创建一个目录 fs ,将网页都拷贝到 fs 目录下,然后将 perl 脚本文件makefsdata 拷贝到用户根目录下,并执行 perl makefsdata ,会在用户根目录下生成一个fsdata.c 文件,这个文件中就已经包含了所有网页上的数据,可以直接在本例中的 demo 中使用了。
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
ARP 协议I P取得目的 地址
ARP到 高速缓存MAC查找 地址
以太网地址写到以太帧首部
数据报加入到输出队列
I P保留 数据报
广播询问目的主机硬件地址的报
文
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
Httpd_i ni ttcp申请 块,监听
设定接受连接回调函数
SYN客户端发送
SYN服务器回应ACK
ACK客户端回送
Http_accept连接回调函数接受客户端请求
TCP连接通道就绪
是否有新的数据
Http_recv接受函数处理新
数据
Send_data发送函数处理数
据
是否需要续传
Http_send续传
Http_pol lhs>3?
关闭连接tcp_cl ose
分享:动态网页
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
精彩留给大家
邮件服务器IP 电话( UDP)PDA 网络终端等等
期待大家激动人心的创意!
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
DEMOand
Q & A
凌阳大学计划www.unsp.com.cn
www.sunplus.com.twSUNPLUSTechnology for Easy Living
请参看 IDE 环境光盘和技术手册;请登陆凌阳大学计划网站: http://www.unsp.com.cn
凌阳应用推广部,服务中心: E_mail: [email protected]
凌阳大学计划部竭诚为您服务