采用双体DMA的无线NIC收发器核心模块设计
发布时间:2008/5/29 0:00:00 访问次数:450
关键词:收发器无线网络dma曼彻斯特编码dp8391
随着无线通信技术的不断成熟和应用,各种各样的智能化和网络化的无线通信产品不断涌现,无线网络产品也得到飞速发展。无线网络接口卡收发器作为无线网络的重要组成部分,为可靠的无线传输提供重要的硬件接口及物理层和数据链路层的协议支撑。
图1
本文详细分析10mbps无线网络接口卡的核心——收发器的设计过程中的问题,提出无线网络接口卡nic实现方案,并对其核心的发送和接收模块电路作出分析和探讨。
1无线nic总体实现方案
无线nic的基本结构如图1。它主要由三部分组成,即数据链路控制器、manchester代码转换器和无线收发电视。链路控制器采用dp8390,以实现数据层路层协议的控制,nic中设计了8k×2bits的ram作为网卡的缓冲区,以提高系统的执行速度。系统采用pci总线与主机相连[1]。为了与以太网卡兼容,设计中增加了prom自举电路模块[2]。
内部硬件基本模块如图2。它主要由无线收发模块、编码转换模块、接收处理模块、发送处理模块、dma控制模块、串并转换模块等组成。系统时钟统一采用10mhz方波发生器的时钟[3-4],以进行数据帧的同步。
图2
2收发器模块设计
2.1发送模块设计
发送模块通过dma方式读取ram中的数据并将数据交给无线发送模块进行发送[5],其工作过程如图3。网卡向无线网络发送数据过程如下:
(1)nic初始化。计算机对nic中各寄存器的读写是利用主机的i/o方式,网卡的基地址一般为300h。初始化nic实际上是利用out指令对nic中有关的寄存器写控制字。
(2)微机与网卡中缓冲ram交换数据是使用nic远程dma模式。开动远程dma后,微机不断读写网卡的数据端口,就能成功地执行远程dma过程,完成微机与网卡中缓冲ram的数据交换。
图3
(3)缓冲ram收发网上的数据使用nic的本地dma模式。当初始化过程后,网卡处在接收状态,一旦接收网上来的数据,就自动执行本地dma过程,对缓冲ram进行本地dma写。
发送电路模块的设计原理图如图4。发送模块主要由10mhz标准方波发生器、一个d触发器、4034并/串双向移位寄存器、一个4040计数器和两个双端与门。
10mhz标准方波发生器用于产生10mhz标准方波,提供发送数据的时钟信息。4040用于发送位计数。在发送完一个字节后,4040用其q3送出完成信号,在d触发器中锁存,即生成字节转换完毕信号,允许送出下一字节;待接收到第二字节后,复位d触发器,重复前述过程。4034在10mhz脉冲控制下,将数据总线上的并行数据转换成1010mhz的串行数据发往曼彻斯特编码器。
图4中p1.7为计数器的初始复位信号线,由其在发送开始、全部发送完成以及发送未完中断后发出复位脉冲。发送未完中断是用来处理发送过程中在同轴电缆上的冲突,此时将终止当前发送。d触发器用来锁存计数器4040的q3输出端状态,告知cpu此时外设已准备就绪。
2.2接收模块设计
接收模块由初始化模块和接收中断模块两部分组成。初始化模块完成对nic寄存器的初始化,并对网卡中断int3和dma参数进行初始化,等待中断。
当网络有数据需要接收时,引发网卡中断int3,接收处理模块通过dma与ram进行数据传送。这种不需要cpu干预的、成批量的数据传送,可以极大地提高数据的接收速度。
接收处理模块完成数据帧的处理(主要是以太帧),判断是控制帧还是数据帧,并进行帧的校验,利用串并转换模块转换成并行数据[6]。主要功能如下:
(1)远程dma读过程设置在微机的中断子程序中,本地dma写完成后,中断微机主程序,执行远程dma,完成微机接收数据过程。微机发送过程是由微机一方先执行远程dma写,然后执行本地dma读。
(2)如果是发送数据,则发送模块完成与接收模块相反的过程。不过,发送时还要判断能束发送,即用改进冲突检测方式进行冲突检测。由于无线传输无法进行载波侦听,只能利用接收方是否忙
关键词:收发器无线网络dma曼彻斯特编码dp8391
随着无线通信技术的不断成熟和应用,各种各样的智能化和网络化的无线通信产品不断涌现,无线网络产品也得到飞速发展。无线网络接口卡收发器作为无线网络的重要组成部分,为可靠的无线传输提供重要的硬件接口及物理层和数据链路层的协议支撑。
图1
本文详细分析10mbps无线网络接口卡的核心——收发器的设计过程中的问题,提出无线网络接口卡nic实现方案,并对其核心的发送和接收模块电路作出分析和探讨。
1无线nic总体实现方案
无线nic的基本结构如图1。它主要由三部分组成,即数据链路控制器、manchester代码转换器和无线收发电视。链路控制器采用dp8390,以实现数据层路层协议的控制,nic中设计了8k×2bits的ram作为网卡的缓冲区,以提高系统的执行速度。系统采用pci总线与主机相连[1]。为了与以太网卡兼容,设计中增加了prom自举电路模块[2]。
内部硬件基本模块如图2。它主要由无线收发模块、编码转换模块、接收处理模块、发送处理模块、dma控制模块、串并转换模块等组成。系统时钟统一采用10mhz方波发生器的时钟[3-4],以进行数据帧的同步。
图2
2收发器模块设计
2.1发送模块设计
发送模块通过dma方式读取ram中的数据并将数据交给无线发送模块进行发送[5],其工作过程如图3。网卡向无线网络发送数据过程如下:
(1)nic初始化。计算机对nic中各寄存器的读写是利用主机的i/o方式,网卡的基地址一般为300h。初始化nic实际上是利用out指令对nic中有关的寄存器写控制字。
(2)微机与网卡中缓冲ram交换数据是使用nic远程dma模式。开动远程dma后,微机不断读写网卡的数据端口,就能成功地执行远程dma过程,完成微机与网卡中缓冲ram的数据交换。
图3
(3)缓冲ram收发网上的数据使用nic的本地dma模式。当初始化过程后,网卡处在接收状态,一旦接收网上来的数据,就自动执行本地dma过程,对缓冲ram进行本地dma写。
发送电路模块的设计原理图如图4。发送模块主要由10mhz标准方波发生器、一个d触发器、4034并/串双向移位寄存器、一个4040计数器和两个双端与门。
10mhz标准方波发生器用于产生10mhz标准方波,提供发送数据的时钟信息。4040用于发送位计数。在发送完一个字节后,4040用其q3送出完成信号,在d触发器中锁存,即生成字节转换完毕信号,允许送出下一字节;待接收到第二字节后,复位d触发器,重复前述过程。4034在10mhz脉冲控制下,将数据总线上的并行数据转换成1010mhz的串行数据发往曼彻斯特编码器。
图4中p1.7为计数器的初始复位信号线,由其在发送开始、全部发送完成以及发送未完中断后发出复位脉冲。发送未完中断是用来处理发送过程中在同轴电缆上的冲突,此时将终止当前发送。d触发器用来锁存计数器4040的q3输出端状态,告知cpu此时外设已准备就绪。
2.2接收模块设计
接收模块由初始化模块和接收中断模块两部分组成。初始化模块完成对nic寄存器的初始化,并对网卡中断int3和dma参数进行初始化,等待中断。
当网络有数据需要接收时,引发网卡中断int3,接收处理模块通过dma与ram进行数据传送。这种不需要cpu干预的、成批量的数据传送,可以极大地提高数据的接收速度。
接收处理模块完成数据帧的处理(主要是以太帧),判断是控制帧还是数据帧,并进行帧的校验,利用串并转换模块转换成并行数据[6]。主要功能如下:
(1)远程dma读过程设置在微机的中断子程序中,本地dma写完成后,中断微机主程序,执行远程dma,完成微机接收数据过程。微机发送过程是由微机一方先执行远程dma写,然后执行本地dma读。
(2)如果是发送数据,则发送模块完成与接收模块相反的过程。不过,发送时还要判断能束发送,即用改进冲突检测方式进行冲突检测。由于无线传输无法进行载波侦听,只能利用接收方是否忙