日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件


USB(通用串行總線)是一種新的數(shù)據(jù)通信接口方式,它使得外圍沒(méi)備到計(jì)算機(jī)的連接更加高效、便利。

USB接口不僅具有快速、即插即用、支持熱插拔的特點(diǎn),而且能同時(shí)連接多達(dá)127個(gè)外部設(shè)備,可以有效地解決PC機(jī)外圍接口不足的問(wèn)題。目前USB這一接口形式在微電子控制系統(tǒng)的設(shè)計(jì)中得到了廣泛應(yīng)用。

在近期參與開發(fā)的數(shù)控系統(tǒng)中,應(yīng)客戶要求需要將USB接口引入到數(shù)控系統(tǒng)中。由于該USB數(shù)據(jù)通信接口設(shè)計(jì)僅是系統(tǒng)設(shè)計(jì)的一個(gè)很小的部分,如果仍采用傳統(tǒng)的設(shè)計(jì)方法實(shí)現(xiàn),那么將耗費(fèi)較多的時(shí)間和精力,而且最終也未必能獲得理想的效果。為了擺脫常規(guī)USB數(shù)據(jù)接口設(shè)計(jì)的難度,加快系統(tǒng)開發(fā)進(jìn)程,我們引入了基于FT245BM的快速USB接口設(shè)計(jì),使系統(tǒng)開發(fā)節(jié)奏加快,保證整套系統(tǒng)設(shè)計(jì)周期的縮短。

1 FT245BM芯片簡(jiǎn)介

FT245BM是FTDI(Future Technology Devices IntlLtd)公司的多種快速USB通信接口解決方案之一。它無(wú)需編寫片內(nèi)固件程序,上層PC機(jī)則使用FTDI公司提供的官方驅(qū)動(dòng)程序。

FT245BM芯片的主要功能是在內(nèi)部硬件邏輯的作用下實(shí)現(xiàn)USB串行數(shù)據(jù)格式與并行數(shù)據(jù)格式的雙向轉(zhuǎn)換。PC機(jī)通過(guò)USB接口與FT245BM進(jìn)行數(shù)據(jù)交換,F(xiàn)T245BM則通過(guò)并行方式與下位微控制器通信。FT25BM芯片引腳見圖1。

該芯片有如下特點(diǎn):

單芯片實(shí)現(xiàn)USB與并行FIFO緩沖區(qū)的雙向數(shù)據(jù)傳輸;FTDI公司提供VCP(虛擬串行口)和D2XX兩種驅(qū)動(dòng)程序,使用D2XX驅(qū)動(dòng)程序能獲得更好的數(shù)據(jù)傳輸性能,傳輸速率最大可達(dá)1 MB/s;通過(guò)簡(jiǎn)單的四線握手信號(hào)與MCU、CPLD、FPGA等邏輯器件接口;完整的片內(nèi)USB協(xié)議解決方案,無(wú)需底層固件的編程;完全兼容USB1.1,USB2.0協(xié)議;)附加的EEPROM接口可定制USB接口設(shè)備。

2 USB接口的硬件設(shè)計(jì)

由USB設(shè)計(jì)規(guī)范可知,USB設(shè)備有總線供電和自供電兩種方式??紤]到開發(fā)的數(shù)控系統(tǒng)并不屬于移動(dòng)應(yīng)用,無(wú)需通過(guò)總線供電方式來(lái)供給芯片工作所需電源,因此采用自供電方式進(jìn)行設(shè)計(jì)。采用自供電方式的基于FT245BM的USB接口電路原理如圖2所示。

FT245BM通過(guò)8位并行數(shù)據(jù)口D[0..7]和4位讀寫狀態(tài)/控制口 RXF#、TXE#、RD#、WR實(shí)現(xiàn)與微控制器交換數(shù)據(jù),而PC機(jī)與FT245BM問(wèn)通過(guò)UISB總線傳輸數(shù)據(jù)??蛇x的外部EEPROM用于存儲(chǔ)USB設(shè)備的特定信息,呵以通過(guò)EECS、EESK、EEDATA來(lái)完成數(shù)據(jù)寫入和讀出。由于設(shè)計(jì)采用自供電的方式,為防止USB主機(jī)或USB HUB(集線器)控制器在斷電情況下USB接口設(shè)備將電流灌入U(xiǎn)SB總線(USB主機(jī)或USB HUB控制器將突然上電而可能導(dǎo)致?lián)p壞),在USBDP的上拉電路中加入檢測(cè)USB總線電流的NPN型晶體管2N3904。當(dāng)總線有電時(shí),2N3904飽和導(dǎo)通,USBDP通過(guò)1.5 kΩ電阻上拉至RSTOUT#3.3 V,USB數(shù)據(jù)通信正常進(jìn)行;當(dāng)USB總線失電時(shí),2N3904因基極無(wú)電流而截止,阻止電流由RSTOUT#進(jìn)入U(xiǎn)SB總線,可有效防止USB主機(jī)的突然上電。

3 USB接口的軟件設(shè)計(jì)

USB接口軟件是配合接口硬件實(shí)現(xiàn)USB數(shù)據(jù)的高效快速傳輸,包括微控制器端和PC端兩部分。

3.1 微控制器端軟件的設(shè)計(jì)

微控制器通過(guò)FT245BM提供的數(shù)據(jù)和控制接口實(shí)現(xiàn)數(shù)據(jù)的交換。

讀操作時(shí)序見圖3。當(dāng)RxF#為低,表示當(dāng)前FIFO接收緩沖區(qū)內(nèi)有數(shù)據(jù),可以執(zhí)行讀操作讀取接收緩沖區(qū)數(shù)據(jù)。在RD#電平由高變低,F(xiàn)IFO控制器將接收緩沖區(qū)中的數(shù)據(jù)輸出到8位數(shù)據(jù)端口上,微控制器此時(shí)只需讀取I/O口就可以將數(shù)據(jù)取到內(nèi)部數(shù)據(jù)總線上來(lái),再將RD#信號(hào)拉高完成1個(gè)字節(jié)數(shù)據(jù)的讀取。當(dāng)將FIFO接收緩沖區(qū)中的數(shù)據(jù)全部取出后,RXF#被拉高表示數(shù)據(jù)為空。在RXF#為高時(shí),禁止從FIFO接收緩沖區(qū)讀取數(shù)據(jù)。

寫操作時(shí)序見圖4。當(dāng)TXE#為低,表示當(dāng)前FIFO發(fā)送緩沖區(qū)空,可以向發(fā)送緩沖區(qū)寫人數(shù)據(jù)。在WR為高電平時(shí),微控制器將8位數(shù)據(jù)D[0..7]送到并行I/O口上,在WR信號(hào)電平由高變低時(shí)數(shù)據(jù)被寫入發(fā)送緩沖區(qū)中。當(dāng)TXE#為高時(shí),表示當(dāng)前FIFO發(fā)送緩沖區(qū)已滿或者正在寫入上一個(gè)字節(jié),此時(shí)禁止向發(fā)送緩沖區(qū)中寫入任何數(shù)據(jù)。微控制器向FT245BM寫人數(shù)據(jù)時(shí)應(yīng)確保TXE#為低。

3.2 PC機(jī)端軟件的設(shè)計(jì)

USB設(shè)備插入PC機(jī)時(shí)操作系統(tǒng)會(huì)請(qǐng)求安裝設(shè)備驅(qū)動(dòng)程序,F(xiàn)TDI公司為基于FT245BM的USB接口設(shè)備提供了VCP、D2XX(動(dòng)態(tài)鏈接庫(kù))兩種驅(qū)動(dòng)程序。選擇不同的驅(qū)動(dòng)程序,PC機(jī)端軟件設(shè)計(jì)方法也不同。

3.2.1 基于VCP的PC機(jī)端軟件設(shè)計(jì)

選擇安裝VCP驅(qū)動(dòng)程序時(shí),操作系統(tǒng)將基于FT245BM的USB接口設(shè)備虛擬成為串行通信口,對(duì)這一虛擬的串行口的操作就等同于對(duì)該USB接口設(shè)備的操作,因此在應(yīng)用程序中可以利用串行通信控件來(lái)簡(jiǎn)化PC機(jī)端軟件的設(shè)計(jì)。目前比較成熟的串行通信控件有MSCOMM、SPCOMM、PCCOMM等,本文采用Delphi和SPCOMM來(lái)完成基于VCP的PC端軟件的設(shè)計(jì)。利用SPCOMM編寫針對(duì)串行口操作的程序比較容易,它有豐富的與串口通信密切相關(guān)的屬性及事件,提供了對(duì)串口的各種操作。根據(jù)SPCOMM提供的屬性、方法、事件可以完成對(duì)虛擬成串行口的FT245BM的讀寫,避開了對(duì)USB接口本身的操作。

基于VCP的軟件設(shè)計(jì)介紹如下。首先設(shè)置好需要打開的VCP的各個(gè)屬性,調(diào)用StartComm方法打開VCP,然后通過(guò)WriteCommData將數(shù)據(jù)寫人到發(fā)送緩沖區(qū),由計(jì)算機(jī)硬件實(shí)現(xiàn)物理層的數(shù)據(jù)發(fā)送。數(shù)據(jù)到達(dá)PC機(jī)將會(huì)觸發(fā)控件的OnReceiveData事件,在該事件下接收數(shù)據(jù)并轉(zhuǎn)存以供后續(xù)的處理。接收數(shù)據(jù)出錯(cuò)時(shí)將觸發(fā)OnReceiveError事件,在該事件中可進(jìn)行出錯(cuò)處理。數(shù)據(jù)傳輸完畢后調(diào)用StopComm關(guān)閉VCP,結(jié)束一次通信過(guò)程。

3.2.2 基于D2XX的PC機(jī)端軟件設(shè)計(jì)

選擇D2XX作為USB接口的設(shè)備驅(qū)動(dòng)程序,應(yīng)用程序通過(guò)FTD2XX.DLL、FTD2XX.SYS、Windows USBDriver Stack來(lái)實(shí)現(xiàn)對(duì)FT245BM。的讀寫。因此,在程序編寫時(shí)只需調(diào)用FTD2XX.DLL中的函數(shù),便可完成對(duì)USB接口設(shè)備的讀寫操作。

FTD2XX.DLL提供了豐富的接口函數(shù)來(lái)訪問(wèn)FT245BM,主要函數(shù)簡(jiǎn)介如下:

FT_ListDevice:獲取當(dāng)前PC機(jī)上連接的所有的FTDI USB接口設(shè)備的信息;

FT_Open,F(xiàn)T_OpenEx:打開FTDI USB接口;

FT_Read:從FTDI USB接口讀取數(shù)據(jù);

FT_Write:向FTDI USB接口寫入數(shù)據(jù);

FT_Close:關(guān)閉FTDI USB接口。

使用DLL(動(dòng)態(tài)鏈接庫(kù))函數(shù)首先要在接口單元處重新聲明程序中需要使用到的函數(shù)。FTD2XX中DLL函數(shù)聲明示例如下:

采用Delphi 7編寫的數(shù)據(jù)發(fā)送示例程序PcData_To_UsbDevice如下:

4 結(jié)束語(yǔ)

通過(guò)上述的軟硬件設(shè)計(jì),可以快速實(shí)現(xiàn)USB接口的設(shè)計(jì),滿足數(shù)控系統(tǒng)所要求的高速數(shù)據(jù)傳輸任務(wù)。采用這種USB設(shè)計(jì)方案在實(shí)際應(yīng)用中表現(xiàn)良好,達(dá)到了預(yù)期目的,為數(shù)控系統(tǒng)如期交貨創(chuàng)造了條件。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

2025年8月13日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Asahi Kasei Microdevices (AKM) 的...

關(guān)鍵字: 數(shù)模轉(zhuǎn)換器 USB 無(wú)線揚(yáng)聲器

物聯(lián)網(wǎng)與智能化設(shè)備快速普及,供電方式的選擇直接影響設(shè)備部署的靈活性、成本與可靠性。PoE(以太網(wǎng)供電)與USB供電作為兩大主流技術(shù),分別在工業(yè)網(wǎng)絡(luò)、智能家居、消費(fèi)電子等領(lǐng)域占據(jù)關(guān)鍵地位。本文將從設(shè)備適配性、傳輸距離、功率...

關(guān)鍵字: PoE USB

在無(wú)線技術(shù)的發(fā)展歷程中,部署的簡(jiǎn)便性往往是成功的關(guān)鍵。像Wi-Fi、藍(lán)牙和早期的蜂窩技術(shù),只有在集成變得簡(jiǎn)單、無(wú)縫且實(shí)惠時(shí),才能實(shí)現(xiàn)大規(guī)模的應(yīng)用。而如今,Wi-Fi HaLow——一種專為物聯(lián)網(wǎng)(IoT)設(shè)計(jì)的遠(yuǎn)距離、低...

關(guān)鍵字: 物聯(lián)網(wǎng) Wi-Fi USB

2025年8月5日 – 專注于引入新品的全球電子元器件和工業(yè)自動(dòng)化產(chǎn)品授權(quán)代理商貿(mào)澤電子 (Mouser Electronics)即日起開售Microchip Technology的新款A(yù)VR? SD 8位MCU。AVR...

關(guān)鍵字: MCU 工業(yè)自動(dòng)化 USB

隨著高解析度音頻應(yīng)用的不斷發(fā)展和廣泛部署,諸如USB與I2S之間等不同專業(yè)接口之間的高品質(zhì)音頻轉(zhuǎn)換需求日益增長(zhǎng),由此帶來(lái)了實(shí)現(xiàn)高性能、高實(shí)時(shí)性與高靈活性的新挑戰(zhàn)。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷...

關(guān)鍵字: SoC USB 處理器

【2025年7月24日, 德國(guó)慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)近日推出新型英飛凌ID Key系列,進(jìn)一步擴(kuò)展其通用串行總線(USB)...

關(guān)鍵字: 控制器 USB 非易失性存儲(chǔ)器

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問(wèn)一些東西。你可以使用android的USB OTG功能(是的,幾乎每個(gè)android都支持這個(gè)功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹莓派

M5Stack Cardputer非常適合作為硬件密碼管理器。它很小巧,有一個(gè)內(nèi)置鍵盤,一個(gè)SD卡插槽,運(yùn)行在帶有本地USB支持的ESP32-S3上。屏幕使其易于使用,并且由于USB HID,它可以直接在登錄字段中鍵入密...

關(guān)鍵字: 密碼管理器 M5Stack Cardputer USB

在當(dāng)今數(shù)字化時(shí)代,汽車不再僅僅是一種交通工具,更是一個(gè)移動(dòng)的智能空間。隨著人們對(duì)汽車電子設(shè)備依賴程度的不斷提高,車內(nèi) USB 接口的重要性也日益凸顯。從最初單純?yōu)槭謾C(jī)充電,到如今支持?jǐn)?shù)據(jù)傳輸、連接各種智能設(shè)備,USB 接...

關(guān)鍵字: 接口 數(shù)據(jù)傳輸 汽車供電

根據(jù)Semico Research的預(yù)測(cè),到2025年RISC-V芯片出貨量將達(dá)到624億顆,覆蓋計(jì)算、消費(fèi)電子和工業(yè)等領(lǐng)域。而在這其中,RISC-V MCU是整個(gè)RISC-V生態(tài)的基本盤,以高質(zhì)量、應(yīng)用驅(qū)動(dòng)的解決方案為...

關(guān)鍵字: 青稞 RISC-V 沁恒 接口 MCU
關(guān)閉