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