吳文慶
摘? ?要:本文主要針對嵌入式FPGA系統(tǒng)的USB通信接口硬件設(shè)計進行了探討,同時,設(shè)計出了較為具體的實現(xiàn)方案。具體而言,先是對選擇器件時的一些細(xì)節(jié)實施了分析,隨后,針對USB通信模塊以及電源模塊等實施了電路原理圖設(shè)計操作,最后,簡要分析了設(shè)計PCB的過程中應(yīng)關(guān)注的問題,希望可以為提升我國USB通信接口硬件設(shè)計整體水平提供一些參考。
關(guān)鍵詞:嵌入式FPGA? 硬件設(shè)計? USB? 通信接口? 主機接口
中圖分類號:TP334.7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標(biāo)識碼:A? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2020)06(b)-0014-02
Abstract: This paper mainly discusses the hardware design of USB communication interface in embedded FPGA system, and designs a more specific implementation scheme. Specifically, some details of the device selection are analyzed first, and then the circuit schematic design operation is implemented for USB communication module and power module. Finally, the problems that should be paid attention to in the process of PCB design are briefly analyzed.Hope to improve the overall level of USB communication interface hardware design to provide some reference.
Key Words: Embedded FPGA; Hardware design; USB; Communication interface; Host interface
和x86結(jié)構(gòu)的CPU平臺可以統(tǒng)一應(yīng)用的USB設(shè)計具有一些差異,對于嵌入式FPGA系統(tǒng)來講,其USB接口一般存在特殊的通信設(shè)計要求,通常會在一片F(xiàn)PGA上開展內(nèi)部多個功能模塊的集成操作,創(chuàng)建起一個支持編程的SOPC系統(tǒng),設(shè)計的方式具備較高的便捷性,升級和剪裁也更為簡單,較為符合各類USB接口相應(yīng)需求。
1? 接口芯片擇選
通常來講,符合嵌入式系統(tǒng)要求的FPGA均滿足相應(yīng)需求,以A公司為例,該公司設(shè)計的FPGA系列產(chǎn)品中,以某系列作為分割線,后期生產(chǎn)的FPGA系列均滿足NiosⅡ均滿足嵌入式CPU要求,換而言之,均能夠發(fā)揮系統(tǒng)主控CPU作用。本文選擇的為A公司的STRATIXⅢ系列的EP3SE110F780,此芯片具有較為顯著的資源豐富性特點,不僅和USB接口芯片需求相符,且可以良好滿足相關(guān)信號處理的各種需求[1]。
2? 硬件總架構(gòu)設(shè)計
FPGA系統(tǒng)輸入嵌入式,但其僅作為主控CPU的一種,也需要其他的器件作為輔助,包括Nor Flash等,以確保系統(tǒng)的順利運轉(zhuǎn)。由于FPGA系統(tǒng)通信接口硬件構(gòu)成主要包括電源、FPGA模塊等,總架構(gòu)設(shè)計如圖1。
通電操作完成以后,系統(tǒng)先是基于配置芯片內(nèi)開展NiosⅡ軟核加載操作,隨后,基于Nor Flash內(nèi),開展uC/OS-Ⅱ系統(tǒng)加載操作,置于SDRAM內(nèi),開展具體的運行操作。上述操作完成以后,針對系統(tǒng)外設(shè),包括RS232等程序開展初始化操作,結(jié)束以后,保持待機狀態(tài)。倘若存在USB外設(shè),和主機端進行連接操作,MAX3412會經(jīng)由中斷通知的方式,將相應(yīng)信息傳達(dá)給FPGA,F(xiàn)PGA在獲知主機中斷以后,基于MAX3421針對外設(shè)開展配置、枚舉,實現(xiàn)對外設(shè)的分辨。依照系統(tǒng)要求開展后期各環(huán)節(jié)相關(guān)操作[2]。
倘若存在外設(shè)端,和主設(shè)備進行連接操作,相應(yīng)設(shè)備基于USB接口實現(xiàn)對外設(shè)的電能供給,Cy7c68013經(jīng)由EEPROM針對Slavefifo配置文件進行加載操作,實現(xiàn)對內(nèi)部寄存器的初始化,如此一來,主設(shè)備才可以實現(xiàn)對Cy7c68013的有效辨別。后期相關(guān)數(shù)據(jù),經(jīng)由針對Cy7c68013內(nèi)部開展的FIFO實現(xiàn)。
3? 主機接口及外設(shè)接口的設(shè)計
3.1 主機接口
根據(jù)現(xiàn)下應(yīng)用的協(xié)議開展USB硬件接口設(shè)計操作,可直接減少開發(fā)一些重復(fù)性的接口資源?;谇度胧较到y(tǒng)層面而言,接口芯片的主要作用為確保主機的各種功能可以正常發(fā)揮。實際開展USB設(shè)計操作的過程中,硬件線路的接口一般為SPI,原因是SPI接口的芯片引腳數(shù)量較少,且和數(shù)字邏輯以及模擬電路對系統(tǒng)的要求較為相符。USB實際開展連接或者斷開操作的過程中,系統(tǒng)均設(shè)置為支持編程的調(diào)控模式。同時,USB底層協(xié)議,支持通過接口引擎的形式開展相應(yīng)的處理操作。MAX3421芯片是M公司近期出品的一款USB接口芯片,利用高頻SPITM接口訪問寄存器組的方式,完成對接口芯片的控制?;诖祟愋酒_展USB主機工作的過程中,能夠促使很多的USB外設(shè)和DSP或者ASIC進行有效連接[3]。
3.2 外設(shè)接口