基于嵌入式的無(wú)線(xiàn)條碼掃描儀系統的設計
2.3.2 無(wú)線(xiàn)收發(fā)模塊電路
ADF7020芯片集成了完整的無(wú)線(xiàn)收發(fā)電路。在接收模式下,相當于一個(gè)傳統的超外差接收器,RF(射頻)輸入信號通過(guò)從RFIN管腳引出的天線(xiàn),經(jīng)LNA(低噪聲放大器)放大后翻轉進(jìn)入混頻器,通過(guò)混頻器混頻產(chǎn)生IF(中頻)信號。在IF處理階段,該信號在送入解調器前被放大和濾波。解調后從引腳DATA I/O輸出解調數字信號,解調信號的同步由芯片提供的時(shí)鐘信號完成。
ADF7020芯片自帶SDATA、DATAI/O兩個(gè)串行接口實(shí)現數據收發(fā)功能,能夠與多種單片機(MSC51,ARM,AVR,PIC等) 直接兼容連接。在本系統中,LPC2142和ADF7020無(wú)線(xiàn)收發(fā)模塊之間通過(guò)串口相連,采用SP3232E芯片進(jìn)行RS232電平轉換。具體電路如圖 3所示。
系統軟件設計包括USB的驅動(dòng)和基于USB的數據傳輸,無(wú)線(xiàn)數據的收發(fā),終端主機上數據庫應用程序的開(kāi)發(fā)。
3.1 USB的驅動(dòng)和基于USB的數據傳輸
本系統的USB通信采用標準USB2.O協(xié)議,與USB控制器之間12 Mb/s的數據傳輸。該軟件編程是用C語(yǔ)言實(shí)現的,通信過(guò)程主要包括2部分:并口數據的采集和初始化。
并口數據的采集是通過(guò)輪詢(xún)的方式來(lái)進(jìn)行的。在系統上電后,LPC2142掃描USB端口,當條碼掃描儀準備工作,發(fā)送請求接收數據信號時(shí),LPC2142接收到信號后,則從條碼掃描儀的數據端口將并口數據讀出。利用LPC2142芯片自帶的串行接口引擎對USB數據流進(jìn)行譯碼,并將數據寫(xiě)入相應的端點(diǎn)緩沖存儲器。在從條碼掃描儀向LPC2142進(jìn)行數據傳輸過(guò)程中,LPC2142向條碼掃描儀發(fā)送一個(gè)IN令牌,在條碼掃描儀接收到令牌后對數據進(jìn)行響應。
初始化過(guò)程分2部分:ARM芯片的初始化和條碼掃描儀的初始化。ARM芯片的初始化過(guò)程就是直接向相應的I/O口寫(xiě)初始化值及設置看門(mén)狗,調用函數watchdog_init()實(shí)現設置看門(mén)狗。條碼掃描儀的初始化包含以下一些步驟:獲取設備描述符、設置條碼掃描儀USB地址、獲取配置描述符、加載USB配置值、發(fā)送數據接收符。
3.2 無(wú)線(xiàn)數據的收發(fā)
無(wú)線(xiàn)數據收發(fā)軟件設計,首先是在LPC2142接收到條碼掃描儀發(fā)送的數據后,發(fā)送一個(gè)信號給無(wú)線(xiàn)發(fā)送模塊,兩模塊之間的連接是采用RS 232轉接器來(lái)實(shí)現,在接收到LPC2142的發(fā)送信號后,無(wú)線(xiàn)模塊返回接收信號,并打開(kāi)RS 232轉接器,LPC2142接收到信號后,發(fā)送數據到收發(fā)模塊,收發(fā)模塊具有接收和發(fā)送的功能,在軟件的控制下實(shí)現數據收發(fā)。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)pos機相關(guān)文章:pos機原理
評論