USB接口開發管理論文
時間:2022-06-26 10:38:00
導語:USB接口開發管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:FT245BM的主要功能是進行usb和并行I/O口之間的協議轉換。詳細介紹FT245BM芯片的工作原理、內部結構、引腳分布及功能;給出基于FT245BM接口電路的典型設計及驅動和應用軟件的編寫方法。
關鍵詞:FT245BMUSB接口并行I/O口
引言
1概述
當前,USB外設的開發是一個熱點。由于USB總線具有傳輸速度快、占用資源少及真正的即插即用等優點,越來越受到業界的青睞??墒?,USB的開發要求設計人員對USB的標準、Firmware(固件)編程及驅動程序的編寫等有較深入的理解,因此限制了USB的開發人員;而基于FT245BM芯片的USB產品開發,能夠使研發人員在最短的周期內開發出相應的USB產品。該芯片由FTDI(FutureTechnologyDevicesIntl.Ltd.)公司推出,使用簡單、性能卓越,只要熟悉單片機編程及簡單的VB、VC應用程序編程,就可很容易地進行用戶產品開發。
2FT245BM芯片功能簡介
FT245BM的主要功能是進行USB和并行I/O口之間的協議轉換。芯片一方面可從主機接收USB數據,并將其轉換為并行I/O口的數據流格式發送給外設;另一方面外設可通過并行I/O口將數據轉換為USB的數據格式傳回主機。中間的轉換工作全部由芯片自動完成,開發者無須考慮固件的設計。
FT245BM內部主要由USB收發器、串行接口引擎(SIE)、USB協議引擎和先進先出(FIFO)控制器等構成,如圖1所示。USB收發器提供USB1.1/2.0的全速物理接口到USB總線,支持UHCI/OHCI主控制器;串行接口引擎主要用于完成USB數據的串/并雙向轉換,并按照USB1.1規范來完成USB數據流的位填充/位反填充,以及循環冗余校驗碼(CRC5/CRC16)的產生和檢錯;USB協議引擎管理來自USB設備控制端口的數據流;FIFO控制器處理外部接口和收發緩沖區間的數據轉換。
FIFO控制器實現與單片機(如AT89C51等)的接口,主要通過8根數據線D0~D7及讀寫控制線(、WR、和)來完成和單片機的數據交互。FT245BM內含兩個FIFO數據緩沖區,一個是128字節的接收緩沖區,另一個是384字節的發送緩沖區。它們均用于USB數據與并行I/O口數據的交換緩沖區。
另外,FT245BM還包括1個內置的3.3V的穩壓器,1個6MHz的振蕩器、8倍頻的時鐘倍頻器、USB鎖相環和EEPROM接口。FT245BM采用32腳的PQFP封裝,體積小巧,易于和外設做到一塊板上。其外形及引腳分布如圖2所示,各引腳的功能描述如表1所列。
表1FT245BM引腳功能
引腳號引腳名稱類型引腳功能
25D0I/O雙向數據總線
24D1I/O雙向數據總線
23D2I/O雙向數據總線
22D3I/O雙向數據總線
21D4I/O雙向數據總線
20D5I/O雙向數據總線
19D6I/O雙向數據總線
18D7I/O雙向數據總線
16RDIN由低變高時,允許從接收數據緩沖區讀取數據
15WRIN由高變低時,允許將數據發送到數據緩沖區
14TXEOUT為低時,允許數據寫入發送數據緩沖區
12RXFOUT為低時,允許數據緩沖區的數據被讀取
7USBDPI/OUSB數據信號線D+,接1.5kΩ的上位電阻到3.3V
8USBDMI/OUSB數據信號線D-
32EECSI/OEEPROM片選線
1EESKOUTEEPROM時鐘線
2EEDATAI/OEEPROM數據線
10PWRENOUT電源使能線
11SI/WUIN發送立刻消息或喚醒信號線
4RESETIN復位腳
5RSTOUTOUT內部復位生成器的輸出腳
27XTININ時鐘輸入腳
28XTOUTOUT時鐘輸出腳
31TESTIN測試腳
63V3OUTOUT3.3V輸出腳
3、26VCCPWR電池,+4.4~5.25V
13VCCIOPWR控制引腳10~12、14~16、18~25的信號電平,+3.0~+5.25V
9、17GNDPWR電源地
30AVCCPWR內部模擬電源
29AGNDPWR內部模擬電源地
3硬件設計
FT245BM的典型硬件電路如圖3所示。該電路采用總線供電模式,同時采用上電復位方式,通過的輸出使單片機復位。時鐘電路可采用4腳的6MHz晶振模塊或由1個6MHz的晶體及2個33pF的電容組成。腳和I/O24腳相連,用于判斷USB總線是處于掛起狀態還是正常狀態。在USB接口的電源端采用一個磁珠,以減少主機和設備的干擾;同時,電源端增加了去耦和旁路電容,以提高電路的抗干擾性能。在PCB板的設計中,數據線的走線應盡可能短并且長度相等。圖3中的93C46(93C56或93C66)是一片EEPROM,用于存儲產品的VID、PID、設備序列號及一些說明性文字等。這些需要用戶自己編寫,編寫的應用程序由FTDI提供。用戶只須運行相應的VB應用程序,寫入自己相應的信息即可。該EEPROM是可選的。若沒有EEPROM,FT245BM將使用默認的VID、PID、產品描述符和電源描述符,并且沒有設備的序列號。
圖3FT245BM的典型硬件電路
4軟件編程
當FT245BM的USB接口連接到主機后,必須在PC機上安裝一個由FTDI公司免費提供的虛擬串行口VCP(VirtualCOMPort)驅動程序。該驅動程序兼容Windows98/98SE、Windows2000/ME/XP等不同版本。用戶可以在這虛擬串口上進行應用程序的開發。該虛擬串口可以像一個標準的物理串口那樣被訪問,可本質上所有針對虛擬串口的數據通信都是通過USB總線完成的,在設備端則通過并行I/O口完成。
在PC端,應用VB對虛擬串口(通常為COM3)進行應用編程。我們直接應用MSComm控件,將mPort置為3,MSComm3.Seetings置為“9600,n,8,1”(該速率為默認設置,實際上VCP驅動程序總是使數據以最快速率傳輸);通過MSComm3.PortOpen設置COM3的開關狀態;通過MSComm3.Input和MSComm3.Output讀入或輸出數據。在讀取數據時,設置MSComm3.Rthreshold的值為1。只要有數據傳到PC機,就立即觸發mEvent事件,自動讀取COM3的數據;而發送數據則可自動或手動發送,由用戶自己設置。根據這些,用戶就可以輕松編寫自己的應用程序了。
在設備端,基于萬利的InsightSE-52仿真器進行編程。根據圖4所示接收數據時序圖,首先,須采樣到信號為低,若為低,表明有接收到來自PC機的數據,允許單片機通過八位數據總線D0~D7讀取數據。接著,通過信號由低到高的變化鎖存數據(讀入數據)。最后,延遲一段時間,重新開始下一字節的讀取。軟件流程如圖5所示。發送數據過程,可根據圖6所示發送數據時序圖,同理編寫發送數據的程序。設備程序可以在此基礎上進一步開發,即用戶根據自己的具體項目進行編程。
5結論
利用FT245BM進行USB接口的開發,簡單、容易,開發周期短,易于為工程實踐所采用;同時,也可以直接用于新產品的開發,如數碼相機的USB接口、MP3播放器的USB接口及無線Modem的USB接口等。
- 上一篇:農業穩定發展工作意見
- 下一篇:發改委經濟體制改革工作意見