网络传真机是基于电话交换网和互联网络的传真存储转发,然后通过网络传真协议将数据文件发到网络传真服务器中,经服务器转发到目标网络传真机或者普通传真机的设备。传真图、文稿件数据经网络传真机扫描构件CIS(Contact Image Sensor)扫描成点阵数据,经过MH(Modified Huffman)编码模块编码成MH码字,通过图像传输系统进行传输。本文设计的网络传真图像传输系统可以将传真数据通过Inte-rnet网络发送到目标端,不但速度快,而且可以有效地节省网络费用。也称电子传真。它整合了电话网、智能网和互联网技术。能通过互联网发送和接收传真,不需要传统传真机的传真方式。通过网络传真机,用户可以象收发电子邮件一样接收和发送传真,具有方便、绿色环保、易管理等优点。
网络传真机通过图1所示的方式接入到网络中。网络传真机通过网络传真服务器进行转发,通信协议是非实时传真标准协议,根据目标传真机是网络传真机还是普通传真机,选择对应的Internet网络、PSTN网络进行推送。接入PSTN网络和目标传真机通过T30协议进行通信。通过Internet发送,传输的数据文件格式是Tiff,服务器会判断该传真是发往普通传真机还是网络传真机。如果发往普通传真机,服务器会解析Tiff文件并将解析出的传真编码数据发往普通传真机;如果发往网络传真机,则将该Tiff文件放到用户目录中,等待网络传真机自动或者手动收取。
网络图像传输过程如图2所示。在发送网络传真时,传真数据被封装成Tiff文件进行发送。发送过程是:通过扫描设备获得像素点数据,经MH编码模块编码成MH码字,由封装Tiff文件模块封装成Tiff文件,启动网络发送模块进行发送。接收过程是:通过网络接收一个Tiff文件,提取附件并取出Tiff文件进行Tiff文件解析,然后经MH解码和打印模块进行MH解码和发送打印时序,由TPH(Themal Print Head)打印设备完成打印输出。
Tiff文件的构造和解析是本系统设计的难点。Tiff文件是由许多标签组成的,分为文件头和IFD(Image File Header)两部分。一个IFD中存储一幅图像的信息,IFD可以由许多标签组成。一个Tiff文件的格式如图3所示。具体的每个标签的含义参考RFC 2301(File Format for Internet Fax)文档、Tiff 6.0 Specification文档.
Altera 推出的Nios II系列32位RSIC嵌入式处理器。Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在Altera FPGA中实现仅需35美分。Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II处理器,以后推出的FPGA器件也将支持Nios II。
能够满足任何应用32位嵌入式微处理器的需要,客户可以将代Nios处理器设计移植到某种Nios II处理器上,Altera将长期支持现有FPGA系列上的代Nios处理器。另外,Altera提供了一键式移植选项,可以升级至Nios II系列。Nios II处理器也能够在HardCopy器件中实现,Altera还为基于Nios II处理器的系统提供ASIC的移植方式。 Nios II处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。设计者能够用Altera Quartus II开发软件中的SOPC Builder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios II处理器核的数量。
使用Nios II软件开发工具能够为Nios II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。Nios II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,Nios II开发套件包括两个第三方实时操作系统(RTOS)——MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。
长期以来,Altera一直推行嵌入式处理器战略的原因是,随着应用的ASIC开发日益受到成本的困扰,OEM日渐转向FPGA来构建自己的系统。这些系统中绝大多数需要一个处理器,而Altera正是为设计者提供了为FPGA优化的灵活的嵌入式处理器方案,可以满足16位和32位嵌入式处理器市场的需求。估计到2007年,该市场价值将到达110亿美元。
在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Nios II处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。
系统硬件使用Altera Cyclone EPlC20开发板,CPU为NiosII。开发板含有SMSC LAN91C111-NE MAC/PHY芯片,用于实现网络中的MAC/ PHY功能。操作系统采用μC/OS-II,TCP/IP协议栈使用移植到μC/OS-II中的Niche TCP/IP协议栈。由于μC/OS-II是多任务实时内核,故图像传输系统设计了4个任务(Task)。任务之间的通信使用消息队列MailStorageQ、PrintStorageQ,如图4所示。
Create Tiff Task:该任务负责创建Tiff文件,调用构造Tiff文件的函数创建Tiff文件,调用成功后将Tiff文件的首地址通过消息队列MailStorageQ传递给发送网络传真的任务SmtpClientTask。
SmtpClientTask:该任务负责以SMTP协议的命令形式与网络传真服务器进行通信,命令有EHLO、AUTH、RCPT、MAIL、DATA、QUIT等。传真文件以邮件附件的形式进行发送。一封待发送的网络传真格式邮件(简称“邮件”)定义如下:邮件头,接着是一个空行,然后是邮件体(即正文),正文之后是附件。邮件头主要包括Date、From、To、Subject、Message-ID、Mime-Version、Content-Type等。正文是协议规定的标签:值格式的文本行,主要包含有账号密码、发送参数、发送目标号码列表信息等。附件是传真数据文件(Tiff文件)的base64编码字符。正文和附件在邮件中被分为两个Boundary。
Pop3ClientTask:该任务负责以POP3协议的命令形式与网络传真服务器进行通信,进行网络传真的收取。NetfaxprintTask:该任务负责分析邮件,解析邮件头,提取出附件(Attachment),对附件进行base64解码,然后对Tiff文件进行解析,定位出MH编码数据,交由MH编码和打印控制电路进行Tiff文件(传真)打印。
测试环境以亚森公司(AsiaTelecom)的网络传真服务器为传真服务器,Altera Cyclone EP1C20开发板为网络传真终端,开发板连接到Internet。
发送的Tiff文件(网络传真)样张如图5所示。接收的Tiff文件(网络传真)也可以成功解码和打印输出。
该网络传真图像传输系统成功解决了网络传真的图像组织与传输、解码以及打印的技术难题,对开发网络传真机具有重要意义。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。