基于Nios II的双网传真机系统的研究与开发

发布者:rnm888最新更新时间:2010-06-22 来源: 刘永平,韩俊刚关键字:NiosII  双网传真机  半色调图像处理  μC/OS-II 手机看文章 扫描二维码
随时随地手机看文章

  摘  要: 基于Nios-II设计和实现了支持PSTN网络、Internet网络的双网传真机系统,利用FPGA实现了传真机系统的多个电路模块,包括A/D采样控制逻辑、二值化图像处理模块、MH编码模块、MH译码模块和CIS扫描、TPH打印、电机控制模块。基于μC/OS-II、Niche TCP/IP实现了T30协议通信、非实时网络传真通信、Tiff文件创建、Tiff文件解析模块。使用Altera Cyclone EP1C20开发板实现和验证了整机系统,经过软硬件联调,达到了系统设计指标和功能。

  双网传真机是指可以接入Internet网络和PSTN网络中进行发送和接收文字、图像、图文稿件的传真机。由于Internet技术的发展,Internet以其方便性、价格低廉等特点在当今通信中占有重要地位。普通传真机通过PSTN网络进行传真,发送和接收耗时,速度慢,而且费用比较昂贵。本文设计和开发的双网传真机不仅可以兼容普通传真机,而且可以使用Internet网络进行收发传真,具有速度快、费用低廉的特点。

  1 双网传真机接入网络

  本文设计的双网传真机接入Internet和传真服务器进行通信,通信协议是非实时传真标准协议,通过该传真服务器中转将传真推送到目标传真机,根据目标传真机是双网传真机还是普通传真机,选择对应的Internet网络、PSTN网络进行推送。接入PSTN网络和目标传真机通过T30[1]协议进行通信。通过Internet发送,在扫描稿件时将稿件数据和信息封装成Tiff文件的形式,通过非实时传真标准协议将文件发送到传真服务器,传真服务器判断该传真是发往普通传真机还是双网传真机。如果发往普通传真机,服务器会解析Tiff文件并将解析出的传真编码数据发往普通传真机;如果发往双网数字传真机,则将该tiff文件放到用户目录中,等待双网传真机自动或者手动收取。其在整个双网传真系统中的位置如图1所示。

  2 双网传真机系统设计

  本文设计的双网传真机以Nios II嵌入式软核为处理器,采用SoPC[2]的软硬件协同设计方法进行设计,以求最佳的性能价格比。SoPC技术硬件用Altera公司的FPGA技术来实现,软件用C语言编程实现,操作系统平台采用实时操作系统内核μC/OS-II、TCP/IP协议栈使用Niche TCP/IP协议栈。以Altera Cyclone EP1C20为实验板进行系统实现和验证。

  根据对传真机功能和性能的分析,提出将耗时、算法复杂、数据处理量大的模块用电路实现,需要提供精确的时序信号逻辑也用电路实现,而对时间要求不苛刻的场合、CPU处理速度能跟上的功能模块用软件来实现。同时尽量利用可以利用的软硬件模块单元,增强系统的稳定性和可靠性,减少重复设计,缩短开发周期。系统设计的结构图如图2所示。

  系统开发工具采用Altera公司提供的Quartus II和Nios II IDE。在Quartus II软件内,使用SoPC Builder开发硬件模块,形成硬件设计文件和自定义软件开发环境。Nios II IDE是基于GNU C/C++编译器和Eclipse IDE的,设计者可以很快开发、调试和仿真Nios II系统,开发模块驱动程序、板级支持包(BSP)及用户程序。[page]

  2.1 双网数字传真机系统硬件设计

  本文设计的双网数字传真机以Altera Nios II软核为处理器、CIS扫描器件、电机、TPH打印器件、CIS、电机、TPH打印驱动板、Alter EP1C20开发板、Modem为硬件平台,通过Altera的FPGA实现硬件电路模块,主要需要实现的电路模块有A/D采样控制逻辑模块、图像二值化处理模块、MH[3]编码模块、MH译码模块、扫描、打印、电机时序驱动逻辑模块。

  (1)A/D采样控制逻辑模块

  通过CIS扫描器件把原稿的光信号转化为电信号,将CIS扫描器件获得的模拟电信号通过A/D转换器件转化为8 bit的数字信号输入图像处理二值化模块。A/D采样控制逻辑完成A/D器件的时序驱动。

  (2)图像二值化处理模块

  本模块输入数据为A/D转化后的每像素8 bit数据,根据扫描原有文本、灰度图像、图文并茂3种类型自动判别选用不同的算法,进行伪灰度处理,即根据抖动表(Dither)进行二值化处理,得到人眼感觉有层次(灰度变化)的二值图像,即半色调图像(Halftone)。灰度值图像转化为二值图像的算法原理是:通过实际的中间色调信号与存储在ROM中的阈值信号比较形成二值图像信号。

  一般传真机采用的抖动表数据是8×8的Bayes矩阵,在实验中采用该方法处理得到的效果并不理想,图像对比度不是很强烈,整体效果较暗。因此作者根据FPGA硬件处理的特性,采用16×16的抖动矩阵对传真图像进行处理。采用该方法适应了FPGA 芯片拥有丰富寄存器资源的特点,用来存储改进抖动表,在不影响处理速度的情况下,明显改进图像的处理效果,提高图像对比度,图像效果比较接近原图。从得出的效果图可以明显看出,改进方案比原有Bayer抖动表做抖动的图像对比度要好得多,代价为增加了一千多位寄存器。从而较好地解决了对图像二值化处理中对比度不强的问题。

  (3)编码模块

  将二值化后的图像数据经一维MH编码后交付通信模块使用。MH编码是一维改进的Huffman编码,是ITU-T T.4[4]标准中的一部分,ITU-T T.4标准的全称是三类传真机终端文档传输标准。MH编码具有效率高、容易扩展等特点。三类传真机一般都实现了一维MH编码和译码,有的也实现了二维MR编码,本文用硬件电路实现一维MH编码。对于二值信源来说,一幅传真图像是由扫描线上的像素组成的。而每一扫描线又总是由一些黑像素和白像素组成。将连续发生的黑像素为连‘1’,白像素为连‘0’,也称为黑游程和白游程。连‘1’的个数称为黑游程的长度,连‘0’的个数称为白游程的长度。黑白游程交替出现。针对游程编码,哈夫曼MH码元很好地解决了传真信源的压缩问题,是T.30协议中规定的编码方式之一。实现时通过读取像素信息存储FIFO判断是黑游程还是白游程。当发生了黑白游程切换时,根据黑白游程计数形成码表访问地址,根据地址查找码表得到对应的编码码元。MHC编码硬件模块图如图3所示。

  该编码数据将封装在T30协议中进行传输,T30协议规定的每样张的数据传输格式如图4所示。其中EOL为End Of Line,即行同步码,格式为000000000001。同步码是紧跟在每一行扫描线之后的特殊码字,它在有效数据中不可能出现,因而在突发错误之后能重新建立同步。特殊地,每页文件的第一个数据之前也设置一个EOL。

  填充码fill的作用是保证每扫描线,即每一行的数据传输时间不小于某一规定时间T,T为发送一行编码数据所用的最小时间,ITU-T T.4标准建议中规定T=20 ms,不足20 ms时间应加入填充码,其格式为长度不一的全“0”串。RTC为返回控制码,其格式为6个连发的EOL码,表示一页文件码的传输结束。

  在通过Internet进行传真时需要将MH编码数据封装在TIFF文件中,封装成TIFF文件的过程通过软件模块实现。[page]

  (4)译码模块

  基于FPGA硬件电路实现图像MH译码模块,采用快速译码策略。在译码时,由于码元不等长且数据量较大,构造译码树较困难,应采用快速译码方法。快速译码算法的基本思想是采取多步合一的方法,一次输入的不是一个码元,而是多个码元。根据码表的特点可知,白游程最短码长是4,黑游程最短码长是2。由此在译码开始时,码元是以穿行的方式进入译码电路,对白游程可以直接读取4 bit,进入译码查找,若非完整编码再逐位读取;对黑游程可以直接读取2 bit,进入译码查找,若非完整编码再逐位读取。译码的具体算法如下:

  ①按游程类型读取对应最小编码长度编码;

  ②在形成码中进行匹配,若成功,按游程类型继续读取对应最小编码长度编码,转入③;否则转入④;

  ③终结码中匹配,失败则读取下一位继续匹配,直至成功;

  ④在终结码中进行匹配,匹配成功则跳入①重新开始;否则读取下一位编码,转入②。重复以上操作,直到本行结束;

  (5)扫描、打印、电机驱动逻辑。

  本硬件模块采用FPGA实现,主要提供CIS扫描器件、TPH打印器件、电机的驱动时序信号。

  2.2 双网数字传真机软件设计

  操作系统采用实时操作系统内核?滋C/OS-II,硬件抽象层HAL[5]由Nios II开发工具生成,TCP/IP协议栈使用移植到μC/OS-II上的Niche TCP/IP协议栈。Altera EP1C20开发板含有SMSC LAN91C111-NE MAC/PHY芯片,该芯片完成网络中MAC/PHY功能。软件主要完成系统控制和T30协议通信过程、非实时传真通信过程、Tiff[6]文件创建、Tiff文件解析。由于μC/OS-II是多任务的实时内核,故系统划分和设计了以下任务:

  (1)Init任务:初始化任务,建立任务之间的通信量。

  (2)TCP/IP协议栈任务:Inet_main任务,该任务负责TCP/IP协议的运行。

  (3)clock tick任务:系统ticks任务。

  (4)T30发送任务:实现发送一封传真的T30通信过程。

  (5)T30接收任务:实现接收一封传真的T30通信过程。

  (6)SMTP发送任务:通过SMTP命令EHLO、AUTH、RCPT、MAIL、DATA、QUIT和传真服务器进行对话,基于SMTP协议实现非实时传真通信协议,即按照服务器接收的发送传真格式发送一封特殊邮件到服务器。其中传真数据文件以附件的方式附在这封有固定格式和含义的邮件中,图像数据需要封装成Tiff文件的形式,附件发送时需要按照SMTP协议将数据重新编码为base64格式的编码数据才能进行发送。该封邮件内容固定格式中含有账号密码、发送参数、发往目标号码列表信息等内容,是非实时传真通信协议中规定的内容。

  (7)POP3接收任务:通过POP3命令USER、PASS、STAT、RETR、QUIT实现与传真服务器的对话,从传真服务器收取一封特殊的邮件,该邮件的附件即为传真图像数据Tiff文件。收取下来的Tiff文件是base64编码数据,首先需要将文件数据进行base64解码还原出Tiff文件。

  (8)Tiff文件解码任务:Tiff文件是标签式文件,按照Tiff文件的格式和对应标签含义解析出Tiff文件的信息和具体的图像数据,然后触发MH解码电路模块工作并驱动电机和TPH打印模块打印黑白像素点。

  (9)创建Tiff文件任务:根据Tiff文件信息标签组建Tiff文件。

  双网传真机系统在Altera Cyclone EP1C20实验板、外加驱动板、Modem等硬件基础上开发成功,通过反复软硬件调试,软硬件运行稳定、达到系统功能指标。利用了μC/OS-II能够稳定、安全处理并发多任务这一特点,软件模块稳定运行,体现出较高的实时性和可靠性,取得了较好的实际效果。本系统可以自己设计和生产带Altera FPGA芯片的实验板,集成Ethernet MAC/PHY芯片和Modem芯片等,降低系统成本。同时本系统还可以与PC机联网,通过PC机向双网传真机发送文件和接收文件,这样可以提高工作效率并减少纸张浪费,适合于公司集团用户作为传真中转工作机,具有一定的市场应用价值。

  参考文献

  [1] ITU-T Recommendation T.30 Procedures for document  facsi-mile transmission in the general switched telephone  network[S].2005.

  [2] 李兰英.Nios II嵌入式软核SoPC设计原理及应用[M].北京:北京航空航天大学出版社,2006.

  [3] 刘立柱.网络传真通信原理与技术[M].北京:国防工业出版社,2006.

  [4] ITU-T Recommendation T.4 Standardization of Group 3  facsimile terminals for document transmission[S].2003.

  [5] Nios II软件架构解析[M].西安:西安电子科技大学出版社,2007.

  [6] RFC2306-Tag Image File Format(TIFF)-F Profile for Facsimile[S],1998.

关键字:NiosII  双网传真机  半色调图像处理  μC/OS-II 引用地址:基于Nios II的双网传真机系统的研究与开发

上一篇:Altera荣获TechAmerica基金会“美国技术奖”
下一篇:基于FPGA的模式可变的卫星数据存储器纠错系统

推荐阅读最新更新时间:2024-05-02 21:04

μC/OS-II在S3C44BOX处理器上的移植
    μC/OS-II 功能强大,支持56个用户任务,其内核为占先式,支持信号量、邮箱、消息队列等多种常用的进程间通信机制,现已成功应用到众多商业嵌入式系统中,是一个成熟稳定的实时内核。与大多商用RTOS不同的是, μC/OS-II 公开所有的源代码,90%的代码使用标准的ANSI C语言书写,程序可读性强、移植性好;同时它可免费获得,即使商业应用也只收取少量的许可费用。因此,对 μC/OS-II 实时操作系统的学习研究、开发、应用具有重要意义。       Samsung S3C44B0X微处理器是三星公司专为手持设备和其它嵌入式应用提供的高性价比的微控制器解决方案。它使用ARM公司的16位/32位RISC结构,内核
[嵌入式]
μC/OS-II在S3C44BOX处理器上的移植
摘要:介绍实时操作系统μC/OS-II的特点和内核结构,给出μC/OS-II在Samsung嵌入式S3C44BOX ARM7微处理器上的移植的步骤及详细相关代码,同时阐述μC/OS-II在应用中应注意的问题。 关键词:μC/OS-II S3C44BOX 移植 实时操作系统 μC/OS-II功能强大,支持56个用户任务,其内核为占先式,支持信号量、邮箱、消息队列等多种常用的进程间通信机制,现已成功应用到众多商业嵌入式系统中,是一个成熟稳定的实时内核。与大多商用RTOS不同的是,μC/OS-II公开所有的源代码,90%的代码使用标准的ANSI C语言书写,程序可读性强、移植性好;同时它可免费获得,即使商业应用也只收取少量的许可费用。因此
[嵌入式]
μC/OS-II的多任务信息流与CAN总线驱动
摘要:阐述μC/OS-II多任务信息流关键技术与中断处理的一般方法和PC体系中断的基本概念;以CAN总线为例,详细分析在x86实模式下基于μC/OS-II的CAN总线驱动的实现过程。 关键词:μC/OS-II RTOS嵌入式系统 设备驱动 中断处理程序(ISR) 进程调度 μC/OS-II是美国人Jean Labrosse编写的一个免费的、源码公开的嵌入式实时内核。对于开发计算机嵌入式应用产品的技术人员来说是一个实用价值很高的实时嵌入式操作系统ERTOS(Embedded Real Time Operation System)。   要开发出完善的ERTOS,就要在多任务的调度和对I/O设备操作的稳定性、协调性方面做出大
[应用]
μC/OS-II在ARM平台上移植的深入探讨
    μC/OS-II在ARM平台的移植是一个重要的学习过程,有助于提高对RTOS的认识与理解,从而提高嵌入式工作者的理论与技术水平。μC/OS-II是一个小的实时内核,源代码公开,有详尽的解释。正是因为其内核小,才便于研究、理解和掌握。另外,参照TCP/IP协议、标准和一些公开的图书,在μC/OS-II上增加TCP/IP协议栈,蓝牙通信软件、红外通信协议也十分方便,商业价值得到了认可。     随着科技的发展,嵌入式应用的复杂性越来越高,同时ARM体系处理器的价格越来越低,ARM平台 + 实时操作系统的架构体系的使用会越来越广泛。有鉴于此,本文对μC/OS-II在ARM平台下的移植进行了深入探讨。 1 操作系统μC/O
[嵌入式]
基于NiosII的视频采集与DVI成像
视频采集是进行图像及图形处理的第一步,目前视频采集系统一般由FPGA和DSP组成,FPGA作为视频采集控制芯片,DSP作为图像处理与成像控制芯片 。随着FPGA技术的发展,片内的逻辑单元越来越多,片内的DSP资源也越来越丰富,因此可直接在FPGA片内进行图像处理。目前Altera公司的FPGA支持NiosII 软核,通过Avalon设备总线挂接自定义模块,编写用户控制程序。本设计通过Avalon总线读取RGB像素值进行像素处理,通过I2C总线初始化视频解码芯片和DVI视频编码芯片。NiosII是一种可配置片内外设的软核CPU,采用RISC精简指令系统,流水线处理技术,用户可自定义Avalon总线外设构成SoC系统,支持32 b
[测试测量]
基于<font color='red'>NiosII</font>的视频采集与DVI成像
μC/OS-II的任务切换机理及中断调度优化
引言 在嵌入式操作系统领域,由Jean J. Labrosse开发的μC/OS,由于开放源代码和强大而稳定的功能,曾经一度在嵌入式系统领域引起强烈反响。而其本人也早已成为了嵌入式系统会议(美国)的顾问委员会的成员。 不管是对于初学者,还是有经验的工程师,μC/OS开放源代码的方式使其不但知其然,还知其所以然。通过对于系统内部结构的深入了解,能更加方便地进行开发和调试;并且在这种条件下,完全可以按照设计要求进行合理的裁减、扩充、配置和移植。通常,购买RTOS往往需要一大笔资金,使得一般的学习者望而却步;而μC/OS对于学校研究完全免费,只有在应用于盈利项目时才需要支付少量的版权费,特别适合一般使用者的学习、研究和开发。自1992
[单片机]
μ<font color='red'>C</font>/<font color='red'>OS-II</font>的任务切换机理及中断调度优化
嵌入式实时操作系统μC/OS-II及其应用
早在上世纪六十年代,就已经有人开始研究和开发嵌入式操作系统。但直到最近,它才在国内被越来越多的提及。其在通信、电子、自动化等需要实时处理的领域所日益显现的重要性吸引了人们越来越多的注意力。针对国内大部分用户使用的51系列的8位处理器,我们可以选择μC/OS-II 。 μC/OS-II是由Labrosse先生编写的一个开放式的内核,它最主要的特点就是源码公开的自由软件。这一点对于用户来说可谓利弊各半;好处在于,一方面它是免费的;另一方面用户可以根据自己的需要对它进行修改。坏处在于,它缺乏必要的支持。它没有功能强大的软件包,用户通常得自己编写驱动程序,特别当用户使用的是不太常用的单片机,还必须自己编写移植程序。   μC/OS-I
[嵌入式]
试论将μC/OS-II用于单片机教学
摘要:当前,大学中的“嵌入式系统与单片机应用”及类似课程的教学内容和实验正处在转型期,由单纯8位机转向8位、16位、32位并举;开发方式上,仿真器在逐步退出;嵌入式实时操作系统被引入教学。本文就相关课程内容与实验平台方案的设计提出一些看法,以引起同行的思考与讨论。 关键词:单片机 嵌入式 RTOS μC/OS 教学 培训 引 言 在2003年天津举行的“全国单片机及嵌入式系统学术年会”上,来自全国各地几十所大学的教师对单片机与嵌入式系统教学展开了热烈的讨论。这里,就我们的认识介绍如下,以达到抛砖引玉的目的。 1 单片机与嵌入式系统应用类课程的转型期   当前,单片机与嵌入式系统应用类课程正处在转型期。过去的20年中,
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved