基于USB數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)開發(fā)
目前,國內(nèi)外的數(shù)據(jù)采集系統(tǒng)常用的數(shù)據(jù)采集卡有RS-232、RS-485卡、PCI卡、ISA卡等。這些數(shù)據(jù)采集卡雖然有各自的優(yōu)點(diǎn),但是也有各自的缺點(diǎn)。例如:RS-232、RS-485卡的傳輸速度較慢,PCI卡、ISA卡需要插在主機(jī)的PCI插槽或ISA插槽上,使用不方便等。通用串行總線(USB)是一種新的接口方式,具有連接方便、支持熱插拔、無需外接電源、傳輸速度高、功耗低等優(yōu)點(diǎn)。USB 2.0的最大傳輸速率高達(dá)480Mbps。因此,基于USB的數(shù)據(jù)采集系統(tǒng)在通信、遙感、智能儀器儀表、工業(yè)自動(dòng)化等領(lǐng)域得到了廣泛應(yīng)用。
1系統(tǒng)硬件設(shè)計(jì)
該數(shù)據(jù)采集系統(tǒng)的硬件部分主要由A/D轉(zhuǎn)換器AD7829,LPC2132微處理器,USB2.0接口芯片ISP1581和PC機(jī)組成。USB數(shù)據(jù)采集系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
數(shù)據(jù)采集系統(tǒng)的工作原理:由傳感器采集的信號(hào)經(jīng)調(diào)制電路放大、濾波等處理后,進(jìn)入由微處理器控制的AD7829進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字量進(jìn)入微處理器LPC2132并暫存在其中,隨后由USB接口芯片將數(shù)字量傳遞給PC機(jī)進(jìn)行數(shù)據(jù)處理,同時(shí)將PC機(jī)端的客戶應(yīng)用程序發(fā)出的控制信號(hào)通過USB接口傳送到以LPC2132為核心的數(shù)據(jù)采集系統(tǒng)[1]。
1.1 USB接口芯片
該數(shù)據(jù)采集系統(tǒng)選用ISP1581作為USB接口芯片,ISP1581是Philips公司推出的一款高性價(jià)比的USB2.0接口電路,支持7個(gè)IN端點(diǎn),7個(gè)OUT端點(diǎn)和一個(gè)固定控制IN/OUT端點(diǎn)。ISP1581支持SUB2.0的自檢工作模式和USB1.1的返回工作模式,可以在高速或全速條件下正常運(yùn)行。內(nèi)部集成有串行接口引擎(SIE)、PIE、8KB的FIFO存儲(chǔ)器、數(shù)據(jù)收發(fā)器、PLL的12MHz晶體振蕩器和3.3V的電壓調(diào)整器。該電路可直接與ATA/ATAPI外設(shè)相連,并具有高速DMA接口。傳輸速率最高可達(dá)480Mbps/s[2]。
1.2主控芯片和A/D轉(zhuǎn)換芯片
為了滿足速度的要求,主控芯片選用LPC2132。LPC2132是Philips公司的一款基于ARM7TDMI-STM 內(nèi)核的微控制器,帶有64kB的嵌入的高速Flash存儲(chǔ)器和16kB片內(nèi)靜態(tài)RAM。多達(dá)47個(gè)5V的通用I/O口,1個(gè)8路10位A/D轉(zhuǎn)換器,1個(gè)10位D/A轉(zhuǎn)換器,可提供不同的模擬輸出。多個(gè)串行接口,包括2個(gè)16C550工業(yè)標(biāo)準(zhǔn)UART、2個(gè)高速I2C接口(400kbit/s)、SPITM 和SSP。通過片內(nèi)PLL可實(shí)現(xiàn)最大為60MHz的CPU操作頻率[3]。
雖然LPC2132自帶1個(gè)8路A/D轉(zhuǎn)換器,但是其每通道轉(zhuǎn)換時(shí)間是2.44us,達(dá)不到高速數(shù)據(jù)采集的要求,因此選用AD7829模數(shù)轉(zhuǎn)換器。AD7829是一個(gè)8路8位模數(shù)轉(zhuǎn)換器,最大轉(zhuǎn)換率2Mbps,可以滿足系統(tǒng)設(shè)計(jì)要求。
1.3硬件接口電路
該數(shù)據(jù)采集系統(tǒng)硬件連接圖如圖2所示。
圖2硬件連接示意圖
模擬信號(hào)經(jīng)AD7829轉(zhuǎn)換后變?yōu)閿?shù)字量,數(shù)據(jù)先存放在LPC2132的寄存器里,再由LPC2132將數(shù)據(jù)傳送給ISP1581,在此將ISP1581的緩沖區(qū)定義為8個(gè),分別寫入8路轉(zhuǎn)換后的數(shù)據(jù)。而PC機(jī)通過USB接口與ISP1581連接,ISP1581負(fù)責(zé)分類和解釋PC機(jī)發(fā)來的信號(hào),具體操作流程如下:PC機(jī)發(fā)送給USB設(shè)備的數(shù)據(jù)以包的形式寫入ISP1581的緩存中,當(dāng)緩存被寫滿或數(shù)據(jù)發(fā)送完畢后,ISP1581就給LPC2132發(fā)中斷信號(hào),LPC2132 響應(yīng)中斷信號(hào)進(jìn)入中斷服務(wù)程序執(zhí)行相應(yīng)的包處理。USB設(shè)備不能主動(dòng)向主機(jī)發(fā)送數(shù)據(jù),只有當(dāng)PC機(jī)要求USB設(shè)備發(fā)送數(shù)據(jù)時(shí),LPC2132才將主機(jī)需要的數(shù)據(jù)寫入ISP1581相應(yīng)端點(diǎn)的緩存中[4]。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評(píng)論