库存索引:

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
0
1
2
3
4
5
6
7
8
9

嵌入式TCP/IP协议单片机技术在网络通信中的

        

    

    

    摘要:介绍了嵌入式tcp/ip协议单片机在网络通信中的数据传输技术。将tcp/ip协议嵌入到单片机中,借助网卡芯片cs8900实现了单片机在局域网内和通过局域网在因特网上的数据传输。用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信。

    关键词:tcp/ip协议  单片机 因特网 局域网 网卡芯片

    在因特网上tcp/ip协议每时每刻保证了数据的准确传输。在数据采集领域,如何利用tcp/ip协议在网络中进行数据传输成为一个炙手可热的话题。在本系统中,笔者利用tcp/ip协议中的udp(用户数据报协议)、ip(网络报文协议)、arp(地址解析协议)及简单的应用层协议成功地实现了单片机的网络互连既提高了数据传输的速度,又保证了数据传输的正确性,同时也扩展了数据传输的有效半径。

    1 tcp/ip协议简介

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

    (1)应用层

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

    (2)传输层

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

    (3)网络层

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

    (4)链路层

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

    2 硬件框图

    

    

    

    如图1所示,系统提供rj45接口连接ethernet网络,并且提供一个串口给用户使用。系统板可以将从ethernet上过来的ip数据报解包后送给串口,也可将从串口过来的数据封装为ip包送到局域网中。外部ram使用61c1024(128kb),从而为数据处理提供了很大的缓存; 使用e2prom--x25045,既可以作为看门狗使用也可以将ip地址、网卡物理地址和其他参数保存在里面。

    cs8900芯片是cirrus logic公司生产的一种局域网处理芯片,它的封装是100-pin tqfp,内部集成了在片ram、10base-t收发滤波器,并且提供8位和16位两种接口,本文只介绍它的8位模式。

    me103是一种脉冲变压器,在cs8900的前端对网络信号进行脉冲波形变换。

    3 工作原理

    3.1 cs8900的工作原理

    cs8900与单片机按照8位方式连接,网卡芯片复位后默认工作方式为i/o连接,基址是300h,下面对它的几个主要工作寄存器进行介绍(寄存器后括号内的数字为寄存器地址相对基址300h的偏移量)。

    ·linectl(0112h)

    linectl决定cs8900的基本配置和物理接口。在本系统中,设置初始值为00d3h,选择物理接口为10base-t,并使能设备的发送和接收控制位。

    ·rxctl(0104h)

    rxctl控制cs8900接收特定数据报。设置rxtcl的初始值为0d05h,接收网络上的广播或者目标地址同本地物理地址相同的正确数据报。

    ·rxcfg(0102h)

    rxcfg控制cs8900接收到特定数据报后会引发接收中断。rxcfg可设置为0103h,这样当收到一个正确的数据报后,cs8900会产生一个接收中断。

    ·busct(0116h)

    busct可控制芯片的i/o接口的一些操作。设置初始值为8017h,打开cs8900的中断总控制位。

    ·isq(0120h)

    isq是网卡芯片的中断状态寄存器,内部映射接收中断状态寄存器和发送中断状态寄存器的内容