USB接口芯片FT245AM的原理
總線(xiàn)測試儀中的應用
摘要:介紹了一種USB總線(xiàn)接口芯片FT245AM及其在航空ARINC429總線(xiàn)測試儀中的應用方法,同時(shí)介紹了FT245AM的內部結構、管腳說(shuō)明以及與微處理器的接口電路,給出了航空ARINC429總線(xiàn)測試儀的總體框圖、部分原理和接口邏輯的Verilog HDL源代碼及仿真時(shí)序。
關(guān)鍵詞:USB總線(xiàn) ARINC429總線(xiàn) FT245AM CPLD MCU
隨著(zhù)計算機的廣泛就算,與計算機通信的方式也越來(lái)越多,對通信速度和易用性要求也越來(lái)越高,這使得USB通信方式顯得越來(lái)越突出,應用領(lǐng)域也越來(lái)越廣泛。因此,在鼠標、鍵盤(pán)、游戲桿、數據采集卡、數碼相機、掌上電腦中都有USB的應用。
FT245AM是美國FTDI公司生產(chǎn)的一種USB專(zhuān)用芯片。它具有功能強、體積小、傳輸速度快、符合USB1.1技術(shù)規范、易于一微處理器接口等特點(diǎn),因而倍受用戶(hù)的青睞。筆者采用FT245AM成功地開(kāi)發(fā)了航空ARINC429總線(xiàn)測試儀。
1 FT245AM簡(jiǎn)介
1.1 FT245AM內部結構和引腳功能
FT245AM芯片的內部結構如圖1所示。該芯片采用QFP32封裝,其各管腳說(shuō)明如下:
USBDP(7腳):USB差分數據正端;
EEDATA(2腳):串行存儲器數據;
USBDM(8腳):USB差分數據負端;
TEST(5腳):廠(chǎng)商測試管腳;
3V3OUT(6腳):3.3V電源輸出;
D[7:0](25~18腳):外設接口數據總線(xiàn);
XTIN(27腳):晶體振蕩器輸入;
RD(16腳):外設讀數據信號輸入;
XTOUT(28腳):晶體振蕩器輸出;
WR(15腳):外設寫(xiě)數據信號輸入;
RCCLK(31腳):RC定時(shí)器;
TXE(14腳):發(fā)送FIFO空標志輸出;
RESET(4腳):芯片復位輸入;
RXF(12腳):接收FIFO非空標志輸出;
EECS(32腳):串行存儲器片選;
EEREQ(11腳):串行存儲器讀取請求;
EESK(1腳):串行存儲器時(shí)鐘;
EEGNT(10腳):串行存儲器讀取允許;
VCC,AVCC(3、13、26、30腳):分別為芯片電源和電路模擬電源;
GND,AGND(9、19、29腳):芯片地和模擬地。
1.2 FT246AM與外設的數據傳輸方法
FT245AM具有外設接口控制單元,可以方便地與MCU、CPLD接口來(lái)實(shí)現數據交換。
當外設通過(guò)FT245AM寫(xiě)數據到USB主機時(shí),如果FT245AM的管腳TXE為高電平,則表示FT245AM內部正忙,外圍MCU(CPLD)不能向FT245AM的發(fā)送FIFO中寫(xiě)數據。而當外圍MCU(CPLD)檢測到TXE為低電平時(shí),則表明FT245AM的發(fā)送FIFO空閑,外圍MCU(CPLD)可以向FT245AM中寫(xiě)數據到USB主機。圖3所示是外設通過(guò)FT245AM向USB主機發(fā)送數據的時(shí)序圖。
2 在A(yíng)RINC429總線(xiàn)測試儀中應用
ARINC429總線(xiàn)在航空領(lǐng)域有著(zhù)廣泛的使用,該總線(xiàn)采用差分數據傳輸方式,支持12.5kbps和100kbps兩種傳輸速率。由于A(yíng)RINC429總線(xiàn)設備的應用領(lǐng)域比較特殊,因此需要較高的可靠性,同時(shí)其測試設備也顯得尤為重要。為了方便該總線(xiàn)設備的測試,擺脫專(zhuān)用測試設備的不靈活性,急需一種方便快捷的通信方式來(lái)實(shí)現計算機與該總線(xiàn)設備的互連,使該總線(xiàn)設備的測試可以在計算機中自動(dòng)完成,從而提供測試設備的靈活性和通用性。因此,提出了基于USB總線(xiàn)的ARINC429總線(xiàn)測試儀。
2.1 基于USB的ARINC429總線(xiàn)測試儀結構
考慮到USB總線(xiàn)為自供電試,最大可驅動(dòng)500mA電流,故ARINC429測試儀選取4路接收、2路發(fā)送的結構。當然,如果允許外接電源,還可以實(shí)現更多的收發(fā)路數,但這樣會(huì )降低USB總線(xiàn)的方便性。由于A(yíng)RINC429總線(xiàn)的傳輸速率最大為100kbps,而USB1.1的通信能力可達12Mbps。,考慮到協(xié)議的額外開(kāi)銷(xiāo),一路USB總線(xiàn)同時(shí)完成2路ARINC429總線(xiàn)的發(fā)送和4路接收。
為了提高ARINC429總線(xiàn)測試儀的實(shí)時(shí)性,可選用高速MCU控制USB接口芯片FT245AM,但MCU沒(méi)有足夠的I/O數,無(wú)法滿(mǎn)足與ARINC429控制芯片連接的I/O管腳,因此,可選用CPLDEPM7128S來(lái)完成FT245AM的控制和數據傳輸。
基于USB的ARINC429總線(xiàn)測試儀結構如圖4所示。圖5所示是FT245AM部分的外圍電路。
在諞測試儀電路中,EPM7128S用于完成ARINC429總線(xiàn)控制芯片DEI1016與USB控制芯片FT245AM的邏輯變換,以使USB主機可以實(shí)時(shí)發(fā)送數據到ARINC429總線(xiàn)設備,并實(shí)時(shí)接收設備返回的數據,以供主機中的測試軟件進(jìn)行記錄和檢測,從而滿(mǎn)足設備故障的診斷和定位之需。
EPM7128S與FT245AM的接口電路主要完成從FT245AM的接收FIFO中讀數據和向FT245AM的發(fā)送FIFO中寫(xiě)數據。采用純硬件實(shí)現方式可使FT245AM的接口延時(shí)和整個(gè)測試儀通信環(huán)節的延時(shí)達到最小。
EPM7128S可與FT245AM共享工作時(shí)鐘,它使用12條I/O與FT245AM相連,分別對應于FT245AM的D0~D7、TXE、RXF、RD、WR等。
對EPM7128S的編程可采用VerilogHDL語(yǔ)言,并采用Synplify綜合,最后使用MAXPlus II進(jìn)行布線(xiàn)和仿真。與FT245AM的接口設計代碼如下:
//-------------
//產(chǎn)生FT245AM讀信號
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
//---------------------
//計數器,控制FT245AM讀寫(xiě)時(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寫(xiě)信號
always@(posedge clk or negedge reset)
begin
if(reset= =1'b0)
usb_wr=1'b0;
else
usb_wr=(cnt= =2'd1);
end
//---------------------
//讀取USB主機數據
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主機寫(xiě)數據
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的數據三態(tài)接口
assign usb_data=(cnt[1] = =1'b1)?tx_data:8'hzz;
//----------------------
圖5 FT245AM外圍電路圖
3 結束語(yǔ)
本文介紹了USB接口芯片FT245AM的原理和在航空ARINC429總線(xiàn)測試儀中的具體應用實(shí)例方法。筆者將EPM7128與FT245AM的接口邏輯在MAXplus II環(huán)境下進(jìn)行了仿真,結果表明:使用該設計完全可滿(mǎn)足實(shí)際要求,因此,使用USB通信接口的航空ARINC429總線(xiàn)測試儀,大大便利了429總線(xiàn)設備與計算機的通信,有效提高了429總線(xiàn)設備的檢測效率。
評論