當前位置:首頁 > 智能硬件 > 智能硬件
[導讀]為了擺脫常規(guī)USB數(shù)據(jù)接口設計的難度,加快系統(tǒng)開發(fā)進程,我們引入了基于FT245BM的快速USB接口設計,使系統(tǒng)開發(fā)節(jié)奏加快,保證整套系統(tǒng)設計周期的縮短。

引言

USB(通用串行總線)是一種新的數(shù)據(jù)通信接口方式,它使得外圍沒備到計算機的連接更加高效、便利。USB接口不僅具有快速、即插即用、支持熱插拔的特點,而且能同時連接多達127個外部設備,可以有效地解決PC機外圍接口不足的問題。目前USB這一接口形式在微電子控制系統(tǒng)的設計中得到了廣泛應用。

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

1 FT245BM芯片簡介

FT245BM是FTDI(Future Technology Devices IntlLtd)公司的多種快速USB通信接口解決方案之一。它無需編寫片內(nèi)固件程序,上層PC機則使用FTDI公司提供的官方驅(qū)動程序。FT245BM芯片的主要功能是在內(nèi)部硬件邏輯的作用下實現(xiàn)USB串行數(shù)據(jù)格式與并行數(shù)據(jù)格式的雙向轉(zhuǎn)換。PC機通過USB接口與FT245BM進行數(shù)據(jù)交換,F(xiàn)T245BM則通過并行方式與下位微控制器通信。FT25BM芯片引腳見圖1。

該芯片有如下特點:

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

2 USB接口的硬件設計

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

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

3 USB接口的軟件設計

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

3.1 微控制器端軟件的設計

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

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

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

3.2 PC機端軟件的設計

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

3.2.1 基于VCP的PC機端軟件設計

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

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

3.2.2 基于D2XX的PC機端軟件設計

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

FTD2XX.DLL提供了豐富的接口函數(shù)來訪問FT245BM,主要函數(shù)簡介如下:

FT_ListDevice:獲取當前PC機上連接的所有的FTDI USB接口設備的信息;

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

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

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

FT_Close:關閉FTDI USB接口。

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

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


4 結束語

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉