网口软硬件设计
发布时间:2008/12/17 0:00:00 访问次数:664
以太网产品供应商多、用户组网方便、费用低。以太网是当今最受欢迎的局域网之一,而数字信号处理器正加速进入嵌入式应用领域,如何将dsp与以太网连接起来,实现dsp与dsp或dsp与计算机间的网络互连显得非常重要。本案例使用lan91c113实现系统与网口的连接,其硬件电路如图1所示。
图1 lan91c113的电路设计
lan91cll3是支持ieee802.3协议;支持8位或16位数据总线;内置16kb的sdram用于收发缓冲;全双工,收发同时达到1 0m/100mbps;支持lobase5、10base2、10baset,并能自动检测所连接的介质,与主机有3种接口模式,即跳线模式、pnp模式和rt模式。
(1)跳线模式。这种模式与早期的网络控制器兼容。lan91c113的端口基地址、中断口等都由开关或跳线器决定。跳线模式简单,但配置资源麻烦。
(2)pnp模式。与微软的pnp协议兼容。在这种模式下,lan91c113的端口基地址、中断口等都由eeprom设定,但需要进行pnp芯片的识别,不便与dsp接口。
(3)rt模式。避免了pnp模式下的pnp芯片识别和配置过程,在这种模式下,lan91c113的端口基地址、中断口等也由eeprom设定。
为了简化dsp网络接口的软、硬件设计,不使用远程自举加载功能,并且选用跳线接口模式。用dsp的通用i/o口代替跳线器对lan91c113进行初始化配置,这样避免了跳线器更改资源配置的麻烦。lan91c113的总线接口是与dsp总线兼容,只要进行一些简单的逻辑变换就可以了。另外,lan91c113的总线电平是5v的,而dsp的接口电平是3.3v的,二者接口时要使用电平转换器。可以使用74lvcth164245进行转换,也可以使用cpld进行转换。
以太网链路层遵循的ieee802.3协议的csma/cd和crc校验等功能由网卡控制芯片lan91c113完成,dsp芯片则完成其他tcp/ip协议的解释和执行。dsp控制lan91c113完成通信任务时,首先要对lan91c113复位,并对lan91c113的寄存器进行初始化,确定发送和接收的条件,然后才能发送数据或接收数据。当一帧数据发送结束、接收到一帧数据或出错等事件发生时,lan91c 113向tdsp申请中断,dsp响应中断后根据中断状态寄存器的内容进行相应的处理。在dsp内部,dsp程序完成对数据的打包解包。系统复位后,系统首先发送arp请求,建立地址映射,并内部中断进行定时更新。dsp芯片根据情况将采集或收集到数据按照tcp协议或udp协议格式打包,送人网卡芯片,由网卡芯片将数据输出到局域网中。反之,当有数据从rj45接口传输过来,网卡芯片产生外部中断,请求dsp进行处理。dsp芯片对数据包进行分析,如果是arp(物理地址解析)数据包,则程序转人arp处理程序。如果是ip数据包则进一步判断是哪个协议向ip传送数据。如果是icmp协议,判断是否为ping请求,是则应答,不是丢弃该数据包;如果是tcp或udp协议,且端口正确则按相应的协议处理数据,端口不正确丢弃数据包。接收数据处理程序框图如图2所示。
图2 数据处理接收程序流程
也可以使用查询方式进行数据通信。在查询方式下,通过curr和boundary两个寄存器的值来判断是否收到一帧数据。当curr和boundary不等时,说明接收缓冲区接收到了新的帧,主程序读取数据后,以读取帧的第二个字节(下一帧的页地址)更新curr和boundary,主程序循环跟踪这两个寄存器的值,达到接收数据的目的。主程序发送一帧数据时,先要查tsr寄存器来判断上一帧是否发送完毕。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
以太网产品供应商多、用户组网方便、费用低。以太网是当今最受欢迎的局域网之一,而数字信号处理器正加速进入嵌入式应用领域,如何将dsp与以太网连接起来,实现dsp与dsp或dsp与计算机间的网络互连显得非常重要。本案例使用lan91c113实现系统与网口的连接,其硬件电路如图1所示。
图1 lan91c113的电路设计
lan91cll3是支持ieee802.3协议;支持8位或16位数据总线;内置16kb的sdram用于收发缓冲;全双工,收发同时达到1 0m/100mbps;支持lobase5、10base2、10baset,并能自动检测所连接的介质,与主机有3种接口模式,即跳线模式、pnp模式和rt模式。
(1)跳线模式。这种模式与早期的网络控制器兼容。lan91c113的端口基地址、中断口等都由开关或跳线器决定。跳线模式简单,但配置资源麻烦。
(2)pnp模式。与微软的pnp协议兼容。在这种模式下,lan91c113的端口基地址、中断口等都由eeprom设定,但需要进行pnp芯片的识别,不便与dsp接口。
(3)rt模式。避免了pnp模式下的pnp芯片识别和配置过程,在这种模式下,lan91c113的端口基地址、中断口等也由eeprom设定。
为了简化dsp网络接口的软、硬件设计,不使用远程自举加载功能,并且选用跳线接口模式。用dsp的通用i/o口代替跳线器对lan91c113进行初始化配置,这样避免了跳线器更改资源配置的麻烦。lan91c113的总线接口是与dsp总线兼容,只要进行一些简单的逻辑变换就可以了。另外,lan91c113的总线电平是5v的,而dsp的接口电平是3.3v的,二者接口时要使用电平转换器。可以使用74lvcth164245进行转换,也可以使用cpld进行转换。
以太网链路层遵循的ieee802.3协议的csma/cd和crc校验等功能由网卡控制芯片lan91c113完成,dsp芯片则完成其他tcp/ip协议的解释和执行。dsp控制lan91c113完成通信任务时,首先要对lan91c113复位,并对lan91c113的寄存器进行初始化,确定发送和接收的条件,然后才能发送数据或接收数据。当一帧数据发送结束、接收到一帧数据或出错等事件发生时,lan91c 113向tdsp申请中断,dsp响应中断后根据中断状态寄存器的内容进行相应的处理。在dsp内部,dsp程序完成对数据的打包解包。系统复位后,系统首先发送arp请求,建立地址映射,并内部中断进行定时更新。dsp芯片根据情况将采集或收集到数据按照tcp协议或udp协议格式打包,送人网卡芯片,由网卡芯片将数据输出到局域网中。反之,当有数据从rj45接口传输过来,网卡芯片产生外部中断,请求dsp进行处理。dsp芯片对数据包进行分析,如果是arp(物理地址解析)数据包,则程序转人arp处理程序。如果是ip数据包则进一步判断是哪个协议向ip传送数据。如果是icmp协议,判断是否为ping请求,是则应答,不是丢弃该数据包;如果是tcp或udp协议,且端口正确则按相应的协议处理数据,端口不正确丢弃数据包。接收数据处理程序框图如图2所示。
图2 数据处理接收程序流程
也可以使用查询方式进行数据通信。在查询方式下,通过curr和boundary两个寄存器的值来判断是否收到一帧数据。当curr和boundary不等时,说明接收缓冲区接收到了新的帧,主程序读取数据后,以读取帧的第二个字节(下一帧的页地址)更新curr和boundary,主程序循环跟踪这两个寄存器的值,达到接收数据的目的。主程序发送一帧数据时,先要查tsr寄存器来判断上一帧是否发送完毕。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:蓝牙技术特点
上一篇:数字IP电话系统软件设计