關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > USB接口芯片F(xiàn)T245AM的原理

USB接口芯片F(xiàn)T245AM的原理

作者: 時(shí)間:2004-12-07 來源:網(wǎng)絡(luò) 收藏
接口芯片245的原理及航空ARINC429

總線測(cè)試儀中的應(yīng)用

摘要:介紹了一種總線接口芯片245及其在航空ARINC429總線測(cè)試儀中的應(yīng)用方法,同時(shí)介紹了245的內(nèi)部結(jié)構(gòu)、管腳說明以及與微處理器的接口電路,給出了航空ARINC429總線測(cè)試儀的總體框圖、部分原理和接口邏輯的Verilog HDL源代碼及仿真時(shí)序。

關(guān)鍵詞:總線 ARINC429總線 FT245AM CPLD MCU

隨著計(jì)算機(jī)的廣泛就算,與計(jì)算機(jī)通信的方式也越來越多,對(duì)通信速度和易用性要求也越來越高,這使得USB通信方式顯得越來越突出,應(yīng)用領(lǐng)域也越來越廣泛。因此,在鼠標(biāo)、鍵盤、游戲桿、數(shù)據(jù)采集卡、數(shù)碼相機(jī)、掌上電腦中都有USB的應(yīng)用。

FT245AM是美國(guó)FTDI公司生產(chǎn)的一種USB專用芯片。它具有功能強(qiáng)、體積小、傳輸速度快、符合USB1.1技術(shù)規(guī)范、易于一微處理器接口等特點(diǎn),因而倍受用戶的青睞。筆者采用FT245AM成功地開發(fā)了航空ARINC429總線測(cè)試儀。

FT245AM集成了USB1.1通信協(xié)議和外設(shè)接口,可以方便地實(shí)現(xiàn)USB主機(jī)與外設(shè)MCU、CPLD的接口,其數(shù)據(jù)傳輸速率可達(dá)1MB/s。FT245AM內(nèi)部128字節(jié)的接收FIFO和384字節(jié)的發(fā)送FIFO大大提高了USB主機(jī)與外設(shè)的通信質(zhì)量。另外,F(xiàn)T245AM還具備3.3V的LDO調(diào)整器、8位頻器、USB數(shù)據(jù)時(shí)鐘恢復(fù)PLL、USB數(shù)據(jù)收發(fā)器,且EEPROM接口邏輯單元可外接串行存儲(chǔ)器93C46,以實(shí)現(xiàn)USB VID、PID、序列號(hào)和設(shè)備說明字符串的存儲(chǔ)。使用FT245AM可大大簡(jiǎn)化其外圍電路,使用戶設(shè)備更趨于小型化。

1 FT245AM簡(jiǎn)介

1.1 FT245AM內(nèi)部結(jié)構(gòu)和引腳功能

FT245AM芯片的內(nèi)部結(jié)構(gòu)如圖1所示。該芯片采用QFP32封裝,其各管腳說明如下:

USBDP(7腳):USB差分?jǐn)?shù)據(jù)正端;

EEDATA(2腳):串行存儲(chǔ)器數(shù)據(jù);

USBDM(8腳):USB差分?jǐn)?shù)據(jù)負(fù)端;

TEST(5腳):廠商測(cè)試管腳;

3V3OUT(6腳):3.3V電源輸出;

D[7:0](25~18腳):外設(shè)接口數(shù)據(jù)總線;

XTIN(27腳):晶體振蕩器輸入;

RD(16腳):外設(shè)讀數(shù)據(jù)信號(hào)輸入;

XTOUT(28腳):晶體振蕩器輸出;

WR(15腳):外設(shè)寫數(shù)據(jù)信號(hào)輸入;

RCCLK(31腳):RC定時(shí)器;

TXE(14腳):發(fā)送FIFO空標(biāo)志輸出;

RESET(4腳):芯片復(fù)位輸入;

RXF(12腳):接收FIFO非空標(biāo)志輸出;

EECS(32腳):串行存儲(chǔ)器片選;

EEREQ(11腳):串行存儲(chǔ)器讀取請(qǐng)求;

EESK(1腳):串行存儲(chǔ)器時(shí)鐘;

EEGNT(10腳):串行存儲(chǔ)器讀取允許;

VCC,AVCC(3、13、26、30腳):分別為芯片電源和電路模擬電源;

GND,AGND(9、19、29腳):芯片地和模擬地。

1.2 FT246AM與外設(shè)的數(shù)據(jù)傳輸方法

FT245AM具有外設(shè)接口控制單元,可以方便地與MCU、CPLD接口來實(shí)現(xiàn)數(shù)據(jù)交換。

當(dāng)外設(shè)從FT245AM中讀取USB主機(jī)數(shù)據(jù)時(shí),如果FT245AM的管腳RXF為高電平,則表明FT245AM沒有接收到USB主機(jī)發(fā)送的數(shù)據(jù),此時(shí)外圍MCU(CPLD)不能讀取數(shù)據(jù)。而當(dāng)MCU(CPLD)檢測(cè)到RXF為低電平時(shí),表明FT245AM的接收FIFO中已有USB主機(jī)發(fā)送的數(shù)據(jù),此時(shí)外圍MCU(CPLD)便可以通過外設(shè)數(shù)據(jù)總線讀取數(shù)據(jù)。外設(shè)通過FT245AM讀取USB主機(jī)數(shù)據(jù)的時(shí)序圖如圖2所示。

當(dāng)外設(shè)通過FT245AM寫數(shù)據(jù)到USB主機(jī)時(shí),如果FT245AM的管腳TXE為高電平,則表示FT245AM內(nèi)部正忙,外圍MCU(CPLD)不能向FT245AM的發(fā)送FIFO中寫數(shù)據(jù)。而當(dāng)外圍MCU(CPLD)檢測(cè)到TXE為低電平時(shí),則表明FT245AM的發(fā)送FIFO空閑,外圍MCU(CPLD)可以向FT245AM中寫數(shù)據(jù)到USB主機(jī)。圖3所示是外設(shè)通過FT245AM向USB主機(jī)發(fā)送數(shù)據(jù)的時(shí)序圖。

2 在ARINC429總線測(cè)試儀中應(yīng)用

ARINC429總線在航空領(lǐng)域有著廣泛的使用,該總線采用差分?jǐn)?shù)據(jù)傳輸方式,支持12.5kbps和100kbps兩種傳輸速率。由于ARINC429總線設(shè)備的應(yīng)用領(lǐng)域比較特殊,因此需要較高的可靠性,同時(shí)其測(cè)試設(shè)備也顯得尤為重要。為了方便該總線設(shè)備的測(cè)試,擺脫專用測(cè)試設(shè)備的不靈活性,急需一種方便快捷的通信方式來實(shí)現(xiàn)計(jì)算機(jī)與該總線設(shè)備的互連,使該總線設(shè)備的測(cè)試可以在計(jì)算機(jī)中自動(dòng)完成,從而提供測(cè)試設(shè)備的靈活性和通用性。因此,提出了基于USB總線的ARINC429總線測(cè)試儀。

2.1 基于USB的ARINC429總線測(cè)試儀結(jié)構(gòu)

考慮到USB總線為自供電試,最大可驅(qū)動(dòng)500mA電流,故ARINC429測(cè)試儀選取4路接收、2路發(fā)送的結(jié)構(gòu)。當(dāng)然,如果允許外接電源,還可以實(shí)現(xiàn)更多的收發(fā)路數(shù),但這樣會(huì)降低USB總線的方便性。由于ARINC429總線的傳輸速率最大為100kbps,而USB1.1的通信能力可達(dá)12Mbps。,考慮到協(xié)議的額外開銷,一路USB總線同時(shí)完成2路ARINC429總線的發(fā)送和4路接收。

為了提高ARINC429總線測(cè)試儀的實(shí)時(shí)性,可選用高速M(fèi)CU控制USB接口芯片F(xiàn)T245AM,但MCU沒有足夠的I/O數(shù),無法滿足與ARINC429控制芯片連接的I/O管腳,因此,可選用CPLDEPM7128S來完成FT245AM的控制和數(shù)據(jù)傳輸。

基于USB的ARINC429總線測(cè)試儀結(jié)構(gòu)如圖4所示。圖5所示是FT245AM部分的外圍電路。

在諞測(cè)試儀電路中,EPM7128S用于完成ARINC429總線控制芯片DEI1016與USB控制芯片F(xiàn)T245AM的邏輯變換,以使USB主機(jī)可以實(shí)時(shí)發(fā)送數(shù)據(jù)到ARINC429總線設(shè)備,并實(shí)時(shí)接收設(shè)備返回的數(shù)據(jù),以供主機(jī)中的測(cè)試軟件進(jìn)行記錄和檢測(cè),從而滿足設(shè)備故障的診斷和定位之需。

2.2 EPM7128S與FT245AM的接口實(shí)現(xiàn)

EPM7128S與FT245AM的接口電路主要完成從FT245AM的接收FIFO中讀數(shù)據(jù)和向FT245AM的發(fā)送FIFO中寫數(shù)據(jù)。采用純硬件實(shí)現(xiàn)方式可使FT245AM的接口延時(shí)和整個(gè)測(cè)試儀通信環(huán)節(jié)的延時(shí)達(dá)到最小。

EPM7128S可與FT245AM共享工作時(shí)鐘,它使用12條I/O與FT245AM相連,分別對(duì)應(yīng)于FT245AM的D0~D7、TXE、RXF、RD、WR等。

對(duì)EPM7128S的編程可采用VerilogHDL語言,并采用Synplify綜合,最后使用MAXPlus II進(jìn)行布線和仿真。與FT245AM的接口設(shè)計(jì)代碼如下:

//-------------

//產(chǎn)生FT245AM讀信號(hào)

always@(posedge clk or negedge reset)

begin

if(reset = =1'b0)

usb_rd=1'b1;

else if(usb_rxf= =1'b1)

usb_rd=1'b1;

else if(usb_rd= =1'b0)

usb_rd=1'b1;

else if((usb_rxf = = 1'b0)(usb_rden= =1'b1)(cnt= =2'd0))

usb_rd=~usb_rd;

end

//---------------------

//計(jì)數(shù)器,控制FT245AM讀寫時(shí)序

always@(posedge clk or negedge reset)

begin

if(reset = =1'b0)

cnt=2'd0;

else if(cnt !=2'd0)

cnt=cnt+1'b1;

else if((usb_txe = =1'b0)(data_valid = =1'b1)(usb_rden= =1'b0))

ent=cnt+1'b1;

end

//---------------------

//產(chǎn)生FT245AM寫信號(hào)

always@(posedge clk or negedge reset)

begin

if(reset= =1'b0)

usb_wr=1'b0;

else

usb_wr=(cnt= =2'd1);

end

//---------------------

//讀取USB主機(jī)數(shù)據(jù)

always@(posedge clk or negedge reset)

begin

if(reset= =1'b0)

rx_data=8'b00;

else if(usb_rd = = 1'b0)

rxdata=usb_data;

end

//---------------------

//向USB主機(jī)寫數(shù)據(jù)

always@(posedge clk or negedge reset)

begin

if(reset = =1'b0)

tx_data=8'h00;

else if(cnt[0] = =1'b1)tx_data=data_429;

end

//---------------------

//FT245Amgn EPM7128S的數(shù)據(jù)三態(tài)接口

assign usb_data=(cnt[1] = =1'b1)?tx_data:8'hzz;

//----------------------

圖5 FT245AM外圍電路圖

3 結(jié)束語

本文介紹了USB接口芯片F(xiàn)T245AM的原理和在航空ARINC429總線測(cè)試儀中的具體應(yīng)用實(shí)例方法。筆者將EPM7128與FT245AM的接口邏輯在MAXplus II環(huán)境下進(jìn)行了仿真,結(jié)果表明:使用該設(shè)計(jì)完全可滿足實(shí)際要求,因此,使用USB通信接口的航空ARINC429總線測(cè)試儀,大大便利了429總線設(shè)備與計(jì)算機(jī)的通信,有效提高了429總線設(shè)備的檢測(cè)效率。



關(guān)鍵詞: USB FT AM

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉