?

“EDA技術”課程案例化教學改革探索

2023-10-07 08:05馮成濤
電氣電子教學學報 2023年4期
關鍵詞:EDA技術數據包時鐘

朱 棟 馮成濤

(常州大學 微電子與控制工程學院, 常州 213159)

電子設計自動化(EDA)技術及其課程設計通常為電子類專業本科學生的必修專業課程,該課程旨在讓學生掌握基本的硬件描述語言(HDL)的編程和FPGA應用技術。相比于C語言類的高級語言編程,對于學生來說HDL編程入門較為困難,要求學生有邏輯門電路的編程思維和波形時序的概念。

FPGA在通信領域應用廣泛,引入通信類的應用案例,有利于激發學生的學習興趣,使學生快速掌握FPGA的開發方式,并使學生加深對“數字信號處理”和“通信原理”等其他課程中重要知識點的理解。包秀榮[1]提出將EDA技術應用在“數字電路”課程設計中,引導學生利用EDA工具設計數字電路系統。倪德克等[2]將ModelSim仿真工具應用于數字電路設計中。覃永新等[3]將QDPSK調制系統的設計作為實例引入“EDA技術”的教學中,使學生在掌握EDA技術的同時加深對通信系統工作原理的理解。朱棟等[4]將以FPGA為核心處理器的數字式超聲波發生器作為案例,改革電子技術課程設計的案例化教學方式。吳迪等[5]將問題驅動教學法引入“EDA技術”實驗,以綜合設計作為核心問題反向設計基礎實驗。丁家峰[6]基于DE2-115口袋實驗室構建了全新的培養模式,驗證了新培養模式的有效性。本文中設計的基于無線光通信的網絡數據透傳實驗涵蓋了網絡通信、光通信、數字通信等多種通信技術,是一個多課程綜合化的應用案例。

1 實驗系統設計

基于無線光通信鏈路的網絡數據實時透傳實驗系統主要由上位計算機、FPGA處理板、LED收發模塊、光鏈路等單元組成,實驗系統框圖如圖1所示。其中,FPGA是實現網絡數據實時透傳的核心處理器,實驗的主要內容是在FPGA上實現相關功能。FPGA可選用Altera公司的Cyclone IV系列的EP4CE6E22C8低成本器件。FPGA接收來自PHY芯片MII接口的4-bit并行網絡數據,該數據為上位計算機通過以太網口發送的包含底層協議包頭的16進制數據,FPGA首先將4-bit并行數據轉成1-bit串行數據。其次,串行數據作為調制碼元加以適當的數字調制驅動LED發射模塊,實現光信號的發射。光信號經過無線光鏈路傳播至LED接收模塊,LED接收端將光信號轉變成電信號并進行放大、濾波、電平比較等處理,整形成TTL電平數字信號并送至對端FPGA。對端FPGA再對數字信號進行調解、串轉并等處理后還原成MII接口的4-bit并行網絡數據并發送至PHY芯片,最終送至對端上位計算機,從而實現網絡數據包的透傳。對端上位計算機以同樣方式發送網絡數據至本端上位計算機,以實現全雙工的網絡數據透傳實驗。

圖1 實驗系統組成框圖

上位計算機通過以太網口與FPGA處理板進行網絡數據交互,上位機使用網絡調試助手等工具軟件實現UDP數據包的收發。普通的以太網口有10 M、100 M、1000 M三種連接速度,千兆PHY芯片可實現10 M/100 M/1000 M自適應連接。PHY芯片是模數混合芯片,當網絡連接為10 M/100 M時,PHY芯片的模擬端通過兩對差分線TPTX+/ 和TPRX+/ 與網口連接,PHY芯片數字端(即MII接口)與FPGA的普通IO連接。MII接口包括一組用于接收數據的端口(RXCLK、RXD[3:0]、RXDV)和一組用于發送數據的端口(TXCLK、TXD[3:0]、TXEN),以及一組用于配置PHY芯片內部寄存器的雙線同步串行總線(MDC和MDIO)。RXCLK和TXCLK分別是數據RXD和TXD的同步時鐘,RXDV是接收數據有效的標志信號,TXEN是發送數據有效信號,兩者都必須在發送/接收數據期間的第一個時鐘前沿之前置為高電平,如圖2所示。

(a)PHY芯片數據接收時序圖

(b)PHY芯片數據發送時序圖圖2 PHY芯片數據收發時序圖

本實驗使用10 M/100 M/1000 M自適應連接且具有RGMII標準接口的PHY芯片,如REALTEK公司的RTL8211F。當網絡連接為10 M時,網絡數據無需進行緩存,而直接將當前的網絡數據進行調制和發射,發射數據的數據率也為10 M,與網絡連接速率保持一致,從而實現基于數字邏輯電路的實時數據透傳。當網絡連接為100 M/1000 M時,數據速率較高,此時要實現數據透傳必須使用響應速度更高的激光收發模塊以替換LED收發模塊。而考慮到激光對人眼的危害,保證實驗的安全性,此實驗的光鏈路使用LED收發模塊,網絡連接設定為10 M速率。

針對光通信鏈路,調制解調方式有開關鍵控(OOK)、脈沖位置調制(PPM)、數字脈沖間隔調制(DPIM)等開/關類方式可選,其中DPIM方式的數據幀時長與原始數據幀時長不同,需先對一整包網絡數據進行完整緩存后再調制發送,無法實現嚴格意義上的實時數據透傳。DPIM的實現難度也更大,推薦學生主要使用OOK和PPM兩種調制方式。LED發射和接收采用紅外850 nm或940 nm波段的二極管作為傳感器,實驗時應盡量減小周圍環境可見光干擾。

2 FPGA程序設計

FPGA是實現網絡數據實時透傳的核心處理器,FPGA收發網絡數據并控制光鏈路發射/接收光信號的處理過程如圖3所示。FPGA接收來自PHY芯片RGMII接口的4位并行數據時,先對并行數據進行并轉串處理,串行碼可實現對光模塊發射的控制。以10 M網絡連接為例,10 M的串行網絡數據利用LED光鏈路的通斷實現信號的傳輸。

圖3 FPGA處理PHY數據的邏輯框圖

對RXD數據進行并轉串時需要10 MHz時鐘,而10 MHz必須與2.5 MHz的并行數據時鐘相參,因此,RXD數據進入FPGA后首先要進行數據時鐘轉換,將來自PHY的數據時鐘RXCLK轉換成FPGA內部的2.5 MHz。時鐘轉換的方法是使用FPGA片上雙端口RAM,RAM寫入時鐘使用RXCLK,而讀出時鐘使用FPGA內部的2.5 MHz時鐘。

時鐘轉換、并轉串、數字調制所需的不同頻率時鐘,均統一由時鐘模塊FPGA片上PLL產生,以此保持各時鐘之間嚴格相參。數字信號處理中經常會遇到多時鐘域的問題,不同頻率的時鐘由同一時鐘源輸出才不會引起多時鐘域信號處理過程中的競爭與冒險。片上PLL的輸入參考時鐘則一般由FPGA處理板上的50 MHz晶振提供,而不能采用2.5 MHz的TXCLK,因為用于PLL內部的鑒相時鐘至少為10 MHz頻率的時鐘。

數字調制部分需考慮用于同步的幀頭波形、幀結束(空閑)波形、數據段調制方式等三個階段。由于網絡數據具有空閑期間,而LED發射單元通常需在空閑期間也需發射脈沖以維持其穩定狀態。針對LED收發模塊,可考慮的調制方式為OOK、PPM等開關鍵控類方式。OOK調制方式相對實現簡單,直接將0/1串行數據作為碼元即可,但OOK調制的幀頭波形可能會與數據波形完全相同,從而引起幀頭的誤檢。針對網絡數據而言,此問題可忽略,因為PHY層的UDP數據包均以連續6個0x50作為起始標志。但在信號信噪比較低時,解調時仍然有可能將OOK的數據段判斷為幀頭波形。而PPM調制則不會出現這樣的問題,但實現PPM調制有一定難度。PPM調制是在一個碼元周期內,前低后高代表碼元為0,前高后低代表碼元為1。因此,本實驗在數字調制部分的難度分為高低兩檔:OOK為低難度,PPM為高難度。若采用PPM調制方式,幀頭設計為一長脈沖(如350 ns)用于解調時數據位同步,幀結束或空閑期間波形為一短脈沖(如脈寬50 ns),即可實現幀頭波形、數據段波形、幀結束波形無任何沖突。假定空閑期間短脈沖的重復周期為400 ns,發射波形三個階段信號脈沖占空比對比如下:①幀頭波形占空比為87.5%;②PPM數據段占空比恒定為50%;③幀結束波形占空比為12.5%。這樣設計波形,可使三種波形兩兩之間特征差別最大,幀頭誤檢率最低。

在Quartus II 13開發環境中創建工程并完成編譯,Cyclone IV器件的片上資源使用情況如下:①邏輯單元(LEs)使用1429個;②寄存器(registers)使用1092個;③引腳(pins)使用18個;④鎖相環(PLL)使用1個;⑤為調試方便,在SignalTap調試工具中添加了多個關鍵信號,使得片上存儲器使用量為221,440 b。在采樣時鐘80 MHz情況下,幾個關鍵信號的SignalTap采集波形如圖4所示。其中,發射波形(ppm_out)采用PPM調制。

圖4 SignalTap工具中關鍵信號采集波形

3 實驗要求與達成度評價

由于本實驗涉及信號的發射與接收,以及光鏈路的調試等工作,實驗工作量較大,需學生組隊協作完成。實驗室為每個學生團隊提供2臺計算機、2塊Altera的Cyclone IV FPGA實驗板(含下載器)、2套LED收發模塊(含放大器)、以及電源等輔助設備。計算機安裝Quartus開發工具、ModelSim仿真工具、網絡調試助手等軟件。作為實驗的必選項,每個團隊應完成信號并串與串并轉換、信號的調制與發射、光信號的接收與解調、以及各模塊的ModelSim或Waveform Editor仿真、SignalTap在線調試等基礎工作。SignalTap在線調試時需對網絡數據包格式進行解析,獲取UDP數據包中的幀頭標志、目標IP地址和MAC地址、源IP地址和MAC地址等。發揮部分為實現串行數據的PPM調制與解調,作為加分項。實驗演示時使用網絡調試助手循環發送UDP數據包,查看接收端是否完整接收到數據包并且檢查發/收數據包個數是否一致。每個團隊由3~4名學生組成,每隊在規定時間內完成并撰寫實驗報告,指導教師根據實驗完成項、完成質量、實驗報告質量給學生團隊打分,發揮部分占總成績的15%~20%。

利用本實驗建立達成度評價標準,分為系統構建能力、數字邏輯電路設計能力、軟件開發能力、網絡分析能力、文檔報告制作能力等五大項目,每項各占總達成度的20%。每一大項又有很多分項,如系統構建能力大項包括系統完整性、系統可行性、調制原理、通信鏈路等4個子項,每個子項各占5%;數字邏輯電路設計能力大項包括HDL編程、IP調用、時序約束、層次化設計等4個子項,每個子項各占5%;軟件開發能力大項包括Quartus應用、SignalTap應用、ModelSim應用、其他工具等4個子項,每個子項各占5%;網絡分析能力大項包括網絡模型的理解、UDP數據包幀結構、MAC地址解析、CRC校驗位解析等4個子項,每個子項各占5%;文檔報告制作大項包括文檔的完整性、文檔的規范性、匯報、現場質疑應變等4個子項,每個子項各占5%。最終,根據各個子項的得分,累計得出總達成度。另外,制作調查問卷,從學生那里得到對于本課程新案例實施過程的反饋意見,做到持續改進,使整個課程不斷優化。

4 結語

為提高電子類本科學生的FPGA應用能力,設計了一套基于無線光通信的網絡數據實時透傳實驗系統。學生可以利用該實驗平臺對網絡數據進行調制與解調,以實現在光鏈路上的實時數據收發。該實驗可以作為EDA技術課程的實驗或者EDA課程設計的課題,可供3~4名學生協作完成,主要任務是通過編寫HDL代碼或編輯原理圖實現基于FPGA的網絡數據透傳,并完成實驗報告。通過該實驗的實踐,可加深學生對于數字通信、網絡通信等課程中相關知識點的理解,同時極大地提高學生的FPGA應用能力。

猜你喜歡
EDA技術數據包時鐘
別樣的“時鐘”
古代的時鐘
SmartSniff
有趣的時鐘
EDA技術在數字電子技術教學中的探索
基于EDA技術的計算機硬件實驗教學體系構建
時鐘會開“花”
EDA技術與數電課程教學結合的探討
視覺注意的數據包優先級排序策略研究
移動IPV6在改進數據包發送路徑模型下性能分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合