系统框图
由框图可以看,有3个地方是比较重要的。
- 对外部时钟已经处理,因为千兆网时钟达到了125MHz,摄像头时钟达到了84MHz,系统时钟是50MHz,时钟域比较多,这里对外部50MHz的系统时钟进行了pll处理,对gmii_rx_clk也进行了处理,将其送到全局时钟网络上,然后跨时钟域的地方也要小心。因为摄像头的数据送到千兆网上时,时钟不一样,这里采用了异步fifo.
- 摄像头模块,摄像头配置为640*480,pclk为84MHz,帧率为35fps(84000,000/1500/800/2=35).
assign cfg_array[266] = {8'h78, 16'h3808, 8'h02}; // DVPHO (640)
assign cfg_array[267] = {8'h78, 16'h3809, 8'h80}; // DVPHO (640)
assign cfg_array[268] = {8'h78, 16'h380a, 8'h01}; // DVPVO (480)
assign cfg_array[269] = {8'h78, 16'h380b, 8'he0}; // DVPVO (480)
assig