打印
[DSP]

DSP与以太网卡的接口技术研究

[复制链接]
723|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laozhongyi|  楼主 | 2020-5-4 17:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:通过分析NE2000网卡与微机ISA总线的接口电路,用DSP芯片TMS320F206结合外围电路模拟ISA时序,实现了DSP与NE2000网卡的软、硬件接口,从而使ISA总线开型网卡脱离了PC机环境的制约。

关键词:网卡  ISA总线  DSP


     以太网是当今最受欢迎的局域网之一,它包括了OSI七层模型的物理层和数据链路层的全部内容。在以太网中,网卡用于实现802.3规程,其代表是NE2000和3C503、3C508、3C509等网卡。对网卡直接编程就可以实现局域网内任意站点之间的通信而完全抛开了网络操作系统,这就启发我们能否在脱离PC环境的条件下实现网卡与其它微处理器之间的接口,从而建立基于非PC机平台的局域网络。对ISA总线型网卡,要实现这一设想,关键在于怎样利用微处理器及外围辅助电路模拟ISA时序。本文作者根据所做课题需要,通过分析NE2000网卡与微机ISA总线的接口电路,用DSP芯片TMS320F206结合外围电路模拟ISA时序,解决了DSP与NE2000网卡的软、硬件接口问题,初步实现了网卡在非PC机环境下的应用。


1 NE2000网卡与微机ISA总线接口电路分析
     NE2000网卡是16位ISA总线的网卡,利用NE2000网卡可以组成总线结构的以太计算机局域网。该网卡遵循的标准与协议为IEEE802.3。其硬件结构如图1所示,按功能可将其划分为接口电路、缓总RAM、站地址PROM、自举ROM、状态设置跳线器、连接器、DP8390、DP8391以及DP8392九部分。





    接口电路主要实现两种功能:一是与计算机ISA总线相连,包括数据总线读写、地址总线驱动、中断控制信号的产生、存储器读写信号以及I/O端口读写信号的引入等;二是对网内部的操作,包括对缓冲RAM的读写、对DP8390的控制、读站地址PROM以及读自举ROM等。表1列出了NE2000网卡接口电路所使用的ISA总线信号(不考虑电源线和地线)。从表1可以看出,网卡接口电路仅使用了50根ISA信号线。通过对网卡工作原理的分析,我们还可以将网卡与DSP之间的接口信号线减至最少。


表1 NE2000网卡接口电路所使用的ISA总线信号

信号线引    脚
数据信号线SD0~SD15
地址信号线SA0~SA19
地址允许线AEN
I/O通道准备好信号线IOCHRDY
复位信号线RESETDRV
系统存储器读信号/SMEMR
I/O读信号/IOR
I/O写信号/IOW
I/O片选16位信号/IOCS 16
中断信号线IRQ5,4,3,10,11,12,15


(1)网卡自举ROM中固化了远程自举程序,使得用户工作站能够远程自举DOS系统,并从服务器上装载程序。这个功能很少用到,而且在基于DSP平台的局域网中也不存在DOS系统,故一般情况下都是通过跳线屏蔽掉此功能。因而,/SMEMR和SA10~SA19这11根信号线可以不用。
(2)AEN信号只有当DMA控制器是总线占有者时,它才生产作用[3]。由于网卡并不使用DMA操作,故可将该信号线始终保持在低电平,使网卡I/O译码操作一直有效。
(3)80X86系列微机为了兼容的需要,设置了/IOCS16信号线。由于我们使用的是16位DSP,不进行8/16位数据读写的转换,故不需要此信号。
(4)DSP只需要一根中断线,因而可在上述7根线中任选一根即可,其余6根中断线悬空即可。
(5)网卡与ISA总线交换数据是通过I/O端口实现的,微机采用PIO方式,从网卡缓冲RAM中读入数据,或将主机内存中的数据送至网卡RAM缓冲区。根据这一分析,DSP及其外围辅助电路应能完成模拟ISA总线I/O读写的功能。
通过上面对网卡接口信号线的详细分析,可以看到DSP与网卡之间只需正确连接32根信号线,从而使DSP的外围接口电路大大简化。




2 DSP与NE2000网卡接口硬件电路
   TMS320F206是一种低价格、高性能的16位定点DSP,它的性价比极高,目前已成为高档单片机的理想替代品,在通信、语音/语言、军事、仪器仪表、图像处理、工业控制等领域得到了广泛的应用。本文所设计的就是该DSP与NE2000网卡的软、硬件接口,从而展开对基于DSP平台的局域网的研究。


根据上面对网卡与微机ISA总线接口电路的分析,表2列出了F206与网卡接口所需的引脚信号。

表2 F206与NE2000网卡接口所需引脚

 引  脚
说  明
外部总线A15A016条外部地址总线
D15D016条双向外部数据总线
选择信号/ISI/O空间选择引脚,/IS有效表明选择外部I/O空间
/STRB外部访问有效选通信号引脚
读写信号RD读选择引脚
/WE写使能引脚
请求/控制信号READY外部设备准备就绪引脚
通用I/O引脚XF通用输出引脚
中断申请信号/INT2外部用户中断


从1表和表2可以看出,NE2000网卡接口电路所需的信号线与F206的引脚之间有明确的对应关系。但是,它们之间能否通过简单的组合逻辑进行相连还需分析微机ISA决线I/O读写时序与F206的I/O读写时序是否一致。以读时序为例,图2给出了微机ISA总线I/O读时序过程,图3给出了F206的I/O读时序。从这两个时序图可以看出:微机采用数据和地址总线复用的总线传送方式,当地址锁存后,数据再送上总线;DSP采用独立的数据和地址总线传送方式,地址在一个I/O周期之间保持有效,数据在/RD信号有效后,在I/O周期内保持有效。因此,DSP可以按下述应用模仿微机时序对网卡进行操作。








(1)数据线、地址线可以直接相连。网卡仅使用F206的A0~A9这10根地址线。
(2)/IOR、/IOW信号线可通过/IS、/STRB、/RD、/WE这4根信号线译码得到,下式给出了生成/IOW、/IOR的译码逻辑关系:
/IOR=/IS+STRB+/RD
/IOW=/IS+/STRB+WE
另外,XF引脚信号经驱动可直接连至RESETDRV,READY引脚经上拉电阻连接IOCHRDY,/INT2反向后与IRQ5相连。图4给出了F206与网卡连接时的硬件框图,GAL16V8来完成译码及驱动的工作。







3 DSP对NE2000网卡的编程
    DSP对NE2000网卡的编程就是DSP对网络接口控制器(NIC)DP8390中各种寄存器进行编程控制,完成数据分组的正确发送和接收。网络通信过程可分为网卡初始化、接收控制和发送控制等三部分。
下面只给出DSP读取NE2000网卡物理地址的一段程序,实际中是用来难验证上述硬件连接是否正确而编制的。我们购买的网卡物理地址为0040056388E7,在PC机上已经得到验证。实验证明,通过下面的程序运行读到了正确的物理地址,从而表明我们所做的设想和实际结果是完全一致的。


SPLK #0021H,60H;选择“0”页寄存器,后续操作为复位操作
OUT 60H,CR
SPLK #0049H,60H;选择16位传输方式
OUT 60H,DCR
SPLK #0000H,60H;清DMA远程字节寄存器
OUT 60H,RBCR0
OUT 60H,RBCR1
SPLK #001FH,60H;初始化接收状态配置寄存器
OUT 60H,RCR
SPLK #0002H,60H;初始化发达状态配置寄存器
OUT 60H,TCR
SPLK #004CH,60H;设置接收缓冲环起始页面地址寄存器
OUT 60H,PSTART
SPLK #0080H,60H ;设置接收缓冲环终止页面地址寄存器
OUT 60H,PSTOP
SPLK #004CH,60H ;设置边界指针寄存器
OUT 60H,BNRY
SPLK #00FFH,60H ;清网卡中断状态
OUT 60H,ISR
SPLK #00FFH,60H ;设置中断屏蔽寄存器
OUT 60H,IMR
SPLK #0000H,60H ;设置远程DMA起始地址为0000H
OUT 60H,RSAR0
OUT 60H,RSAR1
OUT 60H,RBCR1
SPLK #0006H,60H ;网卡地址长度为6个字节
OUT 60H,RBCR0
SPLK #000AH,60H;启动远程DMA读
OUT 60H,CR
NOP
IN 61H,DATA_PORT ;61H中存放网卡首字节地址“00H”
IN 62H,DATA_PORT ;62H存放网卡第二字节地址“40H”
IN 63H,DATA_PORT ;63H中存放网卡第三字节地址“05H”
IN 64H,DATA_PORT ;64H中存放网卡第四字节地址“63H”
IN 65H,DATA_PORT ;65H中存放网卡第五字节地址“88H”
IN 66H,DATA_PORT ;66H中存放网卡第六字节地址“E7H”


网卡在DSP中的应用解决了DSP与DSP之间、DSP与PC之间的准确、高速地通信问题。同,由于网卡中包含了OSI七层模型中物理层和数据链路层的全部内容,用户不必再为这两层的具体连接和实现操心,可把精力和时间用在要解决的实际问题中去,这必将给用户带来极大的方便。

使用特权

评论回复

相关帖子

沙发
Edisons| | 2020-5-4 17:44 | 只看该作者
新系列都自带以太网接口  直接外挂phy   接RJ45就可以了。

使用特权

评论回复
板凳
_gege| | 2020-5-4 17:49 | 只看该作者
TI C6678 的DSP支持多种通信方式 。。

使用特权

评论回复
地板
feiqi1| | 2020-5-4 19:10 | 只看该作者
如何使用以太网接口与PC端连接 ?

使用特权

评论回复
5
androidbus| | 2020-5-4 19:15 | 只看该作者
PCI接口驱动以太网芯片来实现。。。

使用特权

评论回复
6
litengg| | 2020-5-4 19:18 | 只看该作者
300PLC通过以太网与DSP通信?

使用特权

评论回复
7
litengg| | 2020-5-4 19:20 | 只看该作者
DSP的主频均有一定的工作范围,因此DSP均可以降频使用。。

使用特权

评论回复
8
qiangweii| | 2020-5-4 19:20 | 只看该作者

DSP28335与FPGA设计以太网吧

使用特权

评论回复
9
shashaa| | 2020-5-4 19:25 | 只看该作者
DSP芯片TMS320F206没有使用过。

使用特权

评论回复
10
xia00| | 2020-5-4 19:27 | 只看该作者
千兆以太网主要技术特点及优点。。

使用特权

评论回复
11
boy1990| | 2020-5-4 19:37 | 只看该作者
程序里有定义 unsigned long long Source_MAC_address。。

使用特权

评论回复
12
sourceInsight| | 2020-5-4 19:42 | 只看该作者
利用以太网控制芯片RTL8019AS实现TMS320F240与以太网通信的接口电路硬件。

使用特权

评论回复
13
bbapple| | 2020-5-4 19:44 | 只看该作者
DSP与以太网卡的接口速度怎么样 ?

使用特权

评论回复
14
磨砂| | 2020-6-2 15:16 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
15
晓伍| | 2020-6-2 15:17 | 只看该作者
数据传输肯定非常快

使用特权

评论回复
16
八层楼| | 2020-6-2 15:17 | 只看该作者
能用在很多场合

使用特权

评论回复
17
观海| | 2020-6-2 15:18 | 只看该作者
非常不错的分享

使用特权

评论回复
18
guanjiaer| | 2020-6-2 15:19 | 只看该作者
楼主辛苦啦

使用特权

评论回复
19
heimaojingzhang| | 2020-6-2 15:19 | 只看该作者
数据处理速度能达到多少啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

1388

帖子

0

粉丝