位置:51电子网 » 技术资料 » 通信网络

基于TCP/IP协议的嵌入式网络打印服务器的实现

发布时间:2008/5/29 0:00:00 访问次数:368

摘要:运用嵌入式internet技术,设计了一个基于tcp/ip协议的嵌入式网络打印服务器,给出了系统中tcp/ip协议的剪裁方案,分析了系统软硬件的设计思路,最后通过测试程序验证了其可行性。

关键词:嵌入式 以太网 tcp/ip协议 网络打印

随着信息技术的发展和网络时代的到来,基于tcp/ip协议的嵌入式internet技术越来越受到人们的关注。目前,大多数嵌入式设备仍处于孤立应用阶段[1],为了实现多个mcu之间的信息共享和交流,通常利用can、rs232和rs485等总线组网。但是这些网络的有效半径较短,并且孤立于internet网络以外,如果能把嵌入式设备直接接入internet,就可以用方便、低廉的方式实现信息的共享。因此,研究和应用嵌入式internet技术具有非常重要的意义。

传统的网络打印有两种方法:一种是采用“网络共享方式”,另一种是使用专用网络打印机。专用网络打印机成本很高,普通用户难以承受。若采用“网络共享方式”打印,网内必须有一台计算机来充当打印服务器,若这台计算机出现故障或关机,网内的其它计算机就无法打印,使用起来很不方便。嵌入式网络打印服务器解决了这个问题,使普通打印机不再是依附于主机的一外设,而成为网络中一个孤立的设备,使用起来更加灵活方便。本文在研究嵌入式internet技术的基础上,设计了基于tcp/ip协议的嵌入式网络打印服务器,普通打印机通过此嵌入式打印服务器可直接接在hub上,升级为一台“网络打印机”。客户端可在局域网内部实现网络打印,远端客户可通过网关实现远程打印。其具体结构如图1所示。

1 系统总体结构

1.1 硬件电路

嵌入式打印服务器的硬件电路如图2所示。该电路主要包括以下四部分:①微处理器;②以太网控制器;③打印机接口电路;④串口通讯电路。

嵌入式打印服务器需要处理复杂的tcp/ip协议和以太网驱动程序,程序代码较长,但系统要求快速地处理以太网帧,顺利完成数据收发任务。基于以上考虑,微处理器采用台湾winbond公司的w77e58,此芯片内核与51系列兼容,内含32k flash rom,指令的执行速度很快,是普通51系列单片机的3~4倍,时钟频率最高可设置为40mhz。此芯片内含三个16位的定时/计数器,两个全双工串行口,一个软件可编程的看门狗定时器。采用软件看门狗技术,可用来提高本系统的抗干扰能力,防止程序跑飞。

网卡接口芯片采用性价比较高的全双工的rtl8019as。此芯片为10m isa以太网控制器芯片,为100个引脚pqfp封装,内部集成有16mb sram,与ne2000兼容,16位数据总线,可配置为8位dma方式进行数据传输,与8位单片机接口方便[2]。

另外,系统还扩展一片62256 ram和一片24c02 e2prom。ram的作用有两个:一是用来缓存从网卡芯片接收下来的数据帧,二是用作打印数据的缓冲和串口通讯数据的缓冲,以提高数据的吞吐率。24c02为串行e2prom,其容量为2kb,可通过i2c总线与单片机通信,其接口非常简单,只需要通过scl和sda两条线与单片机相连即可。其作用是用来存储上位机通过rs232串口下载下来的一些重要参数,如主机的ip地址、子网俺码、网关ip地址等。这里采用max232作为rs232的电平转换芯片,完成ttl电平到rs232电平的转换,实现上位pc机与单片机之间的通讯。

1.2 软件设计

软硬件开发工具分别选用keil c51编译器和伟福6000仿真器。程序主要包括以下四部分:①以太网驱动程序;②tcp/ip协议解析程序;③打印机接口程序;④串口通讯中断服务程序。图3为主程序流程图。

1.2.1 以太网驱动程序

首先对rtl8019as进行复位操作。复位操作有两种方法:冷复位和热复位。

(1) 冷复位

将w77e58的t0引脚接rtl8019as的复位端rstdrv进行复位操作,高电平有效。复位过程将执行一些基本操作,至少需要1μs的时间,推荐等待更久的时间如100ms之后才对它操作,以确保芯片完全复位。

摘要:运用嵌入式internet技术,设计了一个基于tcp/ip协议的嵌入式网络打印服务器,给出了系统中tcp/ip协议的剪裁方案,分析了系统软硬件的设计思路,最后通过测试程序验证了其可行性。

关键词:嵌入式 以太网 tcp/ip协议 网络打印

随着信息技术的发展和网络时代的到来,基于tcp/ip协议的嵌入式internet技术越来越受到人们的关注。目前,大多数嵌入式设备仍处于孤立应用阶段[1],为了实现多个mcu之间的信息共享和交流,通常利用can、rs232和rs485等总线组网。但是这些网络的有效半径较短,并且孤立于internet网络以外,如果能把嵌入式设备直接接入internet,就可以用方便、低廉的方式实现信息的共享。因此,研究和应用嵌入式internet技术具有非常重要的意义。

传统的网络打印有两种方法:一种是采用“网络共享方式”,另一种是使用专用网络打印机。专用网络打印机成本很高,普通用户难以承受。若采用“网络共享方式”打印,网内必须有一台计算机来充当打印服务器,若这台计算机出现故障或关机,网内的其它计算机就无法打印,使用起来很不方便。嵌入式网络打印服务器解决了这个问题,使普通打印机不再是依附于主机的一外设,而成为网络中一个孤立的设备,使用起来更加灵活方便。本文在研究嵌入式internet技术的基础上,设计了基于tcp/ip协议的嵌入式网络打印服务器,普通打印机通过此嵌入式打印服务器可直接接在hub上,升级为一台“网络打印机”。客户端可在局域网内部实现网络打印,远端客户可通过网关实现远程打印。其具体结构如图1所示。

1 系统总体结构

1.1 硬件电路

嵌入式打印服务器的硬件电路如图2所示。该电路主要包括以下四部分:①微处理器;②以太网控制器;③打印机接口电路;④串口通讯电路。

嵌入式打印服务器需要处理复杂的tcp/ip协议和以太网驱动程序,程序代码较长,但系统要求快速地处理以太网帧,顺利完成数据收发任务。基于以上考虑,微处理器采用台湾winbond公司的w77e58,此芯片内核与51系列兼容,内含32k flash rom,指令的执行速度很快,是普通51系列单片机的3~4倍,时钟频率最高可设置为40mhz。此芯片内含三个16位的定时/计数器,两个全双工串行口,一个软件可编程的看门狗定时器。采用软件看门狗技术,可用来提高本系统的抗干扰能力,防止程序跑飞。

网卡接口芯片采用性价比较高的全双工的rtl8019as。此芯片为10m isa以太网控制器芯片,为100个引脚pqfp封装,内部集成有16mb sram,与ne2000兼容,16位数据总线,可配置为8位dma方式进行数据传输,与8位单片机接口方便[2]。

另外,系统还扩展一片62256 ram和一片24c02 e2prom。ram的作用有两个:一是用来缓存从网卡芯片接收下来的数据帧,二是用作打印数据的缓冲和串口通讯数据的缓冲,以提高数据的吞吐率。24c02为串行e2prom,其容量为2kb,可通过i2c总线与单片机通信,其接口非常简单,只需要通过scl和sda两条线与单片机相连即可。其作用是用来存储上位机通过rs232串口下载下来的一些重要参数,如主机的ip地址、子网俺码、网关ip地址等。这里采用max232作为rs232的电平转换芯片,完成ttl电平到rs232电平的转换,实现上位pc机与单片机之间的通讯。

1.2 软件设计

软硬件开发工具分别选用keil c51编译器和伟福6000仿真器。程序主要包括以下四部分:①以太网驱动程序;②tcp/ip协议解析程序;③打印机接口程序;④串口通讯中断服务程序。图3为主程序流程图。

1.2.1 以太网驱动程序

首先对rtl8019as进行复位操作。复位操作有两种方法:冷复位和热复位。

(1) 冷复位

将w77e58的t0引脚接rtl8019as的复位端rstdrv进行复位操作,高电平有效。复位过程将执行一些基本操作,至少需要1μs的时间,推荐等待更久的时间如100ms之后才对它操作,以确保芯片完全复位。

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!