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