【中科亿海微EQ6HL45开发平台测评体验】+04.RTC上板测试与Debug(zmj)
中科亿海微EQ6HL45开发板的RTC测试工程实现了配置DS1302-RTC并读取日历时间,最后通过串口发送到PC的功能,通过串口调试助手可以看到时间信息。
为了测试DEBUG功能,我在工程中增加了呼吸灯代码breath.v控制LED4;Led1/LED2/LED3作为操作状态指示灯闪亮。串口波特率115200bps。
RTC( Real-Time Clock)实时时钟为系统提供一个可靠的时间,并且在断电的情况下,RTC实时时钟也可以通过电池供电,保证RTC功能一直运行下去。
中科亿海微EQ6HL45开发板的RTC设计采用DALLAS公司的低功耗实时时钟芯片(型号DS1302),它可以提供到2099年内的日历功能。RTC通过类SPI总线向FPGA传送8位数据( BCD码),数据包括秒,分,小时,日期,天,月和年。 RTC芯片需要外接一个32.768KHz的无源晶振,这样才能让RTC可以准确的提供时钟信息。同时为了产品掉电以后,实时时钟还可以正常运行,一般需要另外配一个纽扣电池(型号CR1220,电压为 3V)给时钟芯片供电,这样保证DS1302始终正常运行提供时间信息。
在原理图中DS1302的VCC2为主电源,VCC1为后备电源。
//------RTC-DS1302原理图
工程框架如图所示:
端口声明中主要是添加了led[3:0],它指向了开发板的LED1~LED4。
//------rts_top的端口声明 //---system clock input sys_clk ,//50MHz input rst_n ,//KEY1_RST //---RTC-ds1302 output rtc_sclk ,//spi_clk output rtc_ce ,//spi_ce inout rtc_data ,//spi_data //---led output wire [3:0] led ,//LED1~LED4 //--- input uart_rx , output uart_tx
以前写了一个呼吸灯代码breath.v,主要是通过可变PWM输出控制LED实现呼吸效果。
在顶层模块中例化呼吸灯模块,它控制板卡上的LED4实现呼吸闪亮效果。
//------led[3] //------breathe_led breath u_breathe_led( .clk (sys_clk ), .led (led[3] ) );
除去呼吸灯LED4,剩下的Led1/LED2/LED3作为操作状态指示灯闪亮,用来标识系统的工作状态。
//------led[2:0] //------uart uart_send uart_send_m0( .clk (sys_clk ), .rst_n (rst_n ), //--- .led (led[2:0] ),// //--- .read_second (read_second ), .read_minute (read_minute ), .read_hour (read_hour ), .read_date (read_date ), .read_month (read_month ), .read_week (read_week ), .read_year (read_year ), .uart_rx (uart_rx ), .uart_tx (uart_tx ) ); assign led = (state == WAIT)? 3'b111 : ((state == SEND)? 3'b000 : 3'b000);
工程在SYNTHESIS综合完成后可以通过“SYNTHESIS/Set_Up_Debug”添加Debug调试信号,该步骤与AMD-Xilinx的Vivado基本完全相同。
详细步骤如下所示:
详细操作步骤如下:
做好准备工作,烧录程序,然后通过串口调试助手观察串口信号,eLINX软件添加ILA观察Debug信号。
//------准备工作 连接串口、JTAG和电源线,然后上电。 //------烧录步骤(类似Quartus-II) ①.Auto-Detect:JTAG扫链,找到FPGA(EQ6HL45); ②.选中FPGA(eHiWay-EQ6HL45); ③.Add-File...:添加烧录文件rtc_prj.jpsk; ④.勾选□Program/Configure; ⑤.点击Start进行烧录。 //------Debug使用(类似Vivado) a.Debug路径:Window/Dashboard/New-Dashboard。 b.默认ila_0,直接点击OK即可打开ILA观察信号。 c.添加信号,设置触发位置以及触发条件,观察信号。 //------测试结果(图片+视频) a.串口调试助手设置波特率115200bps(8n1),可以观察到FPGA发送的时间信息(每秒一次)。 b.ILA窗口:可以观察到时间2022年11月08日15:07:28跳变到15:07:29。 c.Led1/LED2/LED3作为操作状态指示灯闪亮,用来标识系统的工作状态。 d.LED4实现呼吸灯效果。
//------准备工作
//------烧录步骤
//------Debug使用(类似Vivado)
//------测试结果(图片+视频)
//------END
本帖最后由 卿小小 于 2022-11-8 17:41 编辑引用: Jacktang 发表于 2022-11-12 09:20 观看了楼主的测试结果,图片和视频,呼吸灯效果不错 串口调试助手观察串口信号,必须要用eLINX软件添加I ...
如果想观察内部信号的状态,只能用eLINX软件观察;
如果通过串口或者其他IO接口进行状态监测,则无需ILA。
选择自己合适的调试debug方式。