一種基于FPGA的FlexRay通信模塊的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于FPGA的FlexRay通信模塊,特別是涉及一種可編程處理器 FPGA,并在此平臺下,采用IP核方式實現(xiàn)多路FlexRay總線和串行接口的通信模塊,屬于網(wǎng) 絡(luò)通信技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 在PAL、GAL、CPLD等可編程邏輯芯片迅猛發(fā)展的基礎(chǔ)上,可編程邏輯芯片F(xiàn)PGA應(yīng)用 于嵌入式系統(tǒng),不僅實現(xiàn)單片機(jī)能達(dá)到的可編程用戶功能,還可以利用半定制的專業(yè)集成 電路,對靈活性較高的可編程的邏輯單元進(jìn)行設(shè)計。目前Xilinx公司提出了S0P(Sy Stem on Chip,片上系統(tǒng))的概念,在高端產(chǎn)品集成了Power PC系列內(nèi)嵌硬核,如Virtex-4系列內(nèi)嵌 硬核PowerPC405,后續(xù)進(jìn)一步在Z-7000系列集成了雙核ARM Cortex-A9 MPCore處理系統(tǒng)。
[0003] Xilinx Virtex-4系列FX平臺的FPGA芯片內(nèi)嵌PowerPC內(nèi)核,處理器運算能力和穩(wěn) 定性多用于高端的功能需求復(fù)雜的對象,豐富的10接口共320個,最高工作頻率達(dá)350MHz; 具有存儲器管理單元,可對4GB的存儲空間進(jìn)行管理;具有一個消息緩存和一個數(shù)據(jù)緩存, 實現(xiàn)PowerPC處理器對存儲器的訪問;支持多種調(diào)試方式,如外部JTAG調(diào)試方式,內(nèi)部軟件 調(diào)試方式等;支持內(nèi)部局部總線PLB,通過32位地址總線和64位數(shù)據(jù)總線,配合緩存實現(xiàn)指 令操作和數(shù)據(jù)讀寫等。
[0004] IP核是FPGA獨有的一種開發(fā)模式,每個IP核可獨立完成某一特定的功能,內(nèi)部PLB 主從模塊完成總線連接的時序轉(zhuǎn)換和數(shù)據(jù)協(xié)議交互;IP內(nèi)部連接模塊IPIC用作用戶邏輯與 PLB模塊之間的信息緩沖;用戶邏輯模塊是IP核的主體部分,可用Verilog語言編寫程序?qū)?現(xiàn)特定功能。Xilinx公司提供了封裝完整的IPIF幫助用戶實現(xiàn)功能IP核與PLB總線的信息 交互,邏輯接口經(jīng)IPIF實現(xiàn)轉(zhuǎn)換掛接于PLB總線,由硬核對其進(jìn)行讀寫控制,由此建立實現(xiàn) 用戶功能的IP核。
[0005] 但目前對于FPGA和IP核的研究仍處于探索階段,尚未有重大突破,難以適應(yīng)嵌入 式和通信領(lǐng)域的快速發(fā)展趨勢,也嚴(yán)重制約其在各領(lǐng)域的應(yīng)用。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明所要解決的技術(shù)問題是:提供一種基于FPGA的FlexRay通信模塊,該模塊以 FPGA作為主處理器,并由IP核進(jìn)行功能擴(kuò)展,具有4路FlexRay總線輸出能力和16路串行通 信能力,可以適應(yīng)多路串行通信和多種總線拓?fù)涞耐ㄐ判枨螅瑪U(kuò)大了FPGA的應(yīng)用范圍。
[0007] 本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案: 一種基于FPGA的FlexRay通信模塊,包括FPGA最小系統(tǒng)單元、FlexRay通信單元和串行 接口單元;所述FPGA最小系統(tǒng)單元包括FPGA芯片、時鐘電路、存儲器電路、電源電路和調(diào)試 接口電路,F(xiàn)lexRay通信單元包括兩個通信控制器和四個總線驅(qū)動器,串行接口單元包括設(shè) 備驅(qū)動電路、電平轉(zhuǎn)換電路和接口電路; 所述時鐘電路、存儲器電路、電源電路分別與FPGA芯片連接,F(xiàn)PGA芯片分別與兩個通信 控制器、設(shè)備驅(qū)動電路連接,兩個通信控制器中,一個通信控制器與兩個總線驅(qū)動器連接, 另一個通信控制器與另外兩個總線驅(qū)動器連接,設(shè)備驅(qū)動電路依次與電平轉(zhuǎn)換電路、接口 電路連接,電源電路給FPGA芯片、時鐘電路、存儲器電路、調(diào)試接口電路、FIexRay通信單元、 串行接口單元供電。
[0008] 作為本發(fā)明的一種優(yōu)選方案,所述電源電路提供的電壓分別為+15V、+5V、+3.3V、+ 1.8V、+1.2V〇
[0009] 作為本發(fā)明的一種優(yōu)選方案,所述調(diào)試接口電路兼容硬件調(diào)試和軟件調(diào)試兩種方 式。
[0010] 作為本發(fā)明的一種優(yōu)選方案,所述串行接口單元包括16路RS232串行接口。
[0011 ]作為本發(fā)明的一種優(yōu)選方案,所述FPGA芯片為Xilinx公司的Virtex-4系列的 XC4VFX12 芯片。
[0012]作為本發(fā)明的一種優(yōu)選方案,所述通信控制器為Freescale公司的MFR4310芯片。 [0013]作為本發(fā)明的一種優(yōu)選方案,所述總線驅(qū)動器為NXP公司的TJA1080芯片。
[0014]作為本發(fā)明的一種優(yōu)選方案,所述設(shè)備驅(qū)動電路為MAX3160芯片。
[0015] 本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果: 1、本發(fā)明基于FPGA的FlexRay通信模塊,具有4路FlexRay總線通信能力,可作為任意拓 撲結(jié)構(gòu)的FlexRay網(wǎng)絡(luò)中節(jié)點與其他節(jié)點進(jìn)行通信,實際工程應(yīng)用適應(yīng)性強(qiáng)。
[0016] 2、本發(fā)明基于FPGA的FlexRay通信模塊,具有16路串行通信能力,可以同時連接多 路串行外設(shè),支持232/422/485多種標(biāo)準(zhǔn)串口協(xié)議,數(shù)據(jù)幀格式和傳輸速率等可靈活配置, 可以滿足多串口通信的場合,具有一定的通用性。
[0017] 3、本發(fā)明基于FPGA的FlexRay通信模塊,每個功能模塊以IP核的形式設(shè)計并封裝, 模塊間相互獨立,配合完成整體功能,如以16個獨立UART IP核實現(xiàn)16路串行通信接口,以 若干個GPI0配合實現(xiàn)FlexRay總線通信控制電路。實際應(yīng)用過程中,可根據(jù)實際用戶需要對 子模塊靈活加載和卸載,且模塊間干擾較小。
[0018] 4、本發(fā)明基于FPGA的FlexRay通信模塊,具有獨立時鐘芯片,可以軟件配置多路不 同頻率的時鐘信號,避免了多路時鐘源之間的干擾,可以滿足多種時鐘頻率的應(yīng)用系統(tǒng)。
[0019] 5、本發(fā)明基于FPGA的FlexRay通信模塊,采用串聯(lián)PR0M調(diào)試電路,支持外部硬件調(diào) 試和軟件調(diào)試兩種方式,為硬件調(diào)試和軟件加載提供了極大的方便,并具有工程應(yīng)用的通 用性和推廣性。
【附圖說明】
[0020] 圖1是本發(fā)明基于FPGA的FlexRay通信模塊的整體架構(gòu)圖。
[0021 ]圖2是本發(fā)明FPGA最小系統(tǒng)單元中的電源電路圖。
[0022 ]圖3是本發(fā)明FPGA最小系統(tǒng)單元中的調(diào)試接口電路圖。
[0023]圖4是本發(fā)明FPGA最小系統(tǒng)單元中的時鐘電路圖。
[0024]圖5是本發(fā)明FlexRay通信單元中各通信控制器與兩個總線驅(qū)動器的連接電路圖。
[0025] 圖6是本發(fā)明基于FPGA通信模塊IP核結(jié)構(gòu)圖。
[0026] 圖7是本發(fā)明GPIO IP核邏輯圖。
[0027] 圖8是本發(fā)明中斷控制器IP核邏輯圖。
[0028] 圖9是本發(fā)明UART IP核邏輯圖。
【具體實施方式】
[0029] 下面詳細(xì)描述本發(fā)明的實施方式,所述實施方式的示例在附圖中示出。下面通過 參考附圖描述的實施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0030] 如圖1所示,一種基于FPGA的FlexRay通信模塊包括FPGA最小系統(tǒng)單元、FlexRay通 信單元和串行接口單元三個部分。IP核邏輯實現(xiàn)基于FPGA的FlexRay通信模塊的功能:由16 路串行接口接收外部串行設(shè)備的信息,并交由FPGA處理器硬核進(jìn)行存儲、編碼或解碼等一 系列處理,經(jīng)FlexRay通信單元的通信控制器、總線驅(qū)動器和物理通道接口傳輸至其他總線 節(jié)點。
[0031] FPGA最小系統(tǒng)單元主要包括FPGA芯片、電源電路、時鐘電路、存儲器電路和調(diào)試接 口電路。電源電路分別提供+15¥、+5¥、+3.3¥、+1.8¥、+1.2¥的電壓#?6六芯片自身帶86仙的 RAM和648KB的BRAM,可用來存儲程序和數(shù)據(jù),為滿足大數(shù)據(jù)系統(tǒng)的存儲需求,外擴(kuò)16MB SDRAM用作主存儲器,對串行接口數(shù)據(jù)以及總線數(shù)據(jù)進(jìn)行存儲;FPGA、SDRAM等主要器件正常 工作必須具備時鐘信號,采用獨立時鐘發(fā)生器IDT5V9885實現(xiàn)多時鐘信號的輸出;為支持硬 件調(diào)試和軟件加載,采用串聯(lián)PR0M電路兼容兩種調(diào)試方式。
[0032] 串行接口單元主要包括16路串行接口,為適應(yīng)多種應(yīng)用場合,根據(jù)供電電壓和軟 硬件配置方式的不同,分為兩組進(jìn)行設(shè)計,并通過MAX3160電平轉(zhuǎn)換和實現(xiàn)硬件接口驅(qū)動。 [0033] FlexRay通信單元由2個通信控制器MFR4310和4個總線驅(qū)動器TJA1080組成的電路 構(gòu)成,由FPGA對其控制輸出,每個通信控制器與2個總線驅(qū)動器連接。每個總線驅(qū)動器連接 一路FlexRay物理通道,4個總線驅(qū)動器分別對應(yīng)通道A、B、C、D,實現(xiàn)FPGA對4路總線通道A、 B、C、D控制輸入輸出。
[0034]如圖2所示,為FPGA最小系統(tǒng)單元中的電源電路。采用兩級穩(wěn)壓電源轉(zhuǎn)換結(jié)構(gòu),為 系統(tǒng)提供多種電壓。第一級通過固定電平輸出的開關(guān)電源模塊LM2596實現(xiàn)+15V電平向+ 3.3V和+5V電平的轉(zhuǎn)換,輸出的驅(qū)動電流為3A,轉(zhuǎn)換效率在75%至88%,具有較好的線性和負(fù) 載調(diào)節(jié)性能,輸出電壓誤差在5%以內(nèi),符合+3.3V和+5V器件的功率和精度要求,+15V為輸入 電平,同時為FlexRay單元的總線驅(qū)動器供電。第一級轉(zhuǎn)換的輸出電壓+3.3V和+5V,其中,+ 3.3V電壓為FPGA、通信控制器以及存儲器電路供電,+5V電壓為總線驅(qū)動器供電,+3.3V和+ 5V輸出電壓經(jīng)電壓轉(zhuǎn)換器TPS54310進(jìn)行電平轉(zhuǎn)換,獲得1.2V和1.8V電壓,分別為FPGA內(nèi)核 和PR0M供電,實現(xiàn)第二級電平轉(zhuǎn)換。使用的電壓轉(zhuǎn)換器支持精度為1%且低至0.9V的可調(diào)電 壓輸出,轉(zhuǎn)換效率最高可達(dá)95%,足以滿足功耗敏感的應(yīng)用場合。
[0035]如圖3所示,為FPGA最小系統(tǒng)單元中的調(diào)試接口電路。選用具有記憶功能的PR0M存 放系統(tǒng)運行程序,系統(tǒng)上電啟動時從PR0M中讀取運行程序至FPGA中,完成系統(tǒng)初始化配置、 啟動及運行。一般FPGA的配置過程通常發(fā)生在上電和復(fù)位時刻,基本流程為:FPGA上電后, 檢查內(nèi)核電壓和外圍模塊的電源,若正常則進(jìn)入配置模式。首先,按照J(rèn)TAG調(diào)試器的TCK時 鐘頻率,數(shù)據(jù)由TDI引腳進(jìn)入FPGA芯片的TDI引腳,然后FPGA從TD0引腳輸出配置信息,作為 PR0M的TDI引腳的輸入信息,并從PR0M的TD0引腳輸出至JTAG調(diào)試器的TD0引腳,形成FPGA配 置的JTAG完整鏈路。上電時,PR0M片選信號為低,且0E信號為高,即使能PR0M芯片和數(shù)據(jù)輸 出引腳,PR0M根據(jù)FPGA提供的時鐘頻率從D0引腳輸出配