预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于DSP的上网方案的软硬件设计与实现基于DSP的上网方案的软硬件设计与实现摘要:介绍了TMS320VC33芯片与RTL8019网卡的硬件接口电路的设计以及网卡驱动程序的开发,并将TCP/IP协议嵌入到TMS320VC33芯片中;讨论了TCP/IP协议簇的分层次实现,并根据应用的需要对DSP中实现的TCP/IP协议进行了必要的简化,实现了DSP的上网功能。关键词:TCP/IP协议DSP嵌入式系统随着现代网络技术的发展,嵌放式系统如单片机、DSP等系统对接入网络的需求日益增加,例如具有远程抄表功能的电表系统、楞以进行远程控制的信息电系统等。本文采用TI公司的TMS320VC33DSP芯片设计与Realtek公司的RTL8019网卡的硬件接口电路,并在DSP中用软件实现TCP/IP协议,使DSP芯片具备上网功能,从而可以用计算机通过网卡与DSP电路板进行大量数据交换并对其进行控制。1硬件设计DSP与网卡的硬件接口电路图如图1所示。DSP的数据总线低16位接ISA网卡的16位数据线,ISA网卡的IOCS16线接高电平,设置网卡为16位的模式。网卡共有20根地址线。将A7~A8、A10~A19接地,A0~A6和A9分别接DSP的A0~A7,用到的网卡地址为0240H~025FH,映射到DSP的Page3空间,地址映射为C000C0H~C000DFH。DSP的Reset信号用于复位网卡,由于DSP的Reset信号低有效,而网卡的Reset信号高有效,故中间应接非门。DSP的Page3和R/W信号用于选能网卡的读写信号IOR、IOW,实现的逻辑关系如图2所示。IORQ是网卡的中断9,通过非门后接DSP的INT1引脚。RTL8019网卡有三种工作方式:第一种为跳线方式,网卡的I/O和中断由跳线决定;第二种为即插即用方式,由软件进行自动配置plugandplay;第三种为免跳线方式,网卡的I/O和中断由外接的93C46里的内容决定。计算机上一是即插即用方式,为了降低软件编程的复杂度,将网卡设置为跳线方式。上述所有的译码逻辑都在EPM7129中实现。74ALVC16425是总线驱动芯片,可实现3.3V到5V的电平转换。由于TMS320VC33和EPM7128是3.3V的器件,而ISA总线是5V的,所以信号线不能直接连接,需要通过74ALVC164245进行电平转换和隔离。2软件设计2.1网卡硬件驱动程序的设计网卡驱动程序主要包括以下几部分:(1)NIC的初始化NIC是网络接口控制芯片,它负责网络上数据的接收和发送。为了能够使NIC启动并处于准备接收或准备发送数据的状态,必须对相关的寄存器进行初始化。这些寄存器包括CR、DCR、RBCR、PSTART、PSTOP、ISR、IMR、PAR0~PAR5、MAR0~MAR7、CURR、TCP、RCR等。(2)中断服务程序中断服务程序一般完成两项任务:一是设置中断标志,以使相关程序能以此发现发生了中断;二取得中断状态寄存器的值,并将引起中断的具体原因提交给相应的程序,这一过程也是通过设置中断原因标志完成的。需要注意的,中断服务程序开始的时候要保护中断现场,待程序处理完成后要恢复中断现场;中断服务程序应尽可能短小,以便在尽可能短的时间内执行完成,因此需要将一些不民要的工作交给其它程序来完成。(3)帧发送程序在网络中,帧传输的过程是:发送方将待发送的数据按帧格式要求封装成帧,然后通过网卡将帧发送到网络的传输线上;接收方根据接收到的帧的目的地址研究是否将该帧提交给上层应用程序。帧的发送是指将待发送的数据以帧的形式发送到网络传输线上,因此,帧的发送过程应该包括以下几个步骤:①装帧;②将帧送入NIC的发送缓冲区;③初始化发送控制寄存器;④启动NIC将该帧发送到网络传输线上。(4)帧接收程序帧接收是指将网络上的数据帧接收并缓存于网卡的接收缓冲环中,然后由主机程序将缓存于接收缓冲环的帧读走并存入内存中以备程序使用。从中可以看出,帧的接收过程分成两卡;①第一步由NIC通过本地DMA将帧存入接收缓冲环;②第二卡是通过远程DMA并在主机的配合下将接收缓冲环中的帧读入内存。2.2TCP/IP协议的实现2.2.1DSP中与PC机中实现TCP/IP协议不同TCP/IP协议最先是在UNIX系统中实现的,后来在LINUX、DOS和WINDOWS系统中也实现了TCP/IP。但是,在UNIX上实现的TCP/IP协议的源代码并不能直接移植到DSP上来,这是因为PC机和DSP存在着巨大的差异。PC机的运算速度非常快,一般都有一个多任务的操作系统,可以多任务并行执行,通过硬中断与中断、消息队列和各种插口实现ATCP/IP各协议层之间的通信和整个网络的通信。而DSP运行速度相对较慢,缺乏多任务操作系统的平台,只能通过顺序执行加硬件中断的方式来实现