主权项 |
一种基于FPGA的IP核,包含:Avalon总线接口(1),用于IP核与Avalon总线时序的匹配;状态机单元(2),用于控制IP核中FIFO单元(4)的读和写操作,控制计算图像重心单元(7)和计算图像中心矩单元(8)工作进程的开启与关闭并提供计算所需的图像像素点的坐标,同时向状态寄存器单元(6)写入当前的工作状态;地址解析单元(3),该单元与Avalon总线接口(1)相连,用于对来自Avalon总线的地址和控制信号进行解译,协助Avalon总线上的主机对IP核中不同的地址空间进行访问;FIFO单元(4),该单元与Avalon总线接口(1)、地址解析单元(3)相连,用于对Avalon总线与IP核之间的图像像素数据缓冲,保证Avalon总线传输数据的连续性;控制寄存器单元(5),该单元与Avalon总线接口(1)、地址解析单元(3)相连,用于接收来自Avalon总线的命令,对IP核工作进程和复位进行控制,以及对中断标志的清除;状态寄存器单元(6),该单元与状态机单元(2)相连,用于显示状态机单元(2)当前的工作状态;计算图像重心单元(7),该单元与状态机单元(2)、FIFO单元(4)相连,用于接收FIFO单元(4)中的图像数据,在状态机单元(2)的控制下计算输入图像f(x,y)的重心(x<sub>c</sub>,y<sub>c</sub>)和输入图像f(x,y)的中心矩μ<sub>00</sub>,其中<img file="FDA0000743790120000011.GIF" wi="676" he="194" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>y</mi><mi>c</mi></msub><mo>=</mo><mfrac><mrow><msubsup><mi>Σ</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>Σ</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mi>y</mi><mo>×</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow><mrow><msubsup><mi>Σ</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>Σ</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000743790120000012.GIF" wi="648" he="192" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>μ</mi><mn>00</mn></msub><mo>=</mo><msubsup><mi>Σ</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>Σ</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo><mo>,</mo></mrow>]]></math><img file="FDA0000743790120000013.GIF" wi="581" he="103" /></maths>x是输入图像的行坐标,y是输入图像的列坐标,M是图像的行数,N是图像的列数;计算图像中心矩单元(8),该单元与状态机单元(2)、FIFO单元(4)、计算图像重心的单元(4)相连,用于接收FIFO单元(4)的图像数据和计算图像重心单元(7)的计算结果,在状态机单元(2)的控制下计算输入图像f(x,y)的(p,q)阶中心矩μ<sub>pq</sub>,其中<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>μ</mi><mrow><mi>p</mi><mi>q</mi></mrow></msub><mo>=</mo><msubsup><mi>Σ</mi><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msubsup><mi>Σ</mi><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>(</mo><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><msub><mi>x</mi><mi>c</mi></msub><mo>)</mo></mrow><mi>p</mi></msup><msup><mrow><mo>(</mo><mi>y</mi><mo>-</mo><msub><mi>y</mi><mi>c</mi></msub><mo>)</mo></mrow><mi>q</mi></msup><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo><mo>)</mo><mo>,</mo></mrow>]]></math><img file="FDA0000743790120000014.GIF" wi="1022" he="102" /></maths>(p,q)={(1,1),(2,0),(0,2),(2,1),(1,2),(0,3),(3,0)},x是图像的行坐标,y是图像的列坐标,M是图像的行数,N是图像的列数;多路选择器单元(9),该单元与地址解析单元(3)、状态寄存器单元(6)、计算图像重心单元(7)、计算图像中心矩单元(8)相连,用于根据地址解析单元(3)输出的不同地址选择Avalon总线上的主机要访问的地址空间。 |