基于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)及用戶程序。
評論