基于ARM-LINUX的物流復(fù)檢系統(tǒng)設(shè)計
3 主控節(jié)點系統(tǒng)的設(shè)計
3.1 主控節(jié)點硬件系統(tǒng)的設(shè)計
主控節(jié)點是整個復(fù)檢系統(tǒng)的核心,它主要完成條形碼信息的處理工作,其硬件的結(jié)構(gòu)如圖4所示。主控節(jié)點有多個模塊組成,各個模塊所需電源電壓不同,處理器核心、片上外設(shè)模塊所需電壓也不同,這些不同的電壓由供電系統(tǒng)提供。觸摸屏為系統(tǒng)的輸入輸出接口,用來顯示查詢數(shù)據(jù)庫后的條碼信息,接收操作員的輸入命令。CAN模塊由SPI接口的CAN控制器及驅(qū)動器組成,用來與終端節(jié)點通信,主控節(jié)點的CAN接口設(shè)計如圖5所示。為了通過網(wǎng)絡(luò)服務(wù)數(shù)據(jù)庫,配備了以百兆太網(wǎng)通信接口。RS232接口被用為Linux和引導(dǎo)程序的控制臺,用來輔助開發(fā)LED模塊在實驗中用來模擬向分揀系統(tǒng)控制器通報分揀錯誤。S3C6410作為主控節(jié)點的控制核心還協(xié)調(diào)各個模塊的工作。
3.2 主控節(jié)點軟件系統(tǒng)的設(shè)計
主控節(jié)點使用Linux作為其軟件系統(tǒng)平臺,軟件系統(tǒng)的結(jié)構(gòu)如圖6所示。位于最底層的是設(shè)備硬件,為了能夠使用這些設(shè)備,需要開發(fā)相應(yīng)的設(shè)備驅(qū)動程序。接著是Linux內(nèi)核和協(xié)議棧,主要有以太網(wǎng)的TCP/IP協(xié)議棧和Socket CAN的協(xié)議棧。Linux提供了統(tǒng)一的編程接口供應(yīng)用程序調(diào)用。為了方便系統(tǒng)開發(fā),應(yīng)用軟件大多使用庫來提高開發(fā)效率,本系統(tǒng)中主要部署了QT庫、C庫以及MySQL庫等。最終的復(fù)檢系統(tǒng)應(yīng)用程序調(diào)用內(nèi)核編程接口和功能強大的各種庫來實現(xiàn)其功能。目標板使用的是ARM S3C6410處理器和Linux操作系統(tǒng),兩者通過以太網(wǎng)和RS232接口連接,采用ARM-UNUX-GCC-4.3.2進行編譯開發(fā)。選擇XP與Fedora9的網(wǎng)絡(luò)連接方式選擇橋接,XP和Fedora9以及目標板需要通過以太網(wǎng)鏈接在一個局域網(wǎng)中。采用與Linux內(nèi)核源碼一脈相承的U-Boot來對Bootloader進行移植,并對Linux的內(nèi)核進行開發(fā)。最后,對復(fù)檢系統(tǒng)的應(yīng)用程序進行開發(fā),QT是一個跨平臺的圖形界面庫,支持Linux、Windows等系統(tǒng),可方便應(yīng)用在嵌入式系統(tǒng)中,另外用戶需要自行設(shè)計Socket CAN系統(tǒng)。本研究中使用用QT的圖形界面庫來設(shè)計主控節(jié)點的圖形界面,使用Qt Creator中所見即所得的UI開發(fā)工具設(shè)計圖像界面,界面顯示通過CAN收到的相應(yīng)下線通道的貨物條碼和通道,在查詢數(shù)據(jù)庫后,將查詢到的貨物目的地,運輸車輛的號牌最示出來。如果發(fā)生錯誤,會彈出QMassageBox警告。主控節(jié)點應(yīng)用程序流程圖如圖7所示。
4 結(jié)束語
本文詳細闡述了物流復(fù)檢系統(tǒng)各個硬件平臺和軟件系統(tǒng)的開發(fā),完成了ARM-LIUNUX的交叉編譯開發(fā)環(huán)境的搭建等。實際應(yīng)用表明,設(shè)計的基于ARM-LINUX的物流復(fù)檢系統(tǒng)能夠很好的解決物流分揀系統(tǒng)出現(xiàn)的分揀錯誤,極具實用價值。而且本文中采用的分揀識別是條形碼識別技術(shù),也可以很好的拓展到其他方式,比如電子標簽等。
評論