例说FPGA连载86:工业现场实时监控界面设计之波形产生模块代码解析
0赞例说FPGA连载86:工业现场实时监控界面设计之波形产生模块代码解析
特权同学,版权所有
配套例程和更多资料下载链接:
http://pan.baidu.com/s/1c0nf6Qc
该模块实现NIOS II的Avalon-MM总线从机接口,将NIOS II写入的数据缓存到寄存器或双口RAM中。该模块从NIOS II获取的数据将实现LCD显示的波形窗口的控制。
该模块的基本功能框图如图17.13所示,Avalon-MM总线从机逻辑接收到的数据或者直接用于LCD的波形窗口控制,或者锁存到双口RAM中用于波形点的显示。
图17.13波形控制器模块功能框图
该模块的接口定义如表17.1所示。
表17.1波形控制器模块信号接口定义
方向 |
功能描述 |
|
avawave_cs_n |
input |
Avalon-MM总线片选信号,低电平有效。 |
avawave_wr_n |
input |
Avalon-MM总线写使能信号,低电平有效。 |
avawave_addbus[9:0] |
input |
Avalon-MM总线地址信号,可寻址访问0-1023。 |
avawave_datbus[7:0] |
input |
Avalon-MM总线数据信号。 |
wave_rclk |
input |
双口RAM读时钟信号。 |
wave_rden |
input |
双口RAM读使能信号 |
wave_datbus[7:0] |
output |
双口RAM读出数据,即当前波形高度数据。 |
wave_xs[9:0] |
output |
波形显示起始X坐标。 |
wave_ys[9:0] |
output |
波形显示起始Y坐标。 |
wave_xe[9:0] |
output |
波形显示结束X坐标。 |
wave_ye[9:0] |
output |
波形显示结束Y坐标。 |
wave_fcor[15:0] |
output |
波形显示前景色。 |
wave_bcor[15:0] |
output |
波形显示背景色。 |
wave_disp |
output |
波形显示使能信号,高电平有效。 |
Avalon-MM总线可读写的寄存器及其地址定义如表17.2所示。
表17.2波形控制器模块可访问寄存器定义
寄存器 |
地址 |
功能描述 |
dram_wrdata[7:0] |
10'd0-10'd999 |
双口RAM的写入数据,即LCD显示波形点的高度。 |
wave_xs[9:8] |
10'd1000 |
波形显示起始X坐标。 |
wave_xs[7:0] |
10'd1001 |
波形显示起始X坐标。 |
wave_ys[9:8] |
10'd1002 |
波形显示起始Y坐标。 |
wave_ys[7:0] |
10'd1003 |
波形显示起始Y坐标。 |
wave_xe[9:8] |
10'd1004 |
波形显示结束X坐标。 |
wave_xe[7:0] |
10'd1005 |
波形显示结束X坐标。 |
wave_ye[9:8] |
10'd1006 |
波形显示结束Y坐标。 |
wave_ye[7:0] |
10'd1007 |
波形显示结束Y坐标。 |
wave_add_en |
10'd1008 |
LCD读双口RAM起始地址递增使能信号,高电平有效。当完成一行完整的波形点显示后,希望实现类似示波器的波形右移效果,则使能该寄存器位。 |
wave_fcor[15:8] |
10'd1010 |
波形显示前景色。 |
wave_fcor[7:0] |
10'd1011 |
波形显示前景色。 |
wave_bcor[15:8] |
10'd1012 |
波形显示背景色。 |
wave_bcor[7:0] |
10'd1013 |
波形显示背景色。 |
dram_clr |
10'd1014 |
双口RAM清除信号,高电平有效。 |
wave_disp |
10'd1016 |
波形显示使能信号,高电平有效。 |
使用这些寄存器,如图17.14所示,我们可以在LCD上配置出一个起始点为(wave_xs,wave,ys),终点为(wave_xe,wave_ye),背景色为wave_bcor(黑色),波形色为wave_fcor(白色)的矩形波形窗口。
当我们设置wave_add_en为0,wave_disp为1,并且连续送入(wave_xe - wave_xs)个波形点数据后,则出现图示的波形效果。若我们再送数据,则波形点会从wave_xs坐标开始覆盖原来的点。只有当我们设置wave_add_en为1,那么原波形将右移一个像素点,并且新的波形从wave_xe的位置出现,这就实现了类似示波器的移动效果。
图17.14波形显示界面示意图