無線倉庫管理解決方案_第1頁
無線倉庫管理解決方案_第2頁
無線倉庫管理解決方案_第3頁
無線倉庫管理解決方案_第4頁
無線倉庫管理解決方案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、(倉庫管理)無線倉庫管理解決方案20XX年XX月多年的企業(yè)涔詢顧詡遢,經(jīng)過實戰(zhàn)臉證可以落地抑亍的卓越管理方案,值得您下戟用M無線倉庫管理解決方案1 .需求分析1.1 倉庫管理現(xiàn)狀隨著計算機技術(shù)的普及,越來越多的中小企業(yè)已經(jīng)開始使用計算機(數(shù)據(jù)庫)開進行倉庫管理。經(jīng)調(diào)查,大多數(shù)的小型企業(yè)仍然采用用筆記賬,再統(tǒng)一錄入數(shù)據(jù)庫的模式。這樣,辦公室并不能獲得最新的庫存情況從而不能做出正確的決策。另外,有些公司倉庫離辦公室(數(shù)據(jù)庫服務(wù)器)較遠,一來一回也耽誤了時間。于是,用高效的方案來解決倉庫庫存與數(shù)據(jù)庫同步的問題是迫在眉睫的事情。1.2 無線倉庫管理的優(yōu)點無線倉庫管理最大的亮點在于實時性。倉庫管理人員在

2、入庫的時候,只需要在手持設(shè)備上輸入相應(yīng)的產(chǎn)品以及數(shù)量,即可以實時地更新數(shù)據(jù)庫,為辦公室人員獲得最新的庫存信息提供了保證。相對于有線傳輸,無線傳輸省去了布線的麻煩。這也是目前流行的方案。1.3 開發(fā)限制由于經(jīng)濟基礎(chǔ)等條件制約,采用的硬件并不能實現(xiàn)長距離通訊。但要聲明的是,這只是個解決方案,只提供思路。如果要應(yīng)用到實際,將結(jié)合實際情況對硬件做出相應(yīng)的更改。2 .概要設(shè)計2.1 部署圖開發(fā)-仿真-實驗板,大小相當于一張撲克牌,是“凌陽科技大學(xué)計劃”專為大學(xué)生、電子愛好者等進行電子實習(xí)、課程設(shè)計、畢業(yè)設(shè)計、電子制作及電子競賽所設(shè)計的,也可作為單片機項目初期研發(fā)使用。61板除了具備單片機最小系統(tǒng)電路外,

3、還包括有電源電路、音頻電路(含MIC輸入部分和DAC音頻輸出部分)、復(fù)位電路等,采用電池供電。板上自帶兩個16位輸入/輸出接口。無線射頻芯片自帶的驅(qū)動程序使用IOB的低8位,MzL02-12864LCD模組自帶的驅(qū)動程序使用IOA。而61板上的三個按鍵KEY1、KEY2、KEY3是直接和IOA的最低3位相連的(參考61板的電路原理圖1),造成按鍵對顯示模組干擾的問題。于是,解決方案將使用IOA的高8位作為無線射頻nRF2401芯片的接口,IOB作為MzL02-12864LCD模組的接口。詳細驅(qū)動的改動下面會有說明。圖1PCB圖(2) nRF2401無線射頻芯片發(fā)送端(配套61板)nRF2401

4、A及其外圍電路如圖2,包括nRF2401A芯片部分、穩(wěn)壓部分、晶振部分、天線部分。電壓VDD經(jīng)電容C1、C2、C3處理后為芯片提供工作電壓;晶振部分包括Y1、C9、C10,晶振Y1允許值為:4MHz、8MHz、12MHz、16MHz,如果需要1Mbps的通信速率,則必須選擇16MHz晶振。天線部分包括電感L1、L2,用來將nRF2401A芯片ANT1、ANT2管腳產(chǎn)生的2.4G電平信號轉(zhuǎn)換為電磁波信號,或者將電磁波信號轉(zhuǎn)換為電平信號輸J1、J2,其中入芯片的ANT1、ANT2管腳。為方便與61板的連接,模組提供了兩個接口為預(yù)留端口,是通道 2的接收通道。CON 10DR2 tE 口 二代J1為

5、nRF2401A的控制端口和通道1的收發(fā)通道,J2J1接口為10Pin的插孔,其布局和61板的I/O端口布局一致,可以直接插接到61板的I/O端口使用。J2預(yù)留,如果需要采用雙通道接收時,可以將J2對應(yīng)的3根信號線引出,接到單片機的I/O上即可。圖2nRF2401電路原理圖圖3接口電路圖對應(yīng)的I/O連接和功能描述如表所示。接收端(NewMsgUSB2401)NewMsg-NetUSB3模塊是NewMsg公司自行研發(fā)的PC端無線數(shù)據(jù)收發(fā)模塊,其并配備CYPRESS公司的USBSLAVE芯片EZUSB_FX2LP68013和射頻芯片NRF2401,以2.4G的無線頻段進行無線數(shù)據(jù)傳輸,并通過USB

6、2.0協(xié)議同PC進行高速通信,保證了高速通信質(zhì)量,并且在無線通信協(xié)議上實現(xiàn)了嚴格的數(shù)據(jù)校驗機制,保證了數(shù)據(jù)的可靠通信。NewMsg-NetUSB3模塊可進行本機地址和發(fā)送地址的配置,實現(xiàn)多點PC和PC,PC和電子系統(tǒng)的數(shù)據(jù)傳輸。(3) MzL02-12864LCD模組MzL02-12864為一塊128X64點陣的LCD顯示模組,模組上的LCM采用COG技術(shù)將控制(包括顯存)、驅(qū)動器集成在LCM的玻璃上,接口簡單、操作方便;為方便用戶的使用,銘正同創(chuàng)在LCM的基礎(chǔ)上設(shè)計了MzL02-12864模組,將模組所必需的外圍電容電阻集成到模組上,并引出多種形式的引線接口方便用戶使用。MzL02-1286

7、4模組與各種MCU均可進行方便簡單的接口操作。3.2編碼實現(xiàn)3.2.1 寄存器設(shè)置以及驅(qū)動更改前面提到由于LCD模組使用16位IOA作為接口,而IOA0/1/2與KEY1/2/3直接相連(詳細翻閱PCB圖),這導(dǎo)致的結(jié)果是,按鍵按下時會對LCD模組進行干擾。于是便選擇IOB作為LCD模組的接口,IOA高8位作為無線射頻的接口。詳細驅(qū)動更改如下:查看SPCE061A中文編程手冊,找到IOA和IOB的讀寫寄存器地址分別為7000H和7005H,每個寄存器16位。如圖:LCD模組接口說明,如下表:打開LCD模組的接口頭文件LCD_PortConfig.h,宏定義LCD模組在IOB讀寫寄存的偏移量:然

8、后把驅(qū)動宏定義的IOA全部改成IOB,并且添加IOB相應(yīng)寄存器的地址的宏定義:無線射頻模組的驅(qū)動更改相應(yīng)比較簡單,參照數(shù)據(jù)手冊,把原來的偏移地址(低8位)0x00100x0020改成(高8位)0x01000x2000,然后把所有指向IOB地址的地方重新指向IOA的地址即可。3.2.2 主菜單介面制作介紹:由于開發(fā)板:SPCE061AEMUBOARD只有4個KEY,一個用于RESET,剩下只有三個KEY,為了能夠?qū)崿F(xiàn)多個介面之間的轉(zhuǎn)換,我們用01鍵代表向下轉(zhuǎn)換,02鍵代表向上轉(zhuǎn)換,04鍵代表確定。01鍵和02鍵都有循環(huán)切換菜單的功能。我們設(shè)計的菜單是用一個個圖片組成。每切換一個菜單我們就換一張圖

9、片。圖片之間的切換并沒有減慢我們系統(tǒng)的速度。我們的菜單主要由以下圖片組成:這些圖片通過DM的制作就可以變?yōu)橐粋€個數(shù)組。在顯示時只要調(diào)用這些數(shù)組就可以了。這個函數(shù)主要菜單的制作主要是調(diào)用函數(shù)voidLCD501_Bitmap(intx,inty,unsignedint*p)是用來顯示圖片的。用來顯示我們的菜單。在一開機時,就顯示第一第圖片,然后就處于等待狀態(tài),當接收到01KEY的信息時,就開始換下一張圖片。當接收到02KEY信息時就開始選項上一張圖形,并把它們顯示出來。當接收到04KEY時就進了另一個介面,用于輸入訂單的數(shù)量。這個下面有3.2.3中有詳細的介紹。下圖為它的流程圖:3.2.3 數(shù)量

10、選擇界面功能介紹:通過61板上的3個按鍵(key1,key2,key3)實現(xiàn)數(shù)字的輸入。輸入數(shù)字為3位,即輸入范圍是從0至999。輸入范圍可以根據(jù)實際應(yīng)用需要進行修改。進入本功能菜單后,屏幕的上方會顯示“addhundry”,表示初始狀態(tài)下每按一次keyl,該數(shù)字將增加100。下方顯示“000”,表示初始數(shù)量為0。如果此時5次key1,則屏幕上的值為“500”,即此時輸入數(shù)量值是500。key2用于決定每次輸入的大小,如按下key2后,上方顯示“addten”表示每按一次key1數(shù)字增加10,如果顯示“addone”表示每按一下key1增加1。當某一位上的數(shù)為9時,再增加1后則重新置為0。在進

11、入“addone”之后想對百位或十位數(shù)字進行修改,可以按key2進入其他模式進行輸入。當輸入結(jié)束后,按key3退出數(shù)量輸入功能,進入發(fā)送功能。流程圖:AddhundryKey3Key2Key3加100Key2變量說明:unsigneddata3用于存放百位,十位和個位數(shù)的值,方便對于各位數(shù)的操作和輸出顯示。每一位的初始值為0。0,最大值是9,如果達到9之后再發(fā)出1請求(按下keyl),則該位的值重新置為charshow40 /為結(jié)束標志。前三位分別存放data中的三個數(shù)字對應(yīng)的字符,即0'-'9',第四位存放的是因為數(shù)量值是以字符串的形式輸出到顯示屏,而字符串的需要以c

12、hardisplay315用于存放輸入模式的提示信息,包括“addhundry”,“addten”,“addone”。inti用于計算當前所處的輸入模式,當i=0,處于“addhundry”模式,當i=1,處于“addten”,當i=2,處于“addone”模式。i的初始值為0,當key2被按下,如果i值為2,則將i置為0,否則將i值加1。函數(shù)說明:delay()延時函數(shù),由于按下按鍵后會產(chǎn)生抖動,即按下一次會產(chǎn)生多個按鍵信號,程序也會相應(yīng)的做出多次處理,這樣就無法得到預(yù)期的效果。為了獲取穩(wěn)定的按鍵信息,須要避開這段抖動期。這時就要使用這個延時函數(shù)。intputdata()實現(xiàn)數(shù)量的輸入和數(shù)據(jù)

13、發(fā)送。初始模式為“addhundry”,數(shù)量的初始值為“000”。按下key2鍵選擇輸入模式,key1鍵決定每一位數(shù)的大小。由于按鍵的數(shù)量限制,本功能只能單向遞增,所以函數(shù)循環(huán)輸入的方式,即在到達極限值的時候再增加就會回到初始值。如在達到“addone”模式后,再按下key2鍵就會回到“addhundry”模式;在按下key1鍵后如果該位數(shù)已經(jīng)為9,則會被重新置為0。數(shù)據(jù)輸入結(jié)束后,按下key3鍵退出,程序會將輸入的各位數(shù)字分別發(fā)到計算機端,由計算機端完成對數(shù)據(jù)的處理。之所以將數(shù)字分位發(fā)送,是因為發(fā)送模塊最大只能發(fā)送8位二進制數(shù),分開發(fā)送可以消除對輸入數(shù)據(jù)極限值的限制。發(fā)送結(jié)束后退出本函數(shù)。3

14、.3.3 發(fā)送功能調(diào)用發(fā)送前首先配置接收端(PC)的地址Address5=0x00,0x00,0x00,0x00,0x01;驅(qū)動的nRF2401_Intial()、nRF2401_Mode(1)、nRF2401_SetAddress(Address,5)進行無線初始化。在數(shù)量選擇菜單按下key4后,觸發(fā)發(fā)送函數(shù)nRF2401_SendByte(),把商品編號和數(shù)量一起發(fā)送(用Delay函數(shù)進行延時)。為了演示,約定商品編號為01-06,分別對應(yīng)6種不同的教材。函數(shù)nRF2401_SendByte():參數(shù)TxData為傳進來的數(shù)據(jù)(字節(jié))。CE宏定義為無線射頻的使能端,偏移地址為0x0200,

15、對應(yīng)IOA9接口。調(diào)用函數(shù)nRF2401_WriteByte(),先把接收端地址寫入緩沖,然后再把數(shù)據(jù)TxData寫入緩沖(nRF2401數(shù)據(jù)報格式)。最后實現(xiàn)發(fā)送的功能。3.3.4 接收端PC由于PC端不涉及嵌入式的開發(fā),此處只做簡單說明。接收端采用NewMsg公司的無線射頻產(chǎn)品NetUSB2401,用的芯片與嵌入式設(shè)備相同,是nRF2401。在程序初始化的時候,按照嵌入式設(shè)備端的設(shè)置,把通道、收發(fā)頻率、接受寬度設(shè)為一致,然后設(shè)置好地址。根據(jù)發(fā)送端發(fā)來的商品編號從數(shù)據(jù)庫獲取當前數(shù)量,然后加上發(fā)送端發(fā)來的數(shù)量,最后更新數(shù)據(jù)庫。運行界面如下:4.經(jīng)驗總結(jié)組員:*本次設(shè)計是基于硬件的軟件編程,主要

16、的工作是熟悉硬件的工作機制,以及系統(tǒng)自帶的函數(shù)的功能和應(yīng)用。在本功能的實現(xiàn)中,主要的困難是硬件的限制(輸入按鍵較少),和按鍵抖動的消除。為了克服按鍵少的問題,我們利用按位遞增循環(huán)輸入的方法,這在前面已經(jīng)提到,這樣可以充分利用現(xiàn)有的硬件資源。而按鍵抖動問題,由于一開始被忽略,導(dǎo)致程序調(diào)試過程中出現(xiàn)意想不到的錯誤。在發(fā)現(xiàn)這個問題后,我們選擇用添加延時來去除抖動。由于系統(tǒng)自帶的延時函數(shù)效果不明顯,所以重新編寫了一個延時函數(shù)delay()。組員:*1:這次開發(fā)我花最多的時間并不是在開發(fā)上,而是在看一個一個的源碼或者說是事例上.剛開始的時候真的不知道怎么去做,看了別人做的后,自己才感覺到開發(fā)也并不是那么

17、的難.才知道一切問題都有解決的辦法。2:我這次的主要工作就是要做一個菜單。由于我們的顯示屏和例子中的不一樣,所以我們自己找了不少資料,菜單主要是結(jié)合了按鍵和顯示這兩個功能。我們在如何使用按鍵以及如何讓它顯示上找資料。一個個的例子讓我知道了按鍵的工作過程和顯示原理,接下做就比較簡單了。3:通過這次比較,我感覺我學(xué)到了不少知識,不過讓我感受最深的是很多事情看似很難,但只要肯用心支做就一定可以做好。組員:*第一個感覺時就嵌入式開發(fā),想說愛你不容易。里面涉及太多的硬件知識,這是我們軟件工程專業(yè)所缺乏的。碰到問題時,首先想到要查找DataSheet,了解每個寄存器的配置究竟代表什么含義。必要的時候,還要翻看PCB圖,弄懂接口之間是如何連接的。這很重要,在開發(fā)的過程中,一開始,LCD模組和按鍵老是沖突。后來翻閱PCB圖,才發(fā)現(xiàn)按鍵并不是采用中斷的模式,而是直接跟IOA的前三位相連。找出問題的所在后,立刻查找DataSh

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論