Top Banner
凌凌凌凌凌凌 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]
32

Sunplus University Program DM9000 For SPCE061A NET CONTROL Training Course

Jan 15, 2016

Download

Documents

bardia

Sunplus University Program DM9000 For SPCE061A NET CONTROL Training Course. January , 2004. 刘新颜 大学计划 部 E-mail:[email protected]. 整体硬件规划. 资源占用情况: ♣ RAM 1107W 54% ♣ ROM 62155W 94% ♣工作频率 49M ♣ IOA0-15&IOB4,5,2,11. 分享:硬件,敢于怀疑. DM9000 概述. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划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]

Page 2: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划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

Page 3: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

A

B

C

D

E

FG

H

I

JK L

N

分享:硬件,敢于怀疑

Page 4: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

DM9000 概述

1 、读取、写入寄存器方式2 、内存工作原理 3 、封包传送工作原理 4 、封包接收工作原理

DM9000 是一款以太网控制芯片,在网络中它可自动获得同设定 MAC 地址一致的数据报,完成数据报的收发 .

Page 5: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

读取、写入寄存器方式

DM9000 有数据和索引端口。而这二个端口由 CMD 管脚控制,若 CMD 接高电位时为控制资料端口, CMD 接低电位为控制索引端口。

Page 6: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划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)

Page 7: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

封包传送工作原理

将要传送封包的长度,填入到 TXPLL , TXPLH 寄存器

将要传送封包的资料由 MWCMD 寄存器填入内存中

由 TCR 寄存器使 DM9000 送出封包资料

若内存的写入位置超过 0BFFh 时,自动将下一个位置回复到 0000h

Page 8: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

Page 9: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

封包接收工作原理

检查 MRCMDX 寄存器值是否为 01 ,若有则有封包进入需读取

读取 MRCMD 将前四个 Byte 封包讯息读入 由前四个 Byte 封包讯息取待得封包长度 (以

Byte 为单位 ) , 连续读取 MRCMD 将封包资料移到系统内存之中

若读取位置超过 3FFFh 时,自动会移到0C00h。

Page 10: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

分享:驱动的问题

Page 11: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

协议

TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输。 TCP/IP通常采用一种简化的四层模型,分别为:应用层、传输层、网络层、链路层。

Page 12: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

Page 13: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

应用层

网络应用层要有一个定义清晰的会话过程,如通常所说的 Http 、 Ftp 、 Telnet 等。在本系统中,单片机系统传递来自 Ethernet 和数据终端的数据,应用层只对大的数据报作打包拆报处理。

Page 14: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

传输层

传输层让网络程序通过明确定义的通道及某些特性获取数据,如定义网络连接的端口号等,实现该层协议的传输控制协议 TCP 和用户数据协议 UDP 。在本系统中使用 UDP 数据报协议。

Page 15: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

网络层

网络层让信息可以发送到相邻的 TCP/IP 网络上的任一主机上, IP 协议就是该层中传送数据的机制。同时建立网络间的互连,应提供 ARP 地址解析协议,实现从 IP 地址到数据链路物理地址的映像。

Page 16: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

链路层

由控制同一物理网络上的不同机器间数据传送的底层协议组成,实现这一层协议的协议并属于 TCP/IP 协议组。在本系统中这部分功能由 SPCE061A 控制网卡芯片 DM9000 实现。

Page 17: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

www.sunplus.com.twSUNPLUSTechnology for Easy Living

凌阳大学计划www.unsp.com.cn

TCP 是面向连接的可靠数据传输协议,因此比较复杂,在此仅作简单介绍

任何通讯协议都有独特的报文格式, TCP/IP 协议也不例外。对于通讯协议编程,我们首先要清楚其报文格式。由于 TCP/IP 协议采用分层模型,各层都有专用的报头,以下就简单介绍以太网下 TCP/IP 报文格式。

Page 18: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划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用户填充数据 网卡填充

Page 19: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划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 协议栈适合在低端嵌入式系统中使用。

Page 20: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划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 的特性如下 :

Page 21: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

在操作系统中的位置

                                                                                                       

Page 22: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

web 服务器的实现

DM9000Ç ý¶ ¯ ARP ICMP TCP/IP

http

Page 23: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

Page 24: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

网页的制作与转换

用 pc 机上的网页制作软件创建一组网页,然后将这一组网页以二进制方式传送到 Linux 平台下的用户根目录,并创建一个目录 fs ,将网页都拷贝到 fs 目录下,然后将 perl 脚本文件makefsdata 拷贝到用户根目录下,并执行 perl makefsdata ,会在用户根目录下生成一个fsdata.c 文件,这个文件中就已经包含了所有网页上的数据,可以直接在本例中的 demo 中使用了。

Page 25: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

Page 26: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

Page 27: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

Page 28: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

ARP 协议I P取得目的 地址

ARP到 高速缓存MAC查找 地址

以太网地址写到以太帧首部

数据报加入到输出队列

I P保留 数据报

广播询问目的主机硬件地址的报

Page 29: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划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

分享:动态网页

Page 30: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

精彩留给大家

邮件服务器IP 电话( UDP)PDA 网络终端等等

期待大家激动人心的创意!

Page 31: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

DEMOand

Q & A

Page 32: Sunplus   University  Program DM9000 For SPCE061A NET CONTROL  Training Course

凌阳大学计划www.unsp.com.cn

www.sunplus.com.twSUNPLUSTechnology for Easy Living

请参看 IDE 环境光盘和技术手册;请登陆凌阳大学计划网站: http://www.unsp.com.cn

凌阳应用推广部,服务中心: E_mail: [email protected]

凌阳大学计划部竭诚为您服务