劉寶明,雷 虎,尹樹華,**
(1.西安通信學院,西安710065;2.西安翻譯學院,西安710105)
隨著信息化技術的迅猛發(fā)展,越來越多的文本、圖片數(shù)據(jù)需要通過網(wǎng)絡進行傳輸。文件信息的傳送基于兩種方式:一是采用基于IP 技術的互聯(lián)網(wǎng)絡,通過郵件或即時通信技術來傳送;二是基于計算機加調(diào)制解調(diào)器,通信的雙方提前預約好,經(jīng)過計算機的超級終端進行文件傳送。這兩種文件傳送方式都存有弊端:前者需要計算機網(wǎng)絡已經(jīng)架設好,通信雙方均具備上網(wǎng)條件,但是電子郵箱容量所限,也只能傳送一些小文件;后者需要通信雙方在文件傳送之前電話聯(lián)系,在雙方的電腦開機并連上調(diào)制解調(diào)器后才能傳送文件,任何一方不在現(xiàn)場都無法完成文件的傳送。
針對以上文件的信息傳送問題,項目組通過對基層機動單位實地考察,從地理條件、資金投入與技術力量等諸因素綜合考慮,研制了一種便攜式且適合基層機動單位使用的數(shù)據(jù)傳送終端,方便了基層機動單位的文件收集、分發(fā)及管理。便攜式數(shù)據(jù)傳送終端的設計思想是,著眼于基層機動單位信息化工作和管理的需求,采用成本低、功耗小的微處理器,以性能穩(wěn)定、便于攜帶和易于操作使用的實用型為特點,利用此數(shù)據(jù)傳送終端以及系統(tǒng)服務器,構建出一個完整的信息收集、分發(fā)及管理平臺。
文獻檢索顯示,在國內(nèi)尚未有此類產(chǎn)品的研制、開發(fā)及銷售信息報道。所研制的數(shù)據(jù)傳送終端具有較強的功能以及低廉的價格,在應用推廣上具有優(yōu)勢。
數(shù)據(jù)傳送終端整體方框如圖1所示,Atmega128系統(tǒng)作為整個傳送終端的主控系統(tǒng),完成鍵盤監(jiān)控、液晶顯示內(nèi)容的傳送與刷新、串口通信及調(diào)制解調(diào)器的控制任務;Atmega128 通過SL811HS 完成U 盤文件讀寫等操作;SD 卡是備份存儲介質,若系統(tǒng)沒有插入U 盤,則接收的文件存儲在SD 卡中[1-2]。
圖1 整體方框圖Fig.1 Block diagram of the data transmission terminal
系統(tǒng)的主要功能有:集成摘機、撥號和掛機等信令傳送功能;具有數(shù)據(jù)傳輸加密功能;支持PC 型數(shù)據(jù)終端進行交互式數(shù)據(jù)通信(服務器端);無人值守自動接收文件;實現(xiàn)與整個通信系統(tǒng)各種類型的數(shù)據(jù)終端進行數(shù)據(jù)文件的可靠發(fā)送和接收,具備斷點續(xù)傳功能,自動記錄文件收發(fā)事件;自動識別對方終端的類型,以最有效率的方式進行數(shù)據(jù)傳送;實現(xiàn)各終端自動分發(fā)文件,或者自動從各終端收集文件(服務器端);具有較強的容錯能力,能自動處理各種異常情況;軟件提供在線幫助,方便操作者解決使用中遇到的疑難問題。
所設計的系統(tǒng)硬件主要由系統(tǒng)主控模塊、U 盤控制模塊、邏輯控制模塊、調(diào)制解調(diào)模塊構成[3-4]。
采用ATMEL 公司的Atmega128 單片機作為傳送終端的核心控制器。Atmega128 芯片是高性能、低功耗的AVR 8 位微處理器,其主要特征為:先進的RISC 結構;非易失性的程序和數(shù)據(jù)存儲器;JTAG接口(與IEEE 1149.1 標準兼容);獨特的外設;特殊的處理器。
居USB 核心地位的是主機,USB 的每次數(shù)據(jù)傳送都必須由主機發(fā)起和控制,所有的USB 外設都只能和主機建立連接,任何兩個外設之間或是兩個主機之間無法直接通信。
為了讓Atmega128 能控制U 盤,進行文件的讀寫等操作,必須通過USB 主控芯片來實現(xiàn)對U 盤的控制。USB 主控芯片選用 CYPRESS 公司的SL811HS,該芯片可支持全速數(shù)據(jù)傳輸,內(nèi)含USB主/從控制器,可與微處理器、微控制器、DSP 相連,其數(shù)據(jù)接口與微處理器進行接口可提供8 位數(shù)據(jù)I/O或雙向DMA 通道,并能以從機操作方式支持DMA 數(shù)據(jù)傳送,其內(nèi)部有一個156 字節(jié)的RAM,用于控制寄存器(或數(shù)據(jù)緩沖器)。
設計選用EPM3032 作為邏輯控制模塊,其完成的主要功能有:單片機地址信號鎖存;SL811HS 中斷控制;SD 卡、片外擴展SRAM 的片選控制。由于該CPLD 芯片的可編程性,使得系統(tǒng)的控制邏輯設計起來非常方便。
調(diào)制解調(diào)器模塊電路設計中,采用L2800 和RP560芯片組,支持的數(shù)據(jù)協(xié)議為:ITU- TV.90/K56Flex、V.34、V.32bis、V.32、V.22bis、v.22、v.23和v.21。
程序設計分為核心層和應用層。核心層程序完成底層硬件的控制,如鍵盤的掃描、顯示屏的控制、U 盤的插拔檢測、文件的讀寫刪除等、EEPROM 讀寫、串口的讀寫等一切與硬件平臺相關的操作,核心層向應用層提供函數(shù)調(diào)用接口。應用層程序則負責文件的發(fā)送接收、向液晶屏上打印輸出信息等。
核心層程序由SL811HS 的驅動控制模塊、文件操作模塊、鍵盤及顯示屏控制模塊構成。
SL811HS 驅動控制模塊主要包括初始化模塊、枚舉模塊、讀字節(jié)模塊、寫字節(jié)模塊、讀緩沖區(qū)模塊、寫緩沖區(qū)模塊等。初始化模塊用來設置SL811HS的主/從機工作模式、全速或低速工作方式、內(nèi)部數(shù)據(jù)緩沖區(qū)結構等;而枚舉主要是指主機監(jiān)測到U 盤插入時,主機和U 盤之間產(chǎn)生的一個過程。當枚舉發(fā)生時,主機首先自動發(fā)出查詢請求,U 盤回應請求,并送出設備的VendorID 和DeviceID,然后由主機根據(jù)這兩個ID 裝載相應的設備驅動程序,以完成枚舉過程。通過枚舉不但可為U 盤設定設備地址,而且可以得到U 盤端點的描述表及U 盤支持協(xié)議,之后就可以根據(jù)U 盤所屬的子類及協(xié)議對U 盤進行操作。
用Atmega128 控制SL811HS 來讀寫U 盤的工作過程可以簡單地概括為:當SL811HS 從USB 總線檢測到U 盤插入后,通過中斷方式將此信息通知系統(tǒng),系統(tǒng)調(diào)用枚舉模塊獲得與此次傳送有關的各種參數(shù),根據(jù)傳送參數(shù)調(diào)用數(shù)據(jù)讀寫模塊以對SL811HS 的控制寄存器和數(shù)據(jù)寄存器進行相應的操作,最終完成對U 盤的讀寫。其寫文件流程如圖2所示。
圖2 寫文件流程圖Fig.2 The flow chart of writing files
通過對FAT 以及FAT32 文件格式的研讀及代碼分析,把FAT 和FAT32 文件格式代碼移植到Atmega128 上,使得終端支持FAT 及FAT32 文件格式的操作,并對兩種格式自動識別。
應用層軟件包括嵌入式數(shù)據(jù)傳送終端軟件和PC 服務器應用軟件兩種類型,服務器端軟件是基于Windows 98/2000/XP 系統(tǒng)、采用Visual C + + 6.0進行開發(fā)制作的全中文軟件,而嵌入式則采用C 語言進行開發(fā)。
便攜式數(shù)據(jù)傳送終端應用軟件主要由以下五部分組成:用戶接口模塊、通信信令模塊、文件發(fā)送模塊、文件接收模塊、收發(fā)記錄管理模塊、數(shù)據(jù)加解密模塊和核心層訪問模塊。此外,服務器版本軟件還有交互數(shù)據(jù)通信模塊,終端只能接收顯示特定格式的交互信息,不能輸入和發(fā)送。數(shù)據(jù)終端軟件構成如圖3所示。
圖3 數(shù)據(jù)終端軟件構成圖Fig.3 Structure diagram of software in data terminal
服務器端軟件的用戶接口模塊具有圖形化的用戶操作界面,采用全中文、窗口式的界面。嵌入式數(shù)據(jù)傳送終端的用戶接口模塊包括按鍵輸入、LED 顯示等,方便用戶使用。
信令收發(fā)模塊實現(xiàn)兩數(shù)據(jù)終端之間數(shù)據(jù)鏈路的建立和拆線功能。它采取標準AT 命令集,控制調(diào)制解調(diào)器進行呼叫、應答、拆線等操作。
交互數(shù)據(jù)通信模塊實現(xiàn)數(shù)據(jù)終端之間的交互數(shù)據(jù)通信功能[5-6],即直接將用戶輸入的文本傳送到對端并顯示在界面上。
文件收發(fā)模塊實現(xiàn)文件的接收或發(fā)送功能。文件收發(fā)協(xié)議是經(jīng)過改進的選擇重傳ARQ 協(xié)議,以適應機動環(huán)境通信線路的特點。結合文件收發(fā)記錄和用戶接口操作,實現(xiàn)文件的斷點續(xù)傳功能。
文件收發(fā)記錄管理模塊完成文件收發(fā)事件的自動記錄功能。記錄的內(nèi)容有序號、操作、文件長度、斷點位置、文件訪問時間、文件名、文件存取路徑等信息。
數(shù)據(jù)加密解密模塊旨在提高數(shù)據(jù)傳輸?shù)陌踩?,文件信?包括文件頭、文件內(nèi)容)和交互數(shù)據(jù)信息在發(fā)送前都必須進行加密,密鑰預先約定,在接收端進行解密,用戶不需要介入加解密過程。
核心層訪問模塊訪問兩部分:U 盤和SD 卡文件訪問以及系統(tǒng)內(nèi)的EEROM 讀寫。外設存儲器用于保存文件,系統(tǒng)內(nèi)的EEROM 用來存儲文件收發(fā)記錄信息。模塊功能由核心層程序提供函數(shù)接口。
系統(tǒng)的調(diào)制解調(diào)器采用了Hayes 的“AT”命令集。在此命令集下,調(diào)制解調(diào)器的狀態(tài)轉換關系如圖4所示。
圖4 調(diào)制解調(diào)器狀態(tài)轉移關系Fig.4 Transition relation in modem
文件的傳送是由發(fā)端首先發(fā)送文件標題幀,包括文件名、文件大小等內(nèi)容,然后啟動定時器,等待收端的應答;收到收端的應答之后,發(fā)端讀取文件數(shù)據(jù),按照順序發(fā)送,然后啟動定時器,等待收端的應答。在收端,如果文件幀數(shù)據(jù)全部正確,則將數(shù)據(jù)存入文件,然后發(fā)送應答幀;如果數(shù)據(jù)有錯或丟失,則收端將沒有正確接收的數(shù)據(jù)幀的幀號通過應答幀告訴發(fā)端,發(fā)端再將發(fā)生差錯的數(shù)據(jù)幀組成一塊,繼續(xù)發(fā)送,直到該塊數(shù)據(jù)發(fā)送成功為止。
文件傳送被中斷后,發(fā)端可以在中斷位置上繼續(xù)發(fā)送。收端檢查文件標題幀的信息和文件記錄表以及實際情況是否一致。如果一致,則可以繼續(xù)傳送文件,如果不一致,收端將發(fā)送拒絕響應幀。
終端A 與終端B 之間的通信協(xié)商及文件傳送如圖5所示。
圖5 鏈路建立及文件傳送示意圖Fig.5 Schematic diagram of link establishment and file transport
所研制的便攜式數(shù)據(jù)傳送終端樣機開通運行后,各項功能正常,性能穩(wěn)定,其技術指標達到預期的目標。
在下一步工作中,需要進一步增強終端設備的功能,完善語音圖像信號的采集、處理、存儲和傳送及其整體優(yōu)化。使用便攜式數(shù)據(jù)傳送終端,可以大大減少機動單位中文檔傳送及管理所消耗的人力、財力和物力,加速信息化建設。
[1] 生建友,翟助群. 電子設備基于PDCA 循環(huán)的可靠性設計[J].電訊技術,2014,54(1):97-101.SHENG Jianyou,ZHAI Zhuqun.Reliability Design Based on PDCA Recycle for Electronic Equipment[J].Telecommunication Engineering,2014,54(1):97-101.(in Chinese)
[2] 應宏,李夢蛟,劉福明,等.基于GridFTP 數(shù)據(jù)傳輸設計與實現(xiàn)[J].計算機科學,2006,33(5):146-155.YING Hong,LI Mengjiao,LIU Fuming,et al.The Design and Realization of Date Transfer Based on GridFTP[J].Computer Science,2006,33(5):146-155.(in Chinese)
[3] 張峰,王戰(zhàn)江.基于JESD204 協(xié)議的AD 采樣數(shù)據(jù)高速串行傳輸[J].電訊技術,2014,54(2):174-177.ZHANG Feng,WANG Zhanjiang. High- speed Serial Transmission for AD Capture Data Based on JESD204 Protocol[J]. Telecommunication Engineering,2014,54(2):174-177.(in Chinese)
[4] Pei Qingqi,Li Hongning,Ma Jianfeng,et al. Defense Against Objective Function Attacks in Cognitive Radio Networks[J].Chinese Journal of Electronics,2011,20(4):138-142.
[5] 農(nóng)毅. 基于CAN 總線和GPRS 的無線車載數(shù)據(jù)傳輸[J].計算機工程,2008,34(18):239-243.NONG Yi. Wireless Vehicle Data Transmission Based on CAN BUS and GPRS[J]. Computer Engineering,2008,34(18):239-243.(in Chinese)
[6] 竇如林,施衛(wèi)娟.基于SCTP 的Web 系統(tǒng)數(shù)據(jù)傳輸設計與實現(xiàn)[J].金陵科技學院學報,2014,29(2):20-24.DOU Rulin,SHI Weijuan. Data Transmission and Implementation of the Web System Based on SCTP[J].Journal of Jinling Institute of Technology,2014,29(2):20-24.(in Chinese)