萬 勵,黃宏本,吳潔明
(1.3.梧州學院 計算機科學系,廣西 梧州 543002;
2.梧州學院 信號分析與處理實驗室,廣西 梧州 543002)
基于單片機實現(xiàn)的無線數(shù)據(jù)采集系統(tǒng)
萬 勵1,黃宏本2,吳潔明3
(1.3.梧州學院 計算機科學系,廣西 梧州 543002;
2.梧州學院 信號分析與處理實驗室,廣西 梧州 543002)
描述了一種基于單片機技術及USB技術實現(xiàn)的氣瓶充氣數(shù)據(jù)無線采集系統(tǒng),系統(tǒng)使用USB-CAN-RS232三總線轉換的通信網(wǎng)絡傳輸數(shù)據(jù),能使氣瓶管理程序化、自動化,數(shù)據(jù)統(tǒng)計工作及時準確,最大限度降低意外事故發(fā)生的可能性。
數(shù)據(jù)采集;無線;單片機
隨著國民經(jīng)濟建設的高速發(fā)展和現(xiàn)代城市建設的快速推進,液化石油氣的使用量及氣瓶的生產(chǎn)、使用數(shù)據(jù)信息急劇增加,由于每年充裝和檢驗的氣瓶數(shù)量大、流動性強,致使氣瓶安全使用的監(jiān)督管理難度大,工作任務日益繁重。氣瓶充裝現(xiàn)場理論上來說是一個十分危險的環(huán)境,它要求嚴禁煙火,也不允許計算機在現(xiàn)場工作。傳統(tǒng)的氣瓶信息管理一直沿用人工檢查和手工填寫記錄表格的方法,無法做到快捷和準確。人工管理受人的主觀因素影響比較大,數(shù)據(jù)采集用手工記錄,工作量很大,還容易出錯。本文設計的氣瓶充裝數(shù)據(jù)無線采集系統(tǒng),能使氣瓶管理程序化、自動化,數(shù)據(jù)統(tǒng)計工作及時準確,最大限度降低意外事故發(fā)生的可能性,能滿足目前氣瓶安全監(jiān)察需求。
氣瓶灌裝無線數(shù)據(jù)采集系統(tǒng)主要硬件設備為:液化石油氣電子灌裝秤、無線防爆基站、無線通信交換機和服務器。應用程序通過對串口的編程實現(xiàn)服務器與液化石油氣電子灌裝秤之間的數(shù)據(jù)傳輸。設備連接如圖1所示。
圖1 系統(tǒng)設備連接圖
系統(tǒng)所用的液化石油氣電腦灌裝秤是常州三晶數(shù)據(jù)技術有限公司的產(chǎn)品,它無需鋪設電源管路,對液化石油氣實行定量安裝,自動切斷。它還能夠記錄每個氣瓶的自有編號、客戶代碼等各種信息,便于系統(tǒng)掌握客戶的充裝數(shù)據(jù)和每個氣瓶的充裝明細信息,實現(xiàn)對氣瓶的動態(tài)跟蹤管理。電腦灌裝稱的核心處理器是AT89C51型單片機,采用無線數(shù)據(jù)傳輸方式。
無線防爆基站適用于易燃易爆行業(yè),和數(shù)據(jù)采集器、電腦灌裝秤之間通過無線發(fā)射方式進行數(shù)據(jù)交換,同時將接收的數(shù)據(jù)信息通過CAN(Controller Area Network)總線傳輸?shù)椒掌魃?。本系統(tǒng)也采用該公司的S-5200型通訊基站。
無線通信交換機使用RS232總線與服務器的COM口連接,通訊速率是19200波特率,基本模式為:服務器等待交換機發(fā)送的啟動成功命令,若在30秒內(nèi)收不到,提示啟動不成功。以后當交換機有數(shù)據(jù)時,主動向服務器請求,服務器處理后,給出結果。
服務器使用普通的PC機即可,主要負責采集氣瓶在充裝過程中涉及的各種相關數(shù)據(jù),并對采集到的數(shù)據(jù)進行實時分析和處理,包括存儲數(shù)據(jù)、統(tǒng)計分析生產(chǎn)情況、打印生產(chǎn)報表等。
本系統(tǒng)電腦灌裝稱使用的AT89C51型單片機使用并行地址/數(shù)據(jù)復用的方式訪問USBN9603,并通過74HC14反向后片選USBN9603,其地址為0x00-0x1FF。USBN9603是標準的USB接口電路,符合USB1.1協(xié)議,集成了3.3V的穩(wěn)定電源、串行接口引擎SIE、多個USB端點緩沖區(qū)、1個8位并行微處理器接口。選用AT89C51的引腳SJA1000作為CAN微控制器,SJA1000集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的幀處理,其地址為0x000-0x0FF。AT82C50作為CAN控制器和物理總線之間的接口,用于提供總線的差動發(fā)送能力和CAN控制器差動接收能力。通過AT82C50的引腳3可選擇3種不同的工作方式(高速、斜率控制和待機)。該引腳接地為高速方式,高速光耦隔離用6N137實現(xiàn),防止串入信號的干擾。引腳MAX232用來完成RS232電平到微控制器接口電路的TTL電平轉換,同時還可進行一些總線端口的工作參數(shù)設置。各種設備通過不同總線連接成一個通信網(wǎng)絡。電腦灌裝稱中的數(shù)據(jù)采集系統(tǒng)使用USB接口接收灌裝稱稱體的實時數(shù)據(jù),并采用無線數(shù)據(jù)傳輸方式將數(shù)據(jù)傳輸?shù)綗o線防爆基站;無線防爆基站與無線通信交換機之間用CAN總線相連;交換機與服務器之間用RS232總線相連。
由于各種設備之間的總線結構、通信協(xié)議及傳輸特點各不相同,給不同設備之間的連接與通信帶來了一定的困難,本系統(tǒng)的通信網(wǎng)絡使用USB-CAN-RS232三總線轉換裝置,解決了各種總線之間的連接問題。USB接口芯片USBN9603與單片機AT89C51相連,選用SJA1000作為CAN微控制器,高速光耦隔離用6N137實現(xiàn),其作用是防止串入信號的干擾。MAX232用來完成RS232電平到微控制器接口電路的TTL電平轉換。這種3總線轉換器可方便地實現(xiàn)不同端口設備之間的數(shù)據(jù)通信,USB-CAN的轉換速率可以達到1Mb/s。網(wǎng)絡系統(tǒng)總線結構如下頁圖2所示。
圖2 系統(tǒng)通信總線結構圖
在微控制器的控制下,系統(tǒng)各總線間進行數(shù)據(jù)傳輸。首先,微控制器對各個總線的工作參數(shù)進行初始化,設置好時鐘、寄存器、波特率,選擇合適的中斷方式。然后打開各個端口,若發(fā)現(xiàn)有端口進行數(shù)據(jù)發(fā)送,則存儲當前數(shù)據(jù),選擇接收數(shù)據(jù)的總線并關閉其他端口進行數(shù)據(jù)傳送。數(shù)據(jù)傳送完畢則重新打開其他端口。系統(tǒng)工作流程如下頁圖3所示。
本系統(tǒng)使用的USB的傳輸方式是控制傳輸和塊傳輸。其中塊傳輸主要用于大批量數(shù)據(jù)的傳輸,數(shù)據(jù)集中而且對實時性要求不太高。塊傳輸在硬件上提供了強大的錯誤檢測和錯誤重傳的功能,可以保證可靠的數(shù)據(jù)傳輸。USBN9603的內(nèi)部寄存器和FIFO緩沖區(qū)分別對每個端口進行控制,當接到主機發(fā)來的IN標記包時,發(fā)送端點自動向上發(fā)送數(shù)據(jù)。如果沒有數(shù)據(jù)發(fā)送,則回應NAK握手包。
圖3 系統(tǒng)通信流程圖
服務器初始設置為地址傳送方式,并設置單片機的地址。首先判斷電腦灌裝稱是否有鍵按下,若沒有則從0F1地址開始發(fā)送,并接收地址回送碼,如果回送碼等于發(fā)送地址碼,則說明與1號從機握手成功。繼而可以設置為數(shù)據(jù)傳送方式,開始與1號從機傳送數(shù)據(jù)。傳送結束后,又與2號從機聯(lián)絡。如果服務器發(fā)送從機地址后,接收的地址與發(fā)送地址不相同,則表明服務器與該地址碼的從機握手失敗,繼而轉向與其他從機聯(lián)絡。
本文根據(jù)氣瓶充裝數(shù)據(jù)采集控制系統(tǒng)的實際需求,選擇使用單片機、交換機和PC機等設備構成通信網(wǎng)絡,實現(xiàn)一個無線數(shù)據(jù)采集系統(tǒng),解決了PC機對氣瓶充裝現(xiàn)場的控制問題。
[1]陳麗娜.基于USB接口和單片機實現(xiàn)的數(shù)據(jù)采集系統(tǒng)[J].計算機科學,2004(10).
[2]徐磊,等.基于USB塊傳輸方式的實時數(shù)據(jù)采集[J].測控技,2005(2):12-14.
[3]黃鎮(zhèn)建.單片機與微機的串行通信[J].韓山師范學院學報,2004(3):53-57
[4]許永和.USB外圍設備設計與應用[M].北京:中國電力出版社,2002:103-118.
TP393.09
A
1673-8535(2011)03-0064-04
2011-04-20
萬勵(1972-),女,廣西平南人,梧州學院計算機科學系講師,碩士研究生,研究方向:軟件工程與計算機應用。
黃宏本(1976-),男,廣西藤縣人,梧州學院講師,研究方向:數(shù)據(jù)庫技術。
吳潔明(1959-),女,廣西藤縣人,梧州學院計算機科學系副教授,研究方向:軟件工程與計算機應用。
覃華巧)