基于MicroBlaze的AXI总线实时时钟IP核设计_第1页
基于MicroBlaze的AXI总线实时时钟IP核设计_第2页
基于MicroBlaze的AXI总线实时时钟IP核设计_第3页
基于MicroBlaze的AXI总线实时时钟IP核设计_第4页
基于MicroBlaze的AXI总线实时时钟IP核设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MicroBlaze的AXI总线实时时钟IP核设计摘要:应用MicroBlaze软核作为CPU的硬件平台,在此平台上设计了基于AXI总线的通用实时时钟IP核。给出了创建IP核的过程和导入IP核的方法。介绍了实时时钟的IP核结构,给出了IP核的结构框图。介绍了实时时钟的原理,给出了实时时钟各个模块的核心代码。引言MicroBlaze是可以嵌入到FPGA中的RISC处理器软核,具有运行速度快、占用资源少、可配置性强等优点,广泛应用于通信、军事、高端消费市场等领域。Xilinx公司的MicroBlaze32位软处理器核是支持CoreConnect总线的标准外设集合。MicroBlaze处理器运行在150MHz时钟下,适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。AXI是ARM公司提出的AMBA3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。AXI总线技术不但使片上系统面积更小功耗更低,同时还获得了更加优异的性能。AXI能达到这样的技术指标的一个主要原因,就是它的单向通道体系结构。单向通道体系结构使得片上的信息流只以单方向传输,减少了延时。AXI技术满足超高性能和复杂的片上系统设计的需求,因此AXI的与应用也越来越广泛[1]。随着ARM公司与Xilinx公司的合作逐步加强,Xilinx开始逐步在FPGA产品中大力推广AXI总线技术。AXI在Xilinx公司的MicroBalze等CPU上面得到越来越重要的支持,必将成为未来的主流技术。1IP核的创建与导入Xilinx的MicroBlaze软核为用户提供了大量的可用IP核,方便用户开发缩短开发周期,降低成本。但是用户的需求千差万别,官网提供的IP核不可能满足所有人的需求。因此开发环境支持用户自定义IP核,根据用户的不同需求,用户可以通过定制的方式开发自己需要的IP核。在测控装置的研发过程中,笔者发现插件上设计的RTC时钟芯片,虽然具有掉电保持时间的功能。但是在完成装置界面对时等功能时,对RTC芯片的读写操作显示到界面上后,会有一定的延时,界面无法精确的显示当前的时间。因此设计一个通过自定制IP核的形式,实现实时时钟时钟的功能解决上述问题。开发环境中的XilinxPlatformStudio为IP核的定值与导入提供了向导。创建IP核的步骤如下:选择Hardware→CreateorImportPeripheralWizward来打开创建和引入外设向导。单击Next按钮。选择Createtemplatesforanewperipheral。默认情况下新的外设将被存在pcores文件夹中方便查找。然后再次单击Next按钮。在CreatePeripheralNameandVersion对话框中,输入定制的IP核的名字,这里输入本次定制IP核名称为soft_rtc。下面是版本控制,可以根据需要修改。界面如图1所示。

单击Next按钮,在CreatePeripheralBusInterface对话框中,选择AXI4,这是新的外设将要连接的总线。对于简单设计可以选择AXI4_Lite;下一步在IPIF(IP接口)配置,这里配置接口的一些属性,如是否是AXI主/从设备等。所定制的IP是一个从设备,因而不需要使用主设备接口。数据宽度选择默认的32位,下一步选择需numberofusememoryranges数量,这里选1。界面如图2所示。

接下来就是IPIC(IP互联),也就是IP的接口信号。接下来需要使用需要使用BFM总线功能模型对外设进行仿真,本例不要使用。最后,需要选择HDL类型、ISE工程支持和软件驱动模板。此处使用Verilog模板,选择后需IP接口仍然是VHDL编写,只是用户逻辑改用Verilog。如果不需要使用软件驱动模板,可以不选。最后给出了外设的信息summary。完成上述步骤后,自定制的soft_rtcIP核的模版创建完成,只需根据需求对user_logic文件索要实现的功能编写应用代码,并配置相应的引脚。完成user_logic的代码编写后,需要将完成的IP核导入工程。大致步骤如下:再次使用HardwareCreateorImportPeripheral,并单击Next按钮。选择Importexistingperipheral项,单击Next按钮再次输入名称soft_rtc,单击Next按钮,选择Yes按钮。下一步选中第一项HDLsourcefiles单击Next按钮,然后下一步骤选中第二项UseexistingPeripheralAnalysisOrderfiles(*pao),Browse到相应的目录下,选中.pao文件,单击打开,然后单击Next按钮;出现图3所示的窗口时,选中左侧AXI4Lite选项,然后单击Next按钮后面都选择默认选项直到出现结束窗口时选择结束按钮Finish按钮。这样通过上述步骤完成了IP核的创建与导入。最后将IP核加入到工程中与AXI4Lite总线连接。完成IP核模版的创建与导入后,下一步就要进行完成IP核user_logic文件的代码设计。2soft_rtcIP核的设计soft_rtcIP核中主要分为与上层接口的寄存器管理模块、为IP核提供精确时钟的Clock分频模块和RTC的核心逻辑模块[2]。IP核接口如图4所示。开发板上提供有25MHz的晶振和16.384MHz的晶振。为了计时的精度,将16.384MHz的输入信号引入soft_rtc模块。Clock分频模块将输入的16.384MHz准晶振时钟4分频得到4.096MHz的时钟信号。分频核心代码如下:

always@(posedgeclk_in)

begin

if(clk_div==4'b0011)

clk_div<=4'b0110;

elseif(clk_div==4'b0110)

clk_div<=4'b1100;

elseif(clk_div==4'b1100)

clk_div<=4'b1001;

else

clk_div<=4'b0011;

end寄存器控制模块的主要功能是实现对RTC模块内部各个寄存器的读写控制并为整个IP模块提供控制信号。提供上层应用代码与IP核代码之间的接口。在这个模块内部包含对每个内部功能寄存器的读写进行控制的子模块和对各个子模块时钟的总体分布控制[3]。本设计中一共定义了16个寄存器,主要有控制寄存器、状态寄存器以及毫秒的读寄存器、毫秒的写寄存器;秒的读寄存器、秒位写寄存器、分位的读寄存器、分位的写寄存器、小时位的读寄存器、小时位的写寄存器、以及年月日的读与写寄存器等。设置RTC核心代码如下:

always@(posedgeBus2IP_Clk)

begin

if(Bus2IP_CS[0]&&Bus2IP_WrCE[0]&&(Bus2IP_Addr[9:2]==SETSECOND_Addr))

SetSecondRegister<=Bus2IP_Data[5:0];

……

end

读RTC核心代码如下:

assignIP2Bus_Data[15:0]=(Bus2IP_CS[0]&&Bus2IP_RdCE[0]&&(Bus2IP_Addr[9:2]==MSECOND_Addr))?{6'h00,GetMsecondRegister}:16'hzzzz;

……RTC的核心逻辑模块主要完成的功能就是精确计时。IP核中通过计数器的控制,毫秒逢1000进位,秒、分和小时逢60进位,月逢12进位。设计时要全面考虑实际情况,注意对闰年以及不同月份天数不一样等情况的处理。RTC计时的核心代码如下:

always@(posedgeSETTIMEorposedgeclk_jg)

begin

if(SETTIME)

SecondRegister<=SetSecondRegister;

elseif((SecondRegister_B<59)&&Msecond_Carry)

SecondRegister<=SecondRegister+1;

elseif(Msecond_Carry)

SecondRegister<=6'h00;

else

SecondRegister<=SecondRegister;

end

……

当时钟上升沿到来或者应用程序发出设置时间指令后,进行判断:秒位如果小于59并且毫秒位有进位,此时秒位计数器加1;如果秒位计数器大于或等于59时毫秒位有进位则将秒位清零。其他情况秒位计数器保持原来数值。其他的分、小时、日月年等计数依次类推。结语

soft_rtcIP核应用时,首先读装置中的硬件RTC芯片时间,获取当前时间后随后写入设计的soft_rtcIP核,这样是soft_rtc时间与硬件RTC时间保持同步。后面装置运行过程中无论是保护事件上传,还是录波事件上传等涉及到时间的读写操作都由soft_rtcIP核完成。避免了对硬件RTC芯片的反复操作,提高的稳定性,节省了系统资源。设计完成后通过串口打印,或者通过通信帧将时间信息上传到装置界面显示等多方面验证,经过长时间运行,时间精确可靠。此soft_rtcIP核方便移植可以推广到后续的产品中。参考文献

[1]田泽,曹庆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论