基于NiosII传真通信规程的分析与设计实现
1.4 调制解调器通信原理分析 2 传真规程设计实现 2.2 程序流程设计 3 验证与调试
由于Modem的性能不同,对应不同的工作模式,Class 1服务类别DCE提供为支持G3传真操作所需要的服务水平。DTE通过AT指令向Modem传递命令和参数。Modem执行AT命令的结果就是修改Modem寄存器的值,即设置Modem操作状态。通过设置Modem的服务类型后,拨号进入传真流程。
2.1 传真系统设计
系统开发工具选择QuartusII和NiosII IDE环境,结合SoPC技术,软硬件协同设计开发。器件选择Altera公司的Cyclone系列EPEC20F400C开发板,使用QuartusII中SoPC Builder对硬件系统进行定义,完成硬核开发的集成过程。根据设计需要对CPU进行定制,包括CPU的数据和指令缓存的大小、CPU寄存器数量等[4]。除了NiosII之外,还需要将外围设备的IP添加进来。本设计就是将在前面提到的各种NiosII自带的各种IP核(UART控制器、定时器等)添加进来,其余自定义的逻辑器件接口同CPU的连接只需在SoPC Builder中将对应的接口模块添加进来即可。
NiosII核与调制解调器通信是通过UART控制器实现的。原来的UART直接选用Altera公司提供的标准UART组件,通信时通过寄存器单字节收发,每个字节都会有中断触发。为了方便软件编程,Altera提供硬件抽象层HAL(Hardware Abstract Level)系统库驱动程序,该驱动程序是一个集成到HAL系统中的HAL字符模式设备驱动程序,代替访问UART寄存器,编程者直接使用HAL的API和ANSI C标准库函数访问UART。此时,UART相当于字符设备文件,可以像打开文件、读写文件一样操作UART设备。
对UART的操作与对文件的操作一样。打开UART设备后,向调制解调器发送的AT指令和HDLC帧数据以写文件的方式写入UART设备,UART把数据发送至调制解调器的串口,命令执行对应的操作。调制解调器通过串口把结果值和HDLC帧数据返回到UART设备,程序以读文件的方式从UART设备读取数据,并判断执行下一步对应的操作。系统框图如图4所示。
传真发送过程就是对Modem不断操作的过程,通过Modem完成数据的收发及信号的握手。DTE向调制解调器发送命令,调制解调器DCE对命令做出响应,完成该命令的操作,并返回命令执行的结果码。
对调制解调器发送的命令是AT指令,命令形式化为“AT+命令值”,例如“AT+FRH=3”,表示命令Modem准备以300 b/s的速率接收数据。根据T.30建议书的要求,发送的TCF信号是连续1.5 s的“0”序列,设计过程中通过反复实验,用软件连续发送一定的字节内比特位为0的数据,可达到通信要求。在接收TCF信号时,把接收到的0比特数据存入缓冲区,然后判断是否满足在当前通信速率下的连续0比特数据量。在报文传输阶段,发送的数据为处理后(扫描、二值化、编码)二进制数据,根据ITU-T T.4标准,传输的数据可以采用MH/MR/MMR编码,并且每行的编码数据发送时间不能少于20 ms[5]。所以编码数据传输时要对数据量小的一行编码进行0 bit填充,这部分在软件设计时实现。报文数据以字节为单位将8 bit数据高低位顺序颠倒,再传送给UART。报文数据传送完之后需添加发送结束标记DLE>ETX>,告诉Modem报文数据结束。
同样,接收传真时,T.30建议书对判断连续1.5 s的“0”没有具体要求,这里采用缓冲区数据判断,把接收的“0”存入缓冲单元,判断“0”的个数来决定当前的通信速率是否满足。在接收到报文数据后,需要把结束标记从数据中滤出,存入缓冲区,再传送给译码打印系统或存储Tiff文件。限于篇幅,仅给出如图5所示的发送单页传真样张软件实现流程图。
在NiosII IDE开发环境下完成设计代码,将Nios硬核和软件程序下载到FPGA开发板上,在线调试。最后在开发板上运行该程序,实现与远端普通传真机的传真业务通信。所选择的远端普通传真机为光电传真机OEF319系列传真机和Pansonnic系列传真机。测试主要内容为:
(1)发送传真。在PC机上将符合ITU标准的测试样张Tiff文件中的传真数据存储到文件,运行NiosII环境时暂存到缓冲区,执行传真通信,将传真数据发送出去。远端传真机打印出数据和样张对比,文字清晰可读。
(2)接收传真。和远端传真机通信,接收对方发来的传真数据并缓存。由于没有打印设备,不能有效对比接收数据和样张。把本次接收的数据缓存,作为发送传真的测试数据,基本保证了传真测试。采用这样的测试策略,接收传真的功能基本实现。在后面深入研究中,可以将打印设备添加到FPGA开发板的系统中,这样就完善了传真系统。
经测试对比分析,传真流程合理,与商用传真机正常通信。但传真附加功能和整个传真系统还有待于进一步完善。本文深入分析了T.30传真通信建议书,基于NiosII软件集成开发环境实现了传真通信规程,并将软件下载到Altera公司系列开发板上。通过测试验证,实现了和普通商用传真机的传真通信。基于NiosII软核的传真通信规程的实现,为嵌入式传真机提供了一种新的设计开发策略,为传真机产品升级和提高性能提供了参考;对打破国外传真机芯片及产品的垄断,实现中国传真机自主知识产权及产业化,都具有重要的现实意义。
分析 设计 实现 规程 通信 NiosII 传真 基于 相关文章:
- Amazon Kindle 2全球无线版——拆解&深度分析(04-09)
- 基于SPCE061A的射频读写器信号分析系统设计(08-26)
- 安捷伦与美国海军签手持式频谱分析仪大合同(12-01)
- 基于频谱分析来的RF功率和寄生噪声辐射限制(07-25)
- 矢量网络分析仪在移动网络建设和维护中的应用(12-05)
- 安捷伦保持业界50GHz最高噪声测量精度(12-10)