基于FPGA的無線通信收發(fā)模塊設(shè)計(jì)方案
圖 二:基于FPGA的摩爾斯碼收發(fā)模塊內(nèi)部組成框圖
該處理系統(tǒng)的主要功能模塊有:
核心控制模塊
總線控制模塊
可編程中斷處理模塊
可編程并行I/O接口(P0、P1、P2、P3)
可編程串行接口單元(SIU)
可編程定時計(jì)數(shù)器0~3(Timer0~Timer3)
可編程摩爾斯碼異步收發(fā)模塊
中斷處理模塊有4個外中斷源(int0~int3)和6個內(nèi)中斷源(TF0~TF3、T1/R1、mT1/mR1),SIU是系統(tǒng)的通用串行接口,它有4種工作模式,工作模式1~3是通用串行異步接收發(fā)送USART(Universal Serial Asynchronous Receiver/Transmitter)工作方式。當(dāng)SIU工作于工作模式1或3時,Timer1是其波特率發(fā)生器。
4 仿真與驗(yàn)證
設(shè)計(jì)的驗(yàn)證包括功能仿真、時序仿真和電路驗(yàn)證。仿真驗(yàn)證往往是借助第3方提供的EDA開發(fā)工具軟件包或?qū)S梅抡婀ぞ哕浖韺?shí)現(xiàn)的。電路驗(yàn)證還需要開發(fā)驗(yàn)證平臺,對于系統(tǒng)級芯片驗(yàn)證平臺的設(shè)計(jì)也是一項(xiàng)艱巨而不能回避的任務(wù)。
本文選用的是Altera公司的MaxPlusII作EDA開發(fā)工具,MaxPlusII編譯器支持功能仿真(前仿真)和時序仿真(后仿真)。完成源代碼(VHDL)設(shè)計(jì)輸入之后,若要進(jìn)行功能仿真,則在MaxplusII/Compile下,通過選擇Processing菜單下的Functional SNF Extractor命令,打開功能仿真器網(wǎng)表文件(SNF)提取器,再進(jìn)行編譯仿真;若要進(jìn)行定時模擬(時序)仿真,則須在MaxPlusII/Compile下,選擇Processing菜單中的Timing SNF Extractor命令,打開定時模擬器網(wǎng)表文件提取器來進(jìn)行編譯仿真。
電路驗(yàn)證就是器件編程測試過程。對于常規(guī)的芯片設(shè)計(jì),時序仿真結(jié)束后,仿真軟件就可以產(chǎn)生供器件編程使用的數(shù)據(jù)文件。對EPLD/CPLD來說,是產(chǎn)生熔絲圖文件,即JED文件,對于FPGA來說,是產(chǎn)生位流數(shù)據(jù)文件(Bitstream Generation),然后將編程數(shù)據(jù)下載到對應(yīng)的具體可編程器件中去,然后對其進(jìn)行實(shí)際環(huán)境的電路測試。
本文選擇CLK頻率為25MHZ,波特率為25M/16=1562500bps。當(dāng)發(fā)送字符‘7’,執(zhí)行發(fā)送命令后,將啟動數(shù)據(jù)發(fā)送的進(jìn)程,將字符‘7’的ASCLL碼值送入ASCLL碼發(fā)送緩存器,通過MaxPlusII的Simulator仿真器,進(jìn)行時序仿真驗(yàn)證,研究結(jié)果如圖三所示。從圖中可看出,串行信號端子輸出的“2長劃”,“3點(diǎn)”,經(jīng)查表對應(yīng)的就是摩爾斯數(shù)字‘7’,證明數(shù)據(jù)發(fā)送是正確的。另外當(dāng)數(shù)據(jù)輸出結(jié)束后,立刻置高電平,即產(chǎn)生中斷信號mTI,字符‘7’的發(fā)送用時大約10us。
圖 三:仿真驗(yàn)證數(shù)據(jù)
5 創(chuàng)新點(diǎn)總結(jié)
本文的創(chuàng)新點(diǎn)在于提出了一種基于FPGA的無線通信收發(fā)模塊,并以當(dāng)今海事通信中占重要地位的摩爾斯電碼為例,研究了摩爾斯電碼的數(shù)字化編碼方法,并通過大量的分析設(shè)計(jì)和實(shí)驗(yàn)仿真,實(shí)現(xiàn)了基于FPGA處理摩爾斯電碼的收發(fā)模塊,仿真結(jié)果也驗(yàn)證了本文所設(shè)計(jì)的摩爾斯電碼數(shù)字化編碼方法正確可行,工作運(yùn)行可靠。
評論