蔣 楠, 賈云飛, 韓亞秋, 吳 雨
(南京理工大學(xué) 機械工程學(xué)院, 江蘇 南京 210094)
基于U盤存儲的無線式測時儀研制
蔣 楠, 賈云飛, 韓亞秋, 吳 雨
(南京理工大學(xué) 機械工程學(xué)院, 江蘇 南京 210094)
本文針對如今測時儀無法做到數(shù)據(jù)實時監(jiān)測的缺陷研制了一種基于U盤存儲的無線式數(shù)據(jù)傳輸測時儀, 當測時儀配接在相應(yīng)的區(qū)截裝置上, 獲取了區(qū)截裝置的起始觸發(fā)信號和終止觸發(fā)信號并通過公式計算出相應(yīng)的速度之后, 可通過U盤存儲或無線傳輸?shù)姆绞綄@取的數(shù)據(jù)傳輸給上位機, 摒棄了傳統(tǒng)的繁瑣傳輸過程, 達到實時監(jiān)控的作用. 其中在測時儀的硬件設(shè)計中包含有3個主要模塊: 主控模塊、 U盤存儲模塊和無線傳輸模塊. 測時儀將測試得到的兩個脈沖信號傳輸給CPLD進行計算后, 主控模塊控制U盤模塊進行存儲或通過無線傳輸發(fā)送給上位機. 其穩(wěn)定性良好, 且操作簡單可靠.
CH375芯片; 測時儀; 無線傳輸; 信號實時觀測
彈丸飛行速度是衡量直射武器威力性能的一項重要指標, 在武器外彈道測試中占有十分重要的地位. 其作為武器彈藥的試制和定型必須測試的主要參數(shù), 為自動武器內(nèi)外彈道理論研究和應(yīng)用提供了直接和間接的分析、 計算的原始數(shù)據(jù)[1]. 伴隨著區(qū)截測速裝置的高速發(fā)展, 對于配合區(qū)截測速裝置所使用到的測時儀應(yīng)用也越發(fā)廣泛. 測時儀被廣泛用于外彈道測試實驗中的彈丸速度和三維坐標等參數(shù)測量中. 測時儀是通過先后接收區(qū)截裝置發(fā)出的脈沖信號(起始觸發(fā)信號和截止觸發(fā)信號), 在起始觸發(fā)信號到來時開始計數(shù), 在截止觸發(fā)信號到來時停止計數(shù), 通過經(jīng)歷的計數(shù)脈沖個數(shù)和脈沖周期的乘積來獲取脈沖的時間間隔[2]. 但傳統(tǒng)的測時儀當區(qū)截裝置測得彈丸到達預(yù)定位置的時刻并計算出實際速度值之后, 大多需要拉線進行數(shù)據(jù)傳輸, 這種方法不僅不方便、 容易產(chǎn)生干擾影響信號的傳輸、 存在諸多安全隱患且無法達到對于數(shù)據(jù)實時的監(jiān)控和檢測. 針對這一問題, 本文設(shè)計了一種U盤存儲無線式測時儀來改進這一現(xiàn)況, 從而做到對于數(shù)據(jù)的實時監(jiān)控和處理.
1.1 U盤存儲無線式測時儀系統(tǒng)工作原理
本測時儀從硬件上將分為兩個部分, 測時部分以及傳輸部分, 即測試計數(shù)電路以及U盤存儲系統(tǒng). 其硬件結(jié)構(gòu)如圖 1 所示. 考慮到其核心技術(shù)意在改變傳統(tǒng)的傳輸方式, 故傳輸過程為重中之重.
圖 1 硬件結(jié)構(gòu)圖Fig.1 Hardware structure diagram
常用的區(qū)截裝置有線圈靶、 網(wǎng)靶和光幕靶等, 當飛行彈丸通過兩個區(qū)截裝置的瞬間, 區(qū)截裝置將采集的過靶信息傳輸給測時儀, 測時儀記下兩個區(qū)截裝置輸出的脈沖信號時間傳輸至CPLD中, 并根據(jù)兩個傳感器的間距 (也叫靶距) , 利用公式
(1)
(2)
式中:s為靶距;v為彈丸速度. 計算出相應(yīng)的彈丸速度v, 通過U盤無線式傳輸系統(tǒng)傳輸給上位機, 其U盤存儲時的仿真波形如圖 2 所示, 當信號脈沖到來時, U盤開始進行存儲功能, 當拔出U盤或斷電停止時, 結(jié)束存儲.
圖 2 U盤存儲仿真波形Fig.2 U disk storage simulation waveform
其中U盤無線式傳輸系統(tǒng)即系統(tǒng)的傳輸部分主要包括: 主控單元模塊、 U盤存儲模塊和無線傳輸模塊. 數(shù)據(jù)傳輸系統(tǒng)是一個主從式系統(tǒng). 主控模塊通過譯碼將測時儀采集到的過靶信息計算處理后轉(zhuǎn)換成十進制數(shù)傳輸給U盤存儲模塊進行存儲, 同時通過無線模塊傳輸給上位機, 達到實時觀測的目的.
在整個系統(tǒng)中, 所有命令由主設(shè)備發(fā)出, 從設(shè)備接收到命令以后, 執(zhí)行所要產(chǎn)生的操作[3]. 在本系統(tǒng)中的主控單元模塊包含了CPLD信號轉(zhuǎn)換單元與微控制器單元, 當CPLD接收到測時儀數(shù)碼顯示模塊發(fā)送來的高低電平數(shù)據(jù)之后, 對其進行轉(zhuǎn)換匹配成二進制數(shù)值并將其轉(zhuǎn)換成字符串, 經(jīng)過微控制單元的處理之后, 與U盤存儲模塊進行通訊, 如若U盤存儲模塊已經(jīng)準備好, 則將數(shù)據(jù)以字符串的形式寫入U盤, 如若U盤沒有連接, 則生成二進制數(shù)值傳輸給無線傳輸模塊.
本系統(tǒng)中的U盤存儲模塊考慮到單片機本身的速度限制以及外部程序的復(fù)雜性, 選擇CH375芯片作為USB的主控芯片. CH375芯片將直接為單片機提供數(shù)據(jù)塊的讀寫接口, 并以512b的物理扇區(qū)為基本的讀寫單位, 使USB存儲設(shè)備能夠簡化為一種外部數(shù)據(jù)存儲器自由讀取USB存儲設(shè)備里的數(shù)據(jù)內(nèi)容, 并通過主控單元模塊芯片處理信號將其轉(zhuǎn)換成為相應(yīng)的字符串. 其通過USB總線可以方便地掛接在單片機控制總線上, 實現(xiàn)與USB設(shè)備的通訊, 方法簡單、 便于操作、 綜合成本比較低, 具有較大的推廣應(yīng)用價值.
當U盤未連接時, 將通過無線傳輸模塊進行數(shù)據(jù)傳輸, 本系統(tǒng)的無線傳輸模塊主要包括了無線發(fā)射端和無線接收端, 接收端是通過UTC2303串口轉(zhuǎn)化器, 將TTL接口轉(zhuǎn)換成為USB接口與上位機相連接. 無線發(fā)射端通過主控單元模塊的命令發(fā)送數(shù)據(jù)和指令, 無線接收端接收到數(shù)據(jù)和指令之后, 自動通過串口傳輸給上位機, 從而實現(xiàn)對數(shù)據(jù)進行實時監(jiān)測和處理. 當一次數(shù)據(jù)發(fā)送完畢之后, 上位機再通過無線傳輸模塊發(fā)送復(fù)位指令給主控單元模塊, 使主控單元模塊進行復(fù)位, 并準備下一次測試數(shù)據(jù)的記錄. 該無線傳輸模塊的工作射頻為25 kbps.
1.2 單片機與CH375接口設(shè)計
單片機和CH375芯片的連接方式有并口連接和串口連接兩種[4]. 并口連接的傳輸速度較串口連接更快,但也需要更多的外部RAM,對于大多數(shù)51系列單片機,需進行外部RAM的擴展. 所以本系統(tǒng)選擇串口連接, 將CH375芯片的TXD引腳懸空, 并只與單片機連接TXD引腳、 RXD引腳以及INT#引腳, 其余引腳全部懸空. 另外, 為了使其滿足可以動態(tài)修改串口波特率的條件, 需要使用單片機的I/O引腳來控制CH375的RSTI引腳, 便于在必要的時候復(fù)位CH375以恢復(fù)到默認波特率. 其接線圖如圖 3 所示. 其次, 由于INT#引腳和TXD引腳在CH375復(fù)位期間只能提供微弱的高電平輸出電流, 所以在進行遠距離連接時, 為避免INT#或TXD受到干擾導(dǎo)致單片機的工作, 需要在TXD引腳或者INT#引腳上附加一個3 kΩ的上拉電阻, 以維持穩(wěn)定的高電平. 這樣, 即使得CH375芯片在復(fù)位之后INT#引腳及TXD引腳依然可以提供穩(wěn)定的4 mA高電平輸出電流或4 mA低電平吸入電流. 同時為了防止當電源為插入的U盤供電時, 電源電壓產(chǎn)生波動, 也可以在USB口上的電源和地之間接一個大于200 μF 的電容.
而為了獲得更高的系統(tǒng)穩(wěn)定性以及抗干擾性能, 優(yōu)先選擇5 V的電源, 因為CH375在5 V條件下比在3.3V條件下性能更高[5], 并且CH375的供電電源以及單片機的供電電源需要和USB插座的5 V電源相獨立, 以防止連接U盤時相應(yīng)的電容存在充電過程影響到單片機和CH375的工作. 同時在復(fù)位功能上, 為了使CH375得到可靠的復(fù)位, 需在電源與RSTI之間連接一個0.5 μF的電容, 來達到使電源上升電壓時間控制在100 ms之內(nèi). 其硬件連接圖如 4 所示.
圖 3 接線說明圖Fig.3 Wiring diagram
圖 4 硬件連接圖Fig.4 Hardware connection diagram
2.1 程序主流程設(shè)計
圖 5 系統(tǒng)總體流程框圖Fig.5 System overall flow chart
為了可以提供更加方便實時存儲測時儀數(shù)據(jù)結(jié)果的功效, 本測時儀在系統(tǒng)軟件設(shè)計中設(shè)計了上電初始化串口和中斷, 并設(shè)置標志位, 隨著中斷的產(chǎn)生, 讀取CPLD計算并轉(zhuǎn)換之后的數(shù)據(jù), 并將數(shù)據(jù)存儲至U盤中, 當U盤沒有連接時, 采用無線傳輸模塊將數(shù)據(jù)發(fā)送至上位機. 其總體流程框圖如圖 5 所示. 具體設(shè)置如下:
1) 系統(tǒng)初始化: 系統(tǒng)的初始化指對于單片機和CH375的初始化, 其中, 單片機初始化包括外部中斷的完成以及I/O口的初始化等. CH375的初始化使用CH375LibInit( )函數(shù)來進行工作選擇至USB主模式.
2) 設(shè)備檢測: 當設(shè)備連接完畢之后, CH375會以中斷的形式通知單片機, 單片機接受到中斷信息之后對其進行處理分析. 接著CH375內(nèi)置的固件程序?qū)⑼瓿蓪盤的配置, 首先是獲得設(shè)備描述符, 以判別設(shè)備是哪一類設(shè)備, 此時USB設(shè)備默認地址為0, 通信采用控制傳輸. 接下來主機對USB設(shè)備分配地址, 地址從地址值為l到7EH可根據(jù)系統(tǒng)需要任意選擇, 在以后與USB設(shè)備通信時就用此地址獲取有關(guān)設(shè)備配置的描述符, 獲取此描述符要進行兩次請求: 第一次是試探性的, 以便得到相關(guān)數(shù)據(jù)的具體長度, 第二次才返回接口以及端點的全部信息[6].
軟件設(shè)計中的關(guān)鍵在于U盤數(shù)據(jù)存儲流程的設(shè)計, 當兩個脈沖信號經(jīng)過CPLD處理完畢之后被存儲在單片機中, 如若檢測到U盤設(shè)備的連接, 則可以直接存儲在U盤中; 如若U盤未連接, 則需通過無線傳輸模塊進行數(shù)據(jù)的傳輸. 這部分的程序?qū)崿F(xiàn)主要在U盤數(shù)據(jù)存儲流程設(shè)計中實現(xiàn).
2.2 U盤數(shù)據(jù)存儲流程設(shè)計
本測試儀主要解決的問題是數(shù)據(jù)的實時傳輸監(jiān)控, 故設(shè)計了U盤數(shù)據(jù)存儲的系統(tǒng)模塊, 其中采用CH375作為核心芯片, CH375內(nèi)置了USB通信協(xié)議的固件, 并提供U盤文件級子程序庫, 單片機可以直接調(diào)用子程序讀寫U盤的文件數(shù)據(jù), 簡化了開發(fā)流程[7]. 主控單元模塊通過CH375DiskConnect( )和CH375DiskReady( )檢測U盤是否已經(jīng)插入以及是否準備好, 如若已經(jīng)準備好即執(zhí)行開始建立新建文件, 打開新建文件夾, 判斷數(shù)據(jù)的輸入序列號, 并將數(shù)據(jù)轉(zhuǎn)換成字符寫入文件中. 以上步驟完成之后, 退出U盤存儲模塊. 如若檢測U盤存儲時發(fā)現(xiàn)U盤未連接, 則直接退出U盤存儲模塊進入無線傳輸模塊. CH375的串行數(shù)據(jù)格式是1個起始位、 9個數(shù)據(jù)位、 1個停止位, 其中前8個數(shù)據(jù)位是一個字節(jié)數(shù)據(jù), 最后1個數(shù)據(jù)位是命令標志位. 第9位為0時, 前8位的數(shù)據(jù)被寫入CH375芯片中, 而第9位為1時, 前8位被作為命令碼寫入CH375芯片中. 此外, CH375的串行通訊波特率默認是9 600 bps, 單片機可以隨時通過SET_BAUDRATE命令選擇合適的通訊波特率. 具體操作如下:
1) 新建文件和打開文件: 在新建和打開文件之前, 需要指定路徑, 設(shè)置好路徑之后利用CH375FileCreate( )函數(shù)創(chuàng)建新文件, 當文件已經(jīng)存在的時候刪除后重建.
2) 文件的讀寫: 通過CH375ByteLocate( )函數(shù)判斷數(shù)據(jù)的輸入序列號之后, 將數(shù)據(jù)通過CH375ByteWrite( )以扇區(qū)方式寫入打開的文件中, 每次寫入之后自動移動文件指針至末尾mCmdParam.ByteLocate.mByteOffset = 0xffffffff. 第二次調(diào)用時直接繼續(xù)寫入數(shù)據(jù). 其中, 在存儲的過程之中, 單片機首先開辟兩個64 B的緩沖區(qū), 單片機采集數(shù)據(jù)之后, 存儲累加在第一個緩沖區(qū)內(nèi), 當?shù)匾粋€緩沖區(qū)存滿之后, 利用CMD_WR_USB_DATA7命令上傳64 B數(shù)據(jù)給上位機, 然后主程序開始將接下來的數(shù)據(jù)存儲在第二個緩沖區(qū)內(nèi), 當?shù)诙€緩沖區(qū)存滿時首先檢測第一個緩沖區(qū)的數(shù)據(jù)是否傳輸成功, 如若成功將收到中斷信息, 繼續(xù)上傳第二緩沖區(qū)內(nèi)的64 B.
軟件設(shè)計中, 因為U盤以塊和頁來進行劃分, 最主要需要解決的就是U盤以頁為單位的讀寫, 針對這一問題, 解決方案如下:
U盤存儲過程中選擇Flash作為存儲介質(zhì), 其一頁可以定義為一個扇區(qū), 將此扇區(qū)分為兩個塊, 每64個扇區(qū)為一個簇, 因此一個簇的大小就是512×64=32 K, 這樣依然滿足FAT16文件系統(tǒng)的要求, 然而主控單元模塊提供來的地址卻是Logical Block Address, 即只給出了一個扇區(qū)的地址, 需要將其轉(zhuǎn)換成為物理地址之后才能進行存儲的操作, 此時需要用到
(1)
(2)
由于作為U盤的flash是不需要單獨啟動的, 所以只包括了DBR, FDT, DATA以及FAT區(qū)域, 而沒有MBR區(qū)域, 以本文所使用的FAT16文件存儲格式為例, U盤的分配如圖 6 所示.
圖 6 U盤存儲程序框圖Fig.6 Block diagram of U disk storage
圖 7 U盤空間分配圖Fig.7 U disk space distribution map
當整個U盤存儲無線式測時儀設(shè)計成功之后, 連接測試儀, 并通過向U盤存儲模塊的USB接口連接一個16 G的普通U盤, 上電復(fù)位之后, 在U盤新建了一個文件1, 通過測時儀進行了10次過靶速度測試之后測得文件夾中有10組數(shù)據(jù), 如圖 8 所示. 當U盤未連接的時候, 上位機也可以檢測到測試數(shù)據(jù)結(jié)果.
圖 8 U盤存儲文件圖Fig.8 U disk storage file map
本文中研制的U盤存儲無線式測時儀通過主控單元模塊以及U盤存儲模塊實現(xiàn)的對測時儀測得數(shù)據(jù)的實時監(jiān)控, 更加有利于方便而及時地對數(shù)據(jù)進行處理與分析. 且針對有線傳輸?shù)木窒扌远岢龅牟捎脽o線射頻發(fā)射模塊來進行的數(shù)據(jù)的采集與發(fā)送接受也更加有利于上位機對于數(shù)據(jù)的進一步處理. 該設(shè)計方案成本較低, 且方便實用, 可以廣泛地應(yīng)用在各種測時儀及其他數(shù)據(jù)采集的場合.
[1] 周杏鵬, 仇國富, 王壽榮, 等. 現(xiàn)代檢測技術(shù)[M]. 北京: 高等教育出版社, 2003.
[2] 馬時亮, 倪晉平, 顏家林. 基于C51語言智能測時儀的設(shè)計與實現(xiàn)[J]. 西安工業(yè)學(xué)院學(xué)報, 2005, 25(4): 327-331. Ma Shiliang, Ni Jinping, Yan Jialin. Design and implementation of intelligent time measuring instrument based on C51 language[J]. Journal of Xi'an Institute of Technology, 2005, 25(4): 327-331. (in Chinese)
[3] 柯艷, 李杰, 孔祥雷, 等. 基于USB2_0的多路數(shù)據(jù)采集系統(tǒng)上位機軟件設(shè)計[J]. 測試技術(shù)學(xué)報, 2010(4): 351-356. Ke Yan, LI Jie, Kong Xianglei, et al. The design of PC software based on USB2_0 multi channel data acquisition system [J]. Journal of test technology, 2010(4): 351-356. (in Chinese)
[4] 魏景斌, 劉俊峰, 錢稷, 等. 基于CH375的USB數(shù)據(jù)傳輸[J]. 微計算機信息雜志, 2010(2): 149-151. Wei Jingbin, Liu Junfeng, Qian Ji, et al. USB data transmission based on CH375[J]. Microcomputer Information Journal, 2010(2): 149-151. (in Chinese)
[5] 韓登宇, 安少康, 解凡. USB芯片CH375和C51單片機的接口設(shè)計[J]. 價值工程, 2012(19): 216-218. Han Dengyu, An Shaokang, Xie Fan. USB chip CH375 and C51 microcontroller interface[J]. Design value engineering, 2012(19): 216-218. (in Chinese)
[6] 任雁銘, 秦立軍, 楊奇遜. 變電站自動化系統(tǒng)中內(nèi)部通信內(nèi)網(wǎng)的研究[J]. 電網(wǎng)技術(shù), 2000, 24(5): 42-44. Ren Yanming, Qin Lijun, Yang Qixun. The internal communication network in substation automation system [J]. Power System Technology, 2000, 24(5): 42-44. (in Chinese)
[7] 鄧清濤, 楊鵬. 基于CH375的單片機U盤控制器的設(shè)計與實現(xiàn)[J]. 自動化與儀器儀表, 2007(4): 15-16. Deng Qingtao, Yang Peng. Design and implementation of U controller based on CH375 microcontroller[J]. Automation and Instrumentation, 2007(4): 15-16. (in Chinese)
Development of Wireless Time Measuring Instrument Based on U Disk Storage
JIANG Nan, JIA Yunfei, HAN Yaqiu, WU Yu
(College of Mechanical Engineering, Nanjing University of Science and Technology, Nanjing 210094, China)
This paper, a kind of wireless data transmission time measuring instrument based on U disk storage is developed in view of the fact that the time measuring instrument cannot be used to monitor the data in real time. The measuring instrument is connected with the corresponding cutting device. After obtaining the initial signal of cutting device trigger and the signal of termination, the corresponding speed, which is calculated by a formula, can be transmitted to the host computer by U disk or wireless data transmission device. This instrument simplify the cumbersome process of traditional transmission to achieve the real-time monitoring function. The hardware design includes three main modules: main control module, U disk module and wireless data transmission module. The time measuring instrument transmits two pulse signals to CPLD and the main control module saves the data by U disk saves the data by U disk or transmit the data to the host computer through the wireless data transmission module. The measuring process is stable, and the operation is simple and reliable.
CH375 chip; time measuring instrument; wireless transmission; signal real-time observation
1671-7449(2017)03-0260-06
2017-01-18
蔣 楠(1994-), 女, 碩士生, 主要從事嵌入式智能儀器設(shè)備開發(fā)的研究.
賈云飛(1977-), 男, 副研究員, 碩士研究生導(dǎo)師, 主要從事基于嵌入式系統(tǒng)的智能儀器設(shè)備的開發(fā)、 武器外彈道測試技術(shù)、 傳感器設(shè)計與優(yōu)化等研究.
TN919.6
A
10.3969/j.issn.1671-7449.2017.03.013