廣州海格通信集團(tuán)股份有限公司 鄭超捷 郭 洋
與傳統(tǒng)的x86結(jié)構(gòu)CPU系統(tǒng)的通用USB設(shè)計(jì)相比較,嵌入式FPGA系統(tǒng)中的USB接口在使用中具有很好的針對(duì)性和專(zhuān)業(yè)性。在系統(tǒng)設(shè)計(jì)中,嵌入式FPGA系統(tǒng)更加趨向于集成化發(fā)展,在單片F(xiàn)PGA系統(tǒng)中具備系統(tǒng)需要最基本的CPU和存儲(chǔ)器,為了完成整個(gè)系統(tǒng)需要的功能需求,還需要在系統(tǒng)內(nèi)集成各種工程模塊和接口。通過(guò)系統(tǒng)和模塊的協(xié)調(diào)配合,才能實(shí)現(xiàn)系統(tǒng)的可編程性。該系統(tǒng)的設(shè)計(jì)和使用,能夠比較便利的完成擴(kuò)充以及升級(jí)等多種功能,而且在設(shè)計(jì)過(guò)程中還表現(xiàn)出良好的靈活性。由于,在FPGA系統(tǒng)中的I/O資源豐富,所以在應(yīng)用的過(guò)程中可以設(shè)置成各種串行總線(xiàn)、并行總線(xiàn),在傳輸速度方面可以通過(guò)PLL配置,實(shí)際應(yīng)用中能夠表現(xiàn)出良好的USB接口芯片適用性。
嵌入式系統(tǒng)的構(gòu)成不僅包括了外圍器件,而且還包括了最主要的主控器件,目前的CPU設(shè)計(jì)形式還是較多的,本文將對(duì)FPGA形式進(jìn)行分析和研究。對(duì)于FPGA系統(tǒng)而言,除了最基本的主控器件,還要配備電源模塊,也包括了USB模塊,除此之外就是嵌入式模塊。
所以,要進(jìn)行嵌入式嵌入式FPGA系統(tǒng)USB通信接口硬件設(shè)計(jì),首先要選擇合適的電壓,來(lái)設(shè)計(jì)合理的電源模塊,最常用的就是DC/DC的系統(tǒng)電源。在通電之后,F(xiàn)PGA會(huì)根據(jù)系統(tǒng)要求進(jìn)行相關(guān)的操作,完成對(duì)配制芯片的加載,最終才能完成整個(gè)系統(tǒng)的功能。整個(gè)系統(tǒng)的構(gòu)架,也需要初始化驅(qū)動(dòng)程序的驅(qū)動(dòng),在系統(tǒng)開(kāi)始使用之后,如果將USB插入主機(jī),F(xiàn)PGA可以接收顯式中斷信息。最終通過(guò)系統(tǒng)的處理,使得系統(tǒng)在接下來(lái)可以準(zhǔn)確識(shí)別出USB。如果在使用中,將嵌入式系統(tǒng)插入外圍設(shè)備,則USB的功能就變成了電源供應(yīng)作用,所以在使用中要實(shí)現(xiàn)配置文件的加載,可以首先根據(jù)系統(tǒng)的初始化識(shí)別的基礎(chǔ)上,通過(guò)FIFO來(lái)實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)傳輸。
因此,在嵌入式系統(tǒng)的通信接口的設(shè)計(jì)過(guò)程中,不僅要考量系統(tǒng)的整體功能要求,而且需要綜合考慮FPGA系統(tǒng)的特點(diǎn)。
作為嵌入式系統(tǒng),F(xiàn)PGA只是主控制CPU,需要SDRAM、nor flash等外圍設(shè)備才能正常工作?;谇度胧紽PGA的USB通信接口系統(tǒng)硬件由嵌入式FPGA模塊、USB模塊和電源模塊組成,其總體框圖如圖1所示。
通過(guò)上圖的硬件框圖也可以看出,F(xiàn)PGA系統(tǒng)的功能實(shí)現(xiàn),需要借助配制芯片,只有借助配置芯片才能完成Nios II軟核的加載,在此基礎(chǔ)上保證系統(tǒng)在SDRAM中運(yùn)行,該過(guò)程需要UC / OS - II操作系統(tǒng)的加載。在完成系統(tǒng)和程序的加載之后,此時(shí)如果有USB設(shè)備插入主機(jī),將會(huì)中斷通知max 3421 FPGA。一旦FPGA系統(tǒng)中斷,此時(shí)的識(shí)別工作承擔(dān)者將改變,將由max 3421實(shí)現(xiàn)。此時(shí),max 3421通過(guò)配置來(lái)輔助系統(tǒng)進(jìn)行后續(xù)的操作。如果外圍設(shè)備插入的時(shí)候,USB的功能主要是完成外圍設(shè)備的供電,然后借助配制文件的加載,實(shí)現(xiàn)內(nèi)部寄存器的初始化。此時(shí),設(shè)備能夠正確、明確地識(shí)別出后續(xù)的數(shù)據(jù),其傳輸是通過(guò)內(nèi)部的FIFO操作完成的。
圖1 系統(tǒng)總體硬件框圖
一般而言,支持嵌入式系統(tǒng)的FPGA都滿(mǎn)足要求。例如Altera公司的FPGA系列中,Cyclone系列及以上的FPGA系列都支持Nios II嵌入式CPU,都可以作為系統(tǒng)的主控CPU。
USB2.0是已經(jīng)設(shè)置好的標(biāo)準(zhǔn),因此不需要重復(fù)設(shè)計(jì)。在嵌入式模式中,經(jīng)常使用USB主機(jī)芯片完成主機(jī)所需要的功能。可以結(jié)合MAXIM公司的MAX3421接口芯片實(shí)現(xiàn)USB2.0所需要的功能。
USB的外置接口芯片較多,但是既要保證外設(shè)功能的良好運(yùn)行,還要保證良好的速度,這對(duì)于外設(shè)接口芯片的要求就更高了。所以,能夠滿(mǎn)足要求的芯片有很大的限制,具有代表性的像CPRESS公司的EZ-USBFX2系列。可以使用CPRESS公司的Cy7c68013芯片作為高速USB外設(shè)的接口芯片,實(shí)現(xiàn)數(shù)據(jù)的高速傳遞。
FPGA通過(guò)FX2實(shí)現(xiàn)USB2.0接口和通訊主機(jī)之間連接,它能從本質(zhì)上帶來(lái)Slave FIFO主控制器所需要的模塊。所以可以依據(jù)Slave FIFO所需要的傳輸方式進(jìn)行分析設(shè)計(jì),在此基礎(chǔ)上,F(xiàn)X2內(nèi)嵌的8051部件僅僅作為Slave FIFO存在的寄存器同時(shí)控制FX2的運(yùn)行。一旦相關(guān)的寄存器完成配置,F(xiàn)PGA根據(jù)Slave FIFO傳遞的信息,能夠?qū)崿F(xiàn)通訊,然而實(shí)際通訊中8051這一模塊并不參與其中。
FPGA的最基礎(chǔ)的功能是能夠支持嵌入式模式,不同種類(lèi)的FPGA都有助于完善系統(tǒng)。系統(tǒng)的內(nèi)部結(jié)構(gòu)中,F(xiàn)PGA是系統(tǒng)的重心。
嵌入式模式應(yīng)該同時(shí)含有等效邏輯單元以及芯片資源,所以能夠滿(mǎn)足接口芯片的基本要求,與此同時(shí)也可以通過(guò)對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行處理完成數(shù)據(jù)的實(shí)時(shí)性分析。最近,單片F(xiàn)PGA較傳統(tǒng)的模式而言具有更好的靈活性,系統(tǒng)配有能夠幫助接口組塊和儲(chǔ)存器實(shí)現(xiàn)信息處理的模塊。同時(shí),系統(tǒng)也含有能夠并聯(lián)或串聯(lián)的通用線(xiàn)路,從而在根本上解決了通信中斷等情況,進(jìn)而保證了通信的連續(xù)性。
根據(jù)現(xiàn)階段的設(shè)計(jì)要求設(shè)計(jì)USB硬件的接口,在設(shè)計(jì)過(guò)程中對(duì)相同重復(fù)的接口設(shè)計(jì)一個(gè)即可。對(duì)于嵌入式系統(tǒng),接口的芯片能夠幫助實(shí)現(xiàn)主機(jī)需要的功能。USB在設(shè)計(jì)時(shí),主要使用SPI當(dāng)做硬件線(xiàn)路的接口。這主要是由于SPI接口在設(shè)計(jì)上的芯片引腳數(shù)目相比較其他的接口更少,就會(huì)使得接口能夠很好的適用于模擬電路或數(shù)字邏輯電路。SPI接口的使用能夠很好的輔助系統(tǒng)完成USB的連接或者斷開(kāi)時(shí)的識(shí)別。除此之外,USB的底層需求能夠使用接口引擎來(lái)完成連接。
工作人員在對(duì)USB外接口進(jìn)行設(shè)計(jì)改進(jìn)時(shí),可以從不同角度出發(fā),選用不同種類(lèi)的芯片,進(jìn)而設(shè)計(jì)出具有實(shí)時(shí)性的通訊設(shè)備的接口。正如最近幾年設(shè)計(jì)的FX2存在不同于傳統(tǒng)接口的內(nèi)接口,極大程度的滿(mǎn)足USB對(duì)于帶寬的要求。FX2配有全智能的硬件處理功能,能夠減少設(shè)計(jì)研發(fā)過(guò)程所需要的時(shí)間,在具有良好的兼容性的同時(shí)也使得整個(gè)設(shè)計(jì)得到了簡(jiǎn)化。設(shè)計(jì)外設(shè)接口也可以使用無(wú)縫接口,正如DSP或FIFO等。
在嵌入式結(jié)構(gòu)中,接口是該結(jié)構(gòu)中的最重要的部分。設(shè)計(jì)人員應(yīng)該借助FPGA系統(tǒng)的特點(diǎn)進(jìn)行屁哦誒硬件,在此基礎(chǔ)上準(zhǔn)確的繪制整體框架圖。通過(guò)一系列的設(shè)計(jì)完善后,USB的硬件組塊就具有了更高的安全性,從而使得系統(tǒng)的通信安全得到了提升。在這里需要強(qiáng)調(diào)的是,設(shè)計(jì)通信接口的重點(diǎn)是保證完備的通信能力,進(jìn)而為通信設(shè)備獲得即時(shí)的信息提供保障。到目前為止,嵌入式系統(tǒng)的有關(guān)硬件接口的改進(jìn)已經(jīng)實(shí)現(xiàn)了巨大的進(jìn)步,但是并沒(méi)有到達(dá)終點(diǎn)。在將來(lái),相關(guān)工作人員還可以從自身經(jīng)驗(yàn)出發(fā)提高通信系統(tǒng)的時(shí)效性。