例说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 波形控制器模块信号接口定义 信号名 | | | | | | | | | | | Avalon-MM总线地址信号,可寻址访问0-1023。 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Avalon-MM总线可读写的寄存器及其地址定义如表17.2所示。 表17.2 波形控制器模块可访问寄存器定义 寄存器 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LCD读双口RAM起始地址递增使能信号,高电平有效。当完成一行完整的波形点显示后,希望实现类似示波器的波形右移效果,则使能该寄存器位。 | | | | | | | | | | | | | | | | | | |
使用这些寄存器,如图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 波形显示界面示意图
|