嵌入式系統(tǒng)中USB主機(jī)控制器的實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
通用串行總線(xiàn)(usb)接口具有簡(jiǎn)單靈活、高帶寬、易于擴(kuò)展和熱插拔等優(yōu)點(diǎn),它目前已成為數(shù)碼設(shè)備的標(biāo)準(zhǔn)接口之一,小到u盤(pán)、mp3,大到數(shù)碼相機(jī)、打印機(jī),usb接口的身影無(wú)處不在。但我們目前所使用的usb移動(dòng)設(shè)備多為usb的外設(shè)(device) , 比如usb的移動(dòng)硬盤(pán)、usb接口的數(shù)碼相機(jī),一般只能在pc上使用,即只能通過(guò)pc實(shí)現(xiàn)文件和數(shù)據(jù)的交換。 業(yè)界和用戶(hù)的需求呼喚usb主機(jī)的嵌入式化,因此在嵌入式系統(tǒng)中實(shí)現(xiàn)usb主機(jī)功能成了usb設(shè)計(jì)領(lǐng)域的熱點(diǎn)之一。 迄今為止,嵌入式usb主機(jī)的最大市場(chǎng)和增長(zhǎng)點(diǎn)在移動(dòng)消費(fèi)電子設(shè)備領(lǐng)域, 比如pda與usb記憶棒傳遞數(shù)據(jù)、mp3之間傳遞歌曲、數(shù)碼相機(jī)連接打印機(jī)等。 嵌入式usb主機(jī)也逐漸用于工業(yè)測(cè)控領(lǐng)域,用來(lái)實(shí)現(xiàn)數(shù)據(jù)的采集和交換。原來(lái)數(shù)據(jù)采集和交換大多是使用軟盤(pán)、串行接口(rs232/rs485)或以太網(wǎng)等方式。軟盤(pán)存儲(chǔ)容量小、可靠性差,而串行接口或以太網(wǎng)都需要布線(xiàn)施工,接入成本大,而且不具備移動(dòng)性?,F(xiàn)在,越來(lái)越多的嵌入式系統(tǒng)采用通過(guò)usb總線(xiàn)連接的測(cè)控設(shè)備。 usb控制器isp1161簡(jiǎn)介 一個(gè)usb系統(tǒng)一般由一個(gè)usb主機(jī)(host)、一個(gè)或多個(gè)usb集線(xiàn)器(hub)和一個(gè)或多個(gè)usb設(shè)備節(jié)點(diǎn)(node)組成。usb協(xié)議規(guī)定了usb主機(jī)與usb設(shè)備的主從關(guān)系,所以u(píng)sb接口產(chǎn)品的應(yīng)用離不開(kāi)usb主機(jī)的開(kāi)發(fā)。usb主機(jī)是包含usb軟件驅(qū)動(dòng)和usb主機(jī)硬件功能接口的計(jì)算機(jī)系統(tǒng)實(shí)體。usb主機(jī)硬件是指usb主機(jī)控制器,它規(guī)定了usb主機(jī)硬件接口,因而在設(shè)計(jì)usb協(xié)議棧時(shí)必須了解相關(guān)的usb主機(jī)控制器規(guī)范。 針對(duì)嵌入式系統(tǒng)應(yīng)用的usb主機(jī)控制器規(guī)范是康柏、微軟、松下等公司提出的ohci(開(kāi)放式主機(jī)控制器接口)標(biāo)準(zhǔn)。 飛利普公司的isp1161芯片支持ohci標(biāo)準(zhǔn),它是一個(gè)符合usb2.0全速規(guī)范的單片主機(jī)控制器和設(shè)備控制器。isp1161可以?xún)H作為主機(jī)控制器或設(shè)備控制器使用,也可以同時(shí)作為主機(jī)和設(shè)備控制器使用。 isp1161可分為四大功能模塊: 1)主機(jī)控制器模塊:實(shí)現(xiàn)主機(jī)控制器的功能。提供兩個(gè)下行端口,每個(gè)下行端口都有自己的過(guò)流檢測(cè)輸入管腳和電源轉(zhuǎn)換控制輸出管腳。 2)設(shè)備控制器模塊:實(shí)現(xiàn)設(shè)備控制器的功能。提供一個(gè)上行端口,有其自身的vbus檢測(cè)輸入管腳。 3)微處理器接口模塊:兩個(gè)usb控制器共用一個(gè)微處理器總線(xiàn)接口,它們有相同的數(shù)據(jù)總線(xiàn),i/o地址不同。它們也有各自的中斷請(qǐng)求輸出管腳和獨(dú)立的dma通道。 4)電源調(diào)整和上電復(fù)位模塊:除了可以軟件復(fù)位外,還可以通過(guò)reset_n管腳實(shí)現(xiàn)硬件復(fù)位。isp1161只接受5v或3.3v的電壓,當(dāng)輸入5v電壓時(shí),電源調(diào)整器會(huì)將其調(diào)整為3.3v。 isp1161 主機(jī)控制器子模塊的功能框圖示于圖1,主機(jī)控制器的下行端口可與任意一個(gè)符合usb 規(guī)范的usb 設(shè)備和包含usb 上行端口的usb 集線(xiàn)器相連。類(lèi)似地,設(shè)備控制器的上行端口可與任意一個(gè)符合usb 規(guī)范的usb主機(jī)和包含usb 下行端口的usb 集線(xiàn)器相連。 相關(guān)嵌入式應(yīng)用系統(tǒng)的架構(gòu) 本文涉及的嵌入式系統(tǒng)是一個(gè)指紋驗(yàn)證系統(tǒng),其總體結(jié)構(gòu)如圖2所示。系統(tǒng)采用英特爾公司的32位400mhz微處理器pxa255以滿(mǎn)足指紋識(shí)別系統(tǒng)計(jì)算量大的需要,pxa255具有豐富的外圍接口,如:lcd控制器、串口、cf卡接口、usb客戶(hù)端口,但 沒(méi)有usb 主機(jī)控制器。此外,硬件平臺(tái)還包括存儲(chǔ)模塊、數(shù)據(jù)采集模塊、usb模塊、網(wǎng)絡(luò)通信模塊和調(diào)試及下載接口模塊,系統(tǒng)總體結(jié)構(gòu)框圖如圖2所示。
32位微處理器pxa255中央處理器結(jié)合一個(gè)51單片機(jī)完成對(duì)整個(gè)系統(tǒng)的控制操作。8m的flash和32m的sdram用作存儲(chǔ)模塊。具有usb設(shè)備接口的富士通公司指紋傳感器芯片mbf200實(shí)現(xiàn)對(duì)指紋數(shù)據(jù)的采集和轉(zhuǎn)換。通過(guò)usb主機(jī)接口實(shí)現(xiàn)嵌入式系統(tǒng)與usb設(shè)備——mbf200之間的通信。鑒于該指紋驗(yàn)證系統(tǒng)要實(shí)現(xiàn)網(wǎng)絡(luò)化,因而配置了cf接口無(wú)線(xiàn)網(wǎng)卡。通過(guò)pxa255本身的串口控制器與pc通信,用于調(diào)試和下載windows ce鏡像文件。人機(jī)交互用于顯示運(yùn)行結(jié)果和注冊(cè)/增刪指紋數(shù)據(jù)。





