USB接口芯片F(xiàn)T245BM的功能及其應(yīng)用
通用串行總線USB(Universal Serial Bus)由于具有數(shù)據(jù)傳輸速率高、易于使用、支持熱插拔等特點,越來越成為一種流行的計算機通信接口。FT245BM芯片是由FTDI(Future Technology Devices Intl. Ltd)公司推出的第二代USB接口芯片,與其他USB芯片相比,應(yīng)用FT245BM芯片進(jìn)行USB外設(shè)開發(fā),只需熟悉單片機(MCU)編程及簡單的VC或VB 編程,而無需考慮固件設(shè)計以及驅(qū)動程序的編寫,從而能大大縮短USB外設(shè)產(chǎn)品的開發(fā)周期。此外,FT245BM支持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芯片可實現(xiàn)USB接口與并行I/O接口之間數(shù)據(jù)的雙向轉(zhuǎn)換。一方面,當(dāng)USB收發(fā)器從主機接收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ā)器傳送到主機??梢奆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ù)
評論