基于Nios II的双网传真机系统的研究与开发
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)及用户程序。
评论