基于SOPC技術的異步串行通信IP核的設計與實現(xiàn)
UART IP核仿真通過后,用EDK工具提供的Peripheral Import Wizard生成一個采用PLB Slave Single模塊的自定義IP核框架。在該IP核目錄下的user_logic.v文件中例化波特率模塊、發(fā)送模塊、接收模塊和寄存器組,并增加相應總線訪同邏輯后即生成了本文設計的UART IP核。
用EDK工具中的Base System Builder wizard新建一個如圖3所示的SoPC系統(tǒng),如圖9所示。在Port界面下將UART IP核的收發(fā)管腳定義為External,并在UCF文件中加入收發(fā)管腳的管腳映射描述。在Address界面下生成UART IP核的地址空間,UART通信測試程序將通過該地址空間訪問UART IP核。用EDK工具中Hardware菜單下Generate Bit Stream命令生成該SoPC系統(tǒng)的FPGA配置文件。用該配置文件配置ML505板載FPGA后,即生成了SoPC UART通信系統(tǒng)硬件。
用EDK工具中的Xilinx SDK軟件開發(fā)工具編寫相應的UART通信測試程序,編譯后將程序下載至MicroBlaze處理器程序空間。將ML505板串口與PC機串口連接后運行UART通信測試程序,在PC機上可以觀察到此UART通信系統(tǒng)可以正確的發(fā)送和接收UART數(shù)據(jù),證明了該UART IP核工作正常。
5 結論
文中詳細介紹了一種基于SoPC概念的UART IP核的設計。通過將Xilinx公司提供的PLB Slave Single模塊和本文設計的UART邏輯模塊結合,快速搭建了一個滿足PLB總線接口要求的UART IP核,仿真與綜合結果表明該UART IP核各項功能均達到預期要求。該設計方法既采用了成熟的商業(yè)IP核,也利用總線接口模塊將用戶自定義IP核與商業(yè)IP核連接成為一個完整的SoPC系統(tǒng)。該方法增加了系統(tǒng)的靈活性、擴展性,同時縮短了系統(tǒng)開發(fā)時間,降低了系統(tǒng)開發(fā)難度,可為其他嵌入式系統(tǒng)的開發(fā)提供有益的參考。
評論