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