基于C8051F310和CS8900A的计算机网络实验平台设计

发布者:jingyan最新更新时间:2010-04-09 来源: 现代电子技术关键字:CSA  实验平台  计算机网络实验  以太网标准  控制芯片  单片机  以太网控制器  嵌入式 手机看文章 扫描二维码
随时随地手机看文章

  O 引言

  《计算机网络》课程是大学计算机及相关专业开设的一门计算机与通信的专业课程。本课程具有很强的实践性,很多教学内容都需要高成本的实验环境才能实现,加上网络设备更新快、成本高,一般高校难以承担。而通过软件技术.建立一个软件模拟的实验室环境,不仅可节约实验成本,还可提高实验教学的水平和质量。

  局域网技术发展十分迅速,Ethernet (以太网)是目前使用最广泛的局域网技术。因此,学习以太网技术对深入掌握局域网知识是非常重要的。本设计的目的就是利用嵌入式网络模块来实现网络数据的发送和接收,使学生熟悉网络的数据发送流程。

  1 实验平台的硬件设计

  计算机网络实验平台的硬件框图如图1所示,它主要由C805lF310、CS8900A和MAX232以及外围电路组成。

  1.1 单片机C8051F310

  C805lF310是美国Cygnal公司的产品。该器件是完全集成的混合信号片上系统型MCU芯片,采用32脚LQFP封装,体积较小。C8051F310的模拟外设包括10位ADC以及速率可达200 KSpS的两个模拟比较器。器件的供电电压为2.7~3.6 V,典型工作电流为5mA@25MHz,典型停机电流为0.1μA。同时,C8051F310还带有1280字节的内部数据RAM(1 K+256)和16 KB的闪速存储器,可以在系统编程,其扇区大小为512字节。该MCU芯片的数字外设包括29个端口I/O,所有口线的耐压均为5 V,并具有4个通用16位计数器/定时器。C8051F310的时钟源既可用内部可编程振荡器(24.5 MHz,±2%精度),也可用外部振荡器(晶体、RC、C)或外部时钟。

  1.2 以太网控制芯片CS8900A

  CS8900A是Cirrus Logic公司生产的低功耗16位以太网控制器。它功能强大,其高度集成设计使其不再需要其它以太网控制器所必需的昂贵外部器件。CS8900A的内部结构如图2所示。

  CS8900A包括片上RAM、10BASE-T发送和接收滤波器以及带24 mA驱动能力的直接ISA总线接口。除了高度集成外,CS8900A还提供其他性能和配置选择。它独特的PacketPage结构可自动适应网络通信量模式的改变和现有系统资源,因而系统效率很高。

  CS8900A的内部功能主要是802.3介质访问控制块(MAC)。802.3介质访问控制块可支持全双工操作,并可完全依照IEEE802.3以太网标准来处理有关以太网数据帧的发送和接收,包括冲突检测、帧头的产生和检测、CRC校验码的生成和验证等。通过对发送控制器(TXCMD)的初始化配置,MAC能自动完成帧的冲突后重传。如果帧的数据部分少于64字节,它还能生成填充字段,以使数据帧达到802.3所要求的最短长度。

  CS8900A的主要特点是符合IEEE802.3以太网标准,并带有ISA接口。片内有4K字节RAM,可适用I/0操作模式、存储器操作和DMA操作模式。芯片带有传送、接收低通率的10BASE-T连接端口,并支持10BASE2、10BASE5和10BASE-F的AUI接口,也可自动生成报头,自动进行CRC检验,而且冲突后可自动重发。CS8900A的最大电流消耗为55 mA(5 V电源),可全双工操作,同时支持外部EEPROM。

  CS8900A收到由主机发来的数据包(从目的地址域到数据域,如图3所示)后,即可侦听网络线路,如果线路忙,就等待,否则就立即发送该数据帧,图3所示是其802.3帧格式。

  发送时.首先应添加以太网帧头(包括先导字段和帧开始标志),然后生成CRC校验码,最后将此数据帧发送到以太网上。接收时,则把从以太网接收的数据帧经过解码、去帧头和地址等步骤后所得到的数据放在缓存内,这样,在CRC校验通过后,根据初始化配置情况,CS8900A通知主机收到了数据帧,并将数据用某种传输模式传到主机的存储区。

  1. 3 硬件电路分析和设计

  本实验平台采用C805lF310作为控制器,而以太网控制芯片CS8900A也是主要的一个工作部件,用于完成对网络数据的发送和接收。网络隔离变压器E2023是和芯片CS8900A配套使用的,用于将外部线路与CS8900A隔开,防止干扰,并可实现带电插拔功能。此外,CS8900A还有两个接口,一个是用来和用户模块连接的RS232串行接口(用MAX232芯片进行电平转换),另一个是用来连接网络的RJ45接口。

  C805lF310通过数据线、地址线和控制线与CS8900A相连。它可通过等实现对CS8900A的工作方式的控制和读写操作。当CS8900A有硬件复位或软件复位时,它将默认成8位工作模式。本设计采用8位模式,这样,C805lF310的P1口与CS8900A的低8位数据线相连。CS8900A与C8051F310之间的数据传输采用默认的I/O模式,因此,读写管脚被置高,以关闭Memory方式。在此模式下,用3根地址线就可以实现对所有寄存器的访问,只要将管脚SAl、SA2和SA3对应接到C8051F310的地址线上即可。实际上,除了为保证缺省偏移地址(0X300H)须将SA8和SA9置高外。其余不用的地址线都接入低电平。

  2 实验平台的软件设计

  本系统的软件部分主要包括计算机程序、单片机程序及以太网芯片CS8900A的驱动程序。

  2.1 计算机程序

  计算机程序主要指的是实验界面。这是人机交互的窗口。通过该界面,学生可以控制并查看发送和接收流程。这样,可在发送数据时,输入要发送的内容,选择使用的协议,并控制发送流程,然后查看并分析各层数据;而在接收数据时,则可通过分析收到的数据包来分析使用的协议。

  2.2 CS8900A的驱动程序设计

  在8位I/0模式下,CS8900A不支持中断方式。因此,C805lF310采用查询方式与CS8900A通信。在CS8900A开始工作之前,系统必须进行一定的初始化,以确定它的工作模式。在主机与网络交换数据的过程中。还需要不断地对CS8900A的内部寄存器进行读写操作。通常在I/0模式下,MCU可以通过操作CS8900A的几个主要的寄存器来实现对CS8900A中所有内部寄存器进行读写,这几个主要的工作寄存器有:

  ◇LINECTL(0112H):可决定CS8900A的基本配置和物理接口。其初始值为00d3H,可选择物理接口为10BASE-T,并使能设备的发送和接收控制位:

  ◇RXCTL (0104H):控制CS8900A接收特定的数据报。初始值为0d05H,可接收网络上的广播或者目标地址同本地物理地址相同的正确数据报:

  ◇RXCFG(0102H):可控制CS8900A接收特定的数据报并引发中断。可设置为0103H:

  ◇BUSCT(0116H):控制芯片的I/0接口的一些操作。设置初始值为8017H,可打开CS8900A的中断总控制位:

  ◇ISQ (0120H):ISQ是CS8900A的中断状态寄存器,可在内部映射接收中断状态寄存器和发送中断状态寄存器的内容:

  ◇PORTO(0000H):发送和接收数据时,MCU通过PORT0传递数据;

  ◇TXCMD(0004H):为发送控制寄存器,如果写入数据00COH,那么CS8900A将在全部数据写入后开始发送数据;

  ◇TXLENG(0006H):发送数据长度寄存器,发送数据时,首先写入发送数据长度,然后将数据通过PORT0写入芯片。

  寄存器后括号内的数字是寄存器地址相对基址0300H的偏移量。需要注意的是,在初始化CS8900A之前需强迫其进入16位模式。主机在一次中断处理中,必须连续地读并且处理中断状态队列(ISQ)。当有中断产生时,中断管脚信号变高,并依次将5个寄存器的内容映射到ISQ中,直到从ISQ中读出OX000为止。其驱动程序的软件流程图如图4所示。

  2.3 MCU(C8051F310)主控程序

  通常C8051F310首先初始化芯片CS8900A。初始化部分主要完成软件复位并检查复位完成标志是否置位;接着设定8/16位工作模式,默认为8位模式;再设定临时使用的以太网物理地址(真实地址需要向权威机构申请),之后,设定接收帧的类型时,一般要能接收广播,然后确定数据的传送方向(可设为全双工或半双工),接着中断允许,使能接收中断,确定CS8900A的中断管脚号(根据硬件线路使用情况来确定),最后接收发送使能。

  C8051F310完成数据的解包打包时。将从网络接收数据报,并对数据报进行分析,如果是IP数据包,则解析IP分组并送TCP层,并在解析TCP段后送应用层,然后将数据解包后通过串口输出。反之,如果C8051F310从串口收到数据,则将数据按照TCP协议格式打包,并在生成IP分组后送入CS8900A,然后由CS8900A把数据输出到局域网中。

  可以看出,链路层是由CS8900A完成的,而TCP/IP的网络层和传输层由C8051F310来处理,应用层则由用户根据需要进行数据处理。

  3 结束语

  本文给出了基于C8051F310单片机和CS8900A以太网控制器的计算机网络实验平台的设计方法。通过本实验平台,学生可以完成协议分析的相关实验内容,从而加强学生对TCP/IP协议族的理解。

关键字:CSA  实验平台  计算机网络实验  以太网标准  控制芯片  单片机  以太网控制器  嵌入式 引用地址:基于C8051F310和CS8900A的计算机网络实验平台设计

上一篇:基于WinCE环境的CAN适配卡驱动程序的设计与实现
下一篇:Prism产品中提供对MIPS32架构的增强与突破性支持

推荐阅读最新更新时间:2024-05-02 21:02

如何正确的使用C51单片机中的位域
定义这样的结构: typedef struct { uchar DC0_ALA:1; //电源0告警 uchar DC1_ALA:1; //电源1告警 uchar AC_ALA:1; //停电告警 uchar UN_H_ALA:1; //同频信道机失锁告警 uchar UN_L_ALA:1; //异频信道机失锁告警 uchar FAR_ALA:1; //远端通讯故障告警 uchar OPEN_ALA:1; //门襟告警 uchar x:1; }ALARM;//系统告警结构定义 定义变量并初始化: idata ALARM old_alarm={0,0,0,0,0,0,0,0}; 在main()函数中这样应用位域: if(ol
[单片机]
基于 S3C2440 的嵌入式多媒体控制器设计
根据当今移动终端设备多功能、低功耗、易于移植的要求,分别从硬件和软件系统 2 方面提出了一种基于三星μS3C2440 芯片的嵌入式多媒体娱乐控制器的解决方案,同时介绍了利用 CLinux 构造嵌入式系统的方法,并提出了基于MiniGUI开发多媒体娱乐软件的基本方案。通过测试,系统能够满足用户在文字、音视频处理以及常用有线、无线数据交换等多方面的要求。 由于移动通信技术的高速发展,移动电话早已超出原有的进行语音通信的领域,正逐步成为手持娱乐终端的中心。手机用户希望自己的手机在完成通信基本功能的同时还能作为 PDA、MP3 播放器、数码相机、摄像机、视频播放机等。因此,设计出多功能、低功耗的多媒体终端至关重要。ARM+Linux系统
[单片机]
基于 S3C2440 的<font color='red'>嵌入式</font>多媒体控制器设计
基于单片机控制的射频通信基站的设计实现
现代通信技术的发展,数据传输是一个重要的研究内容。目前有线通信技术始终是市场的主流,这也是在空间区域不能自由布线的最大瓶颈,而无线通信技术是该问题一个很好的通信方案。以成品的无线通信芯片作为通信媒介更能解决基础硬件搭建调试及后期维护的难度。本文采用同类产品中性价比较高的芯片NRF24L01,配合简单外围电路和降低芯片,实现对其控制,很好地解决了这一问题。 本文的控制部件选用AT89C51型单片机。由于这种芯片只有SPI 通信接口,而目前常用的单片机都没有这种接口,因此需要对该芯片的通信时序进行模拟,所以在控制器里编程时要严格按照芯片工作时序进行。 1 系统硬件组成 NRF24L01芯片是具有2.4GHz内嵌基带通信协议引擎功
[单片机]
基于<font color='red'>单片机</font>控制的射频<font color='red'>通信</font>基站的设计<font color='red'>与</font>实现
单片机POCSAG码检错及纠错
*/ ***** POCSAG码检错及纠错 ***** /* */运行结果:Flag_Bits.VER_ER=0,接收正确或错码已被纠正;       Flag_Bits.VER_ER=1,接收出错且无法纠正;       已完整接收的码字:Code_Reg/* unsigned long Code_Reg;  */Code_Reg:存放接收近来的POCSAG码字;/* */纠错用的错误图样数组/* const unsigned int Err_s ={0x3B4,0x1DA,0xED,0x3C2,0x1E1,0x344,0x1A2,0xD1,0x3DC,0x1EE,0xF7, 0x3CF,0x253,0x29D,0x2FA,0
[单片机]
第九节:PIC16C5X系列单片机的振荡电路
PIC16C5X系列可以使用4种类型振荡方式:标准晶体/陶瓷振荡XT、高速晶体振荡HS(4MHz以上)、低频晶体振荡LP(32KHz)以及阻容振荡RC。 对于窗口型可重擦除芯片可以通过对 定义EPROM (Coriguratiou EPROM)编程来选择任何一种振荡方式。对于OTP和掩腌片QTP则由厂家定义好振荡方式,并通过相应的检测。 §1.9.1 晶体/陶瓷振荡 这种振荡包括XT、HS和LP。其 电路 是在OSC1和OSC2两端加一晶体/陶瓷振荡,如图1.12。只有 HS 晶体振荡才可能需要Rs(100Ω Rs 1KΩ)。 表1.7列出了使用陶瓷 振荡器 时所需的 电容 值。表1.8列出了使用晶体振荡器时所需
[单片机]
第九节:PIC16C5X系列<font color='red'>单片机</font>的振荡电路
stm32单片机进入休眠模式后无法下载程序等问题的解决
利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的。往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去。通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点下载,然后松开复位键即可。 我遇到的问题是:误入了stm32(STM32L051C6T6)的STOP模式,又没有写入相应的唤醒方法,导致后续的程序不能下载。使用MDK5 点击load时总会出现No target connected。自己设计的最小系统又没有加入复位键。。。 有以下几种解决办法: 1、可以将单片机的NRST引脚引出来,外接复位键。(关于引脚查看可用ST官方软件STM32cubeMX,很方便) 2、通过IS
[单片机]
stm32<font color='red'>单片机</font>进入休眠模式后无法下载程序等问题的解决
基于ARM9的嵌入式网关的研究
   摘 要: 介绍了一种基于ARM9的嵌入式以太网的设计方案。基于ARM内核微处理器S3C2410的功能特点及其外扩组成部分,分析了以太网控制器芯片RTL8019AS的性能以及与S3C2410的接口。在软件设计上,分析了BootLoader的作用,介绍了Linux的移植,并给出了通信程序的流程图,实现了嵌入式以太网的数据传输。    引 言   无所不在的网络给网络接入设备带来了巨大的发展机遇。而随着网络接入市场的迅速增长,嵌入式网络接入开始成为嵌入式系统技术中最令人关注的一个领域。在嵌入式网络技术的推动下将会形成这样一个局面:在网络上传输的信息中,将有70%的信息来自嵌入式系统,也许将有数以亿计的汽车、通信设备、家用电气以
[应用]
富昌电子推荐英飞凌PSoC™ 4000T 微控制器,开启突破性低功耗触控解决方案
中国上海–2024年4月9日– 在追求创新的道路上,英飞凌(Infineon)再次领导行业,推出突破性的PSoC™ 4000T 微控制器 。全球知名的电子元器件授权代理商富昌电子(Future Electronics)现为各类低功耗触控应用,提供具有出色信噪比、防水性能和多模式感应功能的PSoC™ 4000T 系列产品,并限时提供免费开发板申请服务。 PSoC™ 4000T 微控制器扩展了 PSoC™ 4 产品系列 Arm® Cortex-M0®+ 微控制器,采用英飞凌第 5 代高性能 CAPSENSE™ 电容式感应技术。 与前几代 CAPSENSE™ 相比,英飞凌的第 5 代 CAPSENSE™ 技术可提供 10 倍的 SN
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved