|
FT245BM |
![]() |
FT245BM 的PDF資料下載,531396K |
其他型號 |
FT245BM的供應(yīng)商: |
聯(lián)系人:曹歡 電話:0755-83002566 |
聯(lián)系人:詹小姐 電話:0755-83797351 |
聯(lián)系人:洪小姐 電話:0755-23603602 |
聯(lián)系人:王先生 電話:13510086379 |
|
>>更多供應(yīng)商 |
USB接口芯片F(xiàn)T245BM的功能及其應(yīng)用
The Function and Application of USB Interface Chip FT245BM
摘 要: FT245BM芯片是FTDI(Future Technology Devices Intl. Ltd)公司生產(chǎn)的一種USB接口芯片,支持USB協(xié)議與并行I/O協(xié)議之間的轉(zhuǎn)換,文中主要介紹了FT245BM芯片的內(nèi)部結(jié)構(gòu)、功能、工作原理,以及基于FT245BM芯片的硬件接口設(shè)計及軟件編程。
關(guān)鍵字:FT245BM;USB
概要
通用串行總線USB(Universal Serial Bus)由于具有數(shù)據(jù)傳輸速率高、易于使用、支持熱插拔等特點(diǎn),越來越成為一種流行的計算機(jī)通信接口。FT245BM芯片是由FTDI(Future Technology Devices Intl. Ltd)公司推出的第二代USB接口芯片,與其他USB芯片相比,應(yīng)用FT245BM芯片進(jìn)行USB外設(shè)開發(fā),只需熟悉單片機(jī)(MCU)編程及簡單的VC或VB 編程,而無需考慮固件設(shè)計以及驅(qū)動程序的編寫,從而能大大縮短USB外設(shè)產(chǎn)品的開發(fā)周期。此外,F(xiàn)T245BM支持USB1.1及USB2.0規(guī)范,數(shù)據(jù)傳輸速度可達(dá)到1M byte/s。因此,F(xiàn)T245BM是開發(fā)USB外設(shè)所需接口芯片的極佳選擇。
FT245BM的結(jié)構(gòu)與功能
FT245BM芯片是一種32腳,LQFP封裝的芯片,管腳定義如下:
D[0-7](25,24,23,22,21,20,19,18):雙向數(shù)據(jù)信號線;
RD#(16):讀信號;
WR(15):寫信號;
TXE#(14): FIFO發(fā)送緩沖區(qū)空標(biāo)志信號;
RXF#(12): FIFO接收緩沖區(qū)非空標(biāo)志信號;
USBDP(7),USBDM(8):USB數(shù)據(jù)信號正端,USB數(shù)據(jù)信號負(fù)端;
EECS(32),EESK(1),EEDATA(2):EEPROM片選線,時鐘線,數(shù)據(jù)線;
PWREN(10):電源使能信號;
SI/MU(11):立即發(fā)送或喚醒信號;
RESET(4):復(fù)位信號;
RSTOUT(5):內(nèi)部復(fù)位生成器的輸出信號;
XTIN(27),XTOUT(28):時鐘輸入信號,輸出信號;
TEST(31):測試信號;
3V3OUT(6):3.3V輸出信號;
VCC(3,26),VCCIO(13),AVCC(30):芯片電源,控制引腳電源,內(nèi)部模擬電源;
GND(9,17),AGND(29):芯片地,內(nèi)部模擬地。
芯片內(nèi)部由3.3V穩(wěn)壓器,USB收發(fā)器,鎖相環(huán),串行接口引擎(SIE),F(xiàn)IFO控制器,USB協(xié)議引擎,F(xiàn)IFO接收緩沖區(qū),發(fā)送緩沖區(qū)以及6M振蕩器,8倍頻時鐘倍頻器等組成。
FT245BM芯片可實(shí)現(xiàn)USB接口與并行I/O接口之間數(shù)據(jù)的雙向轉(zhuǎn)換。一方面,當(dāng)USB收發(fā)器從主機(jī)接收USB串行數(shù)據(jù)后,由串行接口引擎將數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),存儲在FIFO接收緩沖區(qū), FIFO控制器檢測到讀信號RD為低,就把接收緩沖區(qū)的數(shù)據(jù)送到并行數(shù)據(jù)線D0-D7上;另一方面當(dāng)FIFO控制器檢測到寫信號WR為高時,就從數(shù)據(jù)線D0-D7上讀取并行數(shù)據(jù),存儲在FIFO發(fā)送緩沖區(qū),并行數(shù)據(jù)經(jīng)串行接口引擎轉(zhuǎn)換成USB串行數(shù)據(jù),再通過USB收發(fā)器傳送到主機(jī)?梢奆T245BM芯片自身就可完成數(shù)據(jù)轉(zhuǎn)換,而不需要設(shè)計者考慮硬件設(shè)計。其內(nèi)部結(jié)構(gòu)功能如圖1。
圖1 FT245BM芯片功能框圖(略)
硬件接口設(shè)計
接口電路原理圖見圖2。
設(shè)計采用USB總線供電,圖2中FT245BM與一片MCU相連,MCU的一個8位端口用來傳輸數(shù)據(jù),另外一個端口用來控制和產(chǎn)生FT245BM需要的4根握手信號線,即RXF#、TXE#、RD#、WR。TXE#為低,表示當(dāng)前FIFO發(fā)送緩沖區(qū)空,這時WR脈沖由高變低就將數(shù)據(jù)線D0-D7上數(shù)據(jù)寫入FIFO發(fā)送緩沖區(qū)中;當(dāng)TXE#變高時,表示當(dāng)前FIFO發(fā)送緩沖區(qū)滿或者正在存儲上一個字節(jié),禁止向發(fā)送緩沖區(qū)中寫數(shù)據(jù)。RXF#為低,表示當(dāng)前FIFO接收緩沖區(qū)有數(shù)據(jù),這時RD#脈沖由低變高,將從FIFO接收緩沖區(qū)中讀取數(shù)據(jù);讀信號RD#為低時,把數(shù)據(jù)讀到數(shù)據(jù)線D0...D7上;當(dāng)RXF#為高時,禁止從FIFO接收緩沖區(qū)讀數(shù)據(jù)。讀寫時序見圖3與圖4。
圖2 硬件設(shè)計原理(略)
圖2中的93C46(93C56或93C66)是一片EEPROM,用于存儲產(chǎn)品的VID、PID、設(shè)備序列號及一些說明性文字等。該EEPROM是可選的,若沒有EEPROM,F(xiàn)T245BM將使用默認(rèn)的VID、PID、產(chǎn)品描述符和電源描述符,并且沒有設(shè)備的序列號。
圖3 讀數(shù)據(jù)時序(略)
圖4 寫數(shù)據(jù)時序(略)
設(shè)計時需在USB接口的電源端連接一個磁珠,以減少設(shè)備的噪聲和USB電纜輻射對主機(jī)產(chǎn)生的電磁干擾;電源端增加了去耦和旁路電容,以提高電路的抗干擾性能。還需注意的是,電路中RSTOUT#用來提供上電復(fù)位MCU。如果MCU本身有復(fù)位邏輯,那么通常就不需使用RSTOUT#來復(fù)位設(shè)備,這部分連接與47K下拉電阻就能省略。
軟件設(shè)計
當(dāng)外設(shè)連到主機(jī)USB接口時,主機(jī)會檢測到新硬件,這時需要安裝一個可從FTDI公司的網(wǎng)站上免費(fèi)下載的虛擬串口(VCP)驅(qū)動程序,該驅(qū)動程序適用于WINDOWS98/2000/ME/XP等不同操作系統(tǒng)。設(shè)計者需要完成的是,編寫一個針對虛擬串口通信的應(yīng)用程序,把虛擬串口(VCP)當(dāng)作一個標(biāo)準(zhǔn)的串口去訪問。
設(shè)計的軟件部分可使用VB或VC語言中提供的串口通信MSComm控件進(jìn)行應(yīng)用程序編寫,下面我們以VC語言為例介紹如何編寫應(yīng)用程序,主要介紹MSComm控件的設(shè)置及串口消息事件MSComm.CommEvent響應(yīng)函數(shù)的編寫。
1)MSComm控件設(shè)置:編程時通常把虛擬串口設(shè)置為COM3,即將MSComm.SetCommPort置為3, MSComm.SetSettings置為"9600,n,8,1"(該速率為默認(rèn)設(shè)置,實(shí)際上VCP驅(qū)動程序總是使數(shù)據(jù)以最快速率傳輸);通過MSComm.SetPortOpen設(shè)置COM3的開關(guān)狀態(tài);通過MSComm.SetInput和MSComm.SetOutput讀入或輸出數(shù)據(jù)。在讀取數(shù)據(jù)時,設(shè)置MSComm.Rthreshold的值為1。
2)有數(shù)據(jù)傳到PC機(jī)時,就立即觸發(fā)串口消息事件MSComm.CommEvent,自動讀取COM3的數(shù)據(jù)。下面是本文作者編寫的應(yīng)用程序,處理這個串口消息事件的OnComm函數(shù),其完成的是從串口接收數(shù)據(jù)并顯示在一個編輯框中。
發(fā)送數(shù)據(jù)則可自動發(fā)送或者手動發(fā)送,這由用戶根據(jù)具體情況自己設(shè)定。
void CAaDlg::OnComm()
{
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //設(shè)置BYTE數(shù)組 An 8-bit integerthat is not signed.
CString strtemp;
if(MSComm.GetCommEvent()==2); //事件值為2表示接收緩沖區(qū)內(nèi)有字符
{ / /以下可以根據(jù)通信協(xié)議加入處理代碼
variant_inp= MSComm.GetInput(); //讀緩沖區(qū)
safearray_inp=variant_inp; //VARIANT型變量轉(zhuǎn)換為ColeSafeArray型變量
len=safearray_inp.GetOneDimSize(); //得到有效數(shù)據(jù)長度
for(k=0;k<len;k )
safearray_inp.GetElement(&k,rxdata k);
//轉(zhuǎn)換為BYTE型數(shù)組
for(k=0;k<len;k ) //將數(shù)組轉(zhuǎn)換為Cstring型變量
{
BYTE bt=*(char*)(rxdata k); //字符型
strtemp.Format("%c",bt); //將字符送入臨時變量strtemp存放
m_redit =strtemp; //加入接收編輯框?qū)?yīng)字符串 }
}
UpdateData(FALSE); //更新編輯框內(nèi)容
}
結(jié)論
上述接口設(shè)計的硬件與軟件部分作者均已調(diào)試通過,成功的實(shí)現(xiàn)了外設(shè)與計算機(jī)的USB接口通信。FT245BM成本不高,使用靈活方便,開發(fā)周期短,設(shè)計者即可用于工程實(shí)踐,如USB接口的工業(yè)控制,也可用于產(chǎn)品開發(fā),如數(shù)碼相機(jī)的USB接口等。
|
|||
|
© 2025 維庫電子市場網(wǎng)(www.udpf.com.cn) 版權(quán)所有 經(jīng)營許可證編號:浙B2-20050339 版權(quán)聲明
二十一年專注打造優(yōu)質(zhì)電子元器件采購網(wǎng)、IC交易平臺。 |