当前位置: 首页 > news >正文

第一ppt模板免费下载网站长沙网站制作哪家

第一ppt模板免费下载网站,长沙网站制作哪家,重庆必打卡的7个景点,固始网站制作最近和 RK 研发同事在调试通信接口#xff0c;排查与定位 RK3399 接收数据出错的问题。FPGA 与 RK3399 之间使用一路 RS232 串口进行通信#xff0c;由于串口数据没有分包#xff0c;不方便排查问题#xff0c;想到可以开发一个 RS232 串口转以太网的工具#xff0c;将串口… 最近和 RK 研发同事在调试通信接口排查与定位 RK3399 接收数据出错的问题。FPGA 与 RK3399 之间使用一路 RS232 串口进行通信由于串口数据没有分包不方便排查问题想到可以开发一个 RS232 串口转以太网的工具将串口接收到的数据封装为 UDP 数据报文并通过网线传输到电脑再进行后续问题的定位。 以下是串口转以太网工具调试的效果图。 目录 1 模块设计 1.1 串口接收模块 1.2 以太网发送模块 2 上板调试 1 模块设计 1.1 串口接收模块 串口接收模块电路需要实现的功能包括 1串口数据接收 2串口数据缓存。 uart_rx_slice 是串口底层模块负责接收单个 byte 数据。规定串口每帧传输的数据长度不超过 2048需要例化一个深度为 4096位宽为 8bit 的 Block RAM并实现串口数据的乒乓缓存。 top_uart 模块代码 timescale 1ns / 1psmodule top_uart #(parameter FREQ_SYS_CLK 32d200_000_000,parameter BAUD_RATE 32d256_000 )(// System levelinput sys_rst ,input sys_clk ,// Uart received data flowoutput [7:0] uart_rcv_data ,output uart_rcv_valid ,// Uart Interfaceinput uart_rxd ,output uart_txd );wire frame_ss ; wire [7:0] rcv_data ; wire rcv_valid ;reg frame_ss_r1 ; reg frame_ss_r2 ; reg [7:0] blk_mem_wdata ; reg [11:0] blk_mem_waddr ; reg [11:0] blk_mem_waddr_r ; reg [0:0] blk_mem_wren ; reg blk_mem_rd_busy ; reg [11:0] blk_mem_raddr ; wire [7:0] blk_mem_rdata ; reg blk_mem_rdvld ;// uart_rx_slice: Uart receive module uart_rx_slice uart_rx_slice_inst (.sys_rst (sys_rst ), // input.sys_clk (sys_clk ), // input.frame_ss (frame_ss ), // output.rcv_data (rcv_data ), // output.rcv_valid (rcv_valid ), // output.uart_rxd (uart_rxd ) // input );defparam uart_rx_slice_inst.FREQ_SYS_CLK FREQ_SYS_CLK; defparam uart_rx_slice_inst.BAUD_RATE BAUD_RATE; // End of uart_rx_slice instantiation// blk_mem_4096x8b: Block Memory generator blk_mem_4096x8b blk_mem_4096x8b_inst (.clka (sys_clk ), // input.ena (1b1 ), // input.wea (blk_mem_wren ), // input.addra (blk_mem_waddr ), // input.dina (blk_mem_wdata ), // input.clkb (sys_clk ), // input.rstb (sys_rst ), // input.enb (1b1 ), // input.addrb (blk_mem_raddr ), // input.doutb (blk_mem_rdata ), // output.rsta_busy ( ), // output.rstb_busy ( ) // output ); // End of blk_mem_4096x8b_inst instantiationalways (posedge sys_rst or posedge sys_clk) beginif (sys_rst 1b1) beginframe_ss_r1 1b0;frame_ss_r2 1b0;endelse beginframe_ss_r1 frame_ss;frame_ss_r2 frame_ss_r1;end endalways (posedge sys_rst or posedge sys_clk) beginif (sys_rst 1b1) beginblk_mem_waddr 12d0;blk_mem_wdata 8d0;blk_mem_wren 1b0;endelse beginblk_mem_wdata rcv_data;blk_mem_wren[0] rcv_valid;if (frame_ss_r2 1b1 frame_ss_r1 1b0) beginblk_mem_waddr[11] ~blk_mem_waddr[11];blk_mem_waddr[10:0] {11{1b0}};endelse if (blk_mem_wren[0] 1b1) beginblk_mem_waddr[11] blk_mem_waddr[11];blk_mem_waddr[10:0] blk_mem_waddr[10:0] 1b1;endend endalways (posedge sys_rst or posedge sys_clk) beginif (sys_rst 1b1) beginblk_mem_waddr_r 12d0;blk_mem_raddr 12d0;blk_mem_rd_busy 1b0;blk_mem_rdvld 1b0;endelse beginif (blk_mem_rd_busy 1b0 frame_ss_r2 1b1 frame_ss_r1 1b0) beginblk_mem_waddr_r blk_mem_waddr - 1b1;blk_mem_rd_busy 1b1;endelse if (blk_mem_rd_busy 1b1) beginif (blk_mem_raddr blk_mem_waddr_r) beginblk_mem_raddr[11] ~blk_mem_raddr[11];blk_mem_raddr[10:0] {11{1b0}};blk_mem_rd_busy 1b0;endelse beginblk_mem_raddr[11] blk_mem_raddr[11];blk_mem_raddr[10:0] blk_mem_raddr[10:0] 1b1;endendblk_mem_rdvld blk_mem_rd_busy;end endassign uart_rcv_data blk_mem_rdata; assign uart_rcv_valid blk_mem_rdvld;endmodule1.2 以太网发送模块 以太网网络层使用 IPv4 协议传输层使用 UDP 协议。 以太网发送模块电路需要实现的功能包括 1IPv4 与 UDP 协议校验 2以太网帧组帧包括 CRC 校验 3GMII 与 RGMII 桥接。 同样例化一个深度为 4096位宽为 8bit 的 Block RAM实现以太网帧数据的乒乓缓存在初始化文件中写入以太网帧头MAC 地址等信息。 使用 Python 代码生成 coe 文件代码如下 # 以太网帧头数据 f b\x55\x55\x55\x55\x55\x55\x55\xd5\xd4\x5d\x64\xad\x16\x47\x11\x22\x33\x44\x55\x66\x08\x00\x45\x00\x00\x00\x00\x00\x40\x00\x40\x11\xff\xff\xc0\xa8\x01\x08\xc0\xa8\x01\x09\x1f\x90\x1f\x90\x00\x00\x00\x00 raw_data list(map(lambda e: {:02X}.format(e), f))while len(raw_data) 2048:raw_data.append(00)# 写入coe文件 with open(blk_mem_4096x8b_MAC.coe, w) as f:f.write(memory_initialization_radix 16;\n)f.write(memory_initialization_vector \n)for i,e in enumerate(raw_data*2):if i ! len(raw_data*2)-1:f.write({:s},\n.format(e))else:f.write({:s};.format(e)) 在 IP 核配置界面选择 coe 初始化文件点击 Edit 查看数据。 top_ethernet 模块代码 timescale 1ns / 1psmodule top_ethernet #(parameter local_ip_addr 32hC0A80109,parameter remote_ip_addr 32hC0A8010A,parameter local_udp_port 16h1F90,parameter remote_udp_port 16h1F90 )(// System levelinput sys_rst ,input sys_clk ,// RGMII Interfaceinput rgmii_rxc ,input [3:0] rgmii_rxd ,input rgmii_rx_ctl ,output rgmii_txc ,output [3:0] rgmii_txd ,output rgmii_tx_ctl ,// UDP data input portsinput [7:0] eth_udp_txd ,input eth_udp_txen );wire gmii_tx_clk; wire [7:0] eth_mac_txd; wire eth_mac_txen;// mac_tx_slice: MAC data pack and transmit module mac_tx_slice mac_tx_slice_inst(.sys_rst (sys_rst ), // input.sys_clk (sys_clk ), // input.gmii_tx_clk (gmii_tx_clk ), // input.eth_udp_txd (eth_udp_txd ), // input.eth_udp_txen (eth_udp_txen ), // input.eth_mac_txd (eth_mac_txd ), // output.eth_mac_txen (eth_mac_txen ) // output );defparam mac_tx_slice_inst.local_ip_addr local_ip_addr; defparam mac_tx_slice_inst.remote_ip_addr remote_ip_addr; defparam mac_tx_slice_inst.local_udp_port local_udp_port; defparam mac_tx_slice_inst.remote_udp_port remote_udp_port; // End of mac_tx_slice_inst instantiation// gmii_rgmii_bright: GMII to RGMII bridge util_gmii_to_rgmii util_gmii_to_rgmii (.reset (sys_rst ), // input.rgmii_td (rgmii_txd ), // output.rgmii_tx_ctl (rgmii_tx_ctl ), // output.rgmii_txc (rgmii_txc ), // output.rgmii_rd (rgmii_rxd ), // input.rgmii_rx_ctl (rgmii_rx_ctl ), // input.rgmii_rxc (rgmii_rxc ), // input.gmii_txd (eth_mac_txd ), // input.gmii_tx_en (eth_mac_txen ), // input.gmii_tx_er (1b0 ), // input.gmii_tx_clk (gmii_tx_clk ), // output.gmii_crs ( ), // output.gmii_col ( ), // output.gmii_rxd ( ), // output.gmii_rx_dv ( ), // output.gmii_rx_er ( ), // output.gmii_rx_clk ( ), // output.speed_selection(2b10 ), // input.duplex_mode (1b1 ) // input ); // End of util_gmii_to_rgmii_inst instantiationendmodule2 上板调试 使用 ALINX AX7035 开发板进行工程调试。红色的线接 USB 转串口接口蓝色的线接入千兆网口。使用电脑模拟发送串口数据并接收以太网数据。 电脑端同时打开串口调试助手和 wireshark 工具开始抓包。 在串口调试助手中输入待发送数据选择定时 1s 发送观察 wireshark 界面是否间隔 1s 收到数据包。
http://www.dnsts.com.cn/news/11288.html

相关文章:

  • 室内设计师网站有哪些oa系统主要干什么的
  • 广州 企业网站建设wordpress即阅文教程
  • 河南第一火电建设公司网站选择一个域名进行网站建设
  • 代做网站地图网页游戏开发技术有哪些
  • 织梦cms建站阿里巴巴手工活外发加工网
  • 网站301重定向代码手机如何安装wordpress
  • 广西新农村建设指导员网站行业网站产品选择
  • 分子信标探针在线设计网站wordpress custom login
  • 建设网站时的常见故障分类安装 wordpress多人
  • 镇海区建设工程安监站网站上海近期大型招聘会
  • vs怎么做网站的首页如何让域名到网站
  • 如何免费学校建网站国外精彩网站
  • 网站案例库2017做那些网站致富
  • 恢复最近删除的网站wordpress数码主题
  • 帝国网站模板建设视频自己做的网站可以卖
  • 西安哪家网络公司做网站网站开发步骤说明书是什么
  • 网站建设哪家稳妥山东省建设工程造价管理协会网站
  • wordpress 站点地图郴州网站建设有哪些
  • 制作网站题材公司名字大全参考2022
  • 400电话安装佛山营销网站建设成品网站w灬源码在线看
  • 佛山中小企业网站制作wordpress收费主体
  • 城建亚泰建设集团网站北京哪家做网站优化
  • 重新建设网站的申请报告企业网站自助建设
  • 做网站为什么选择竞网智赢福州网络科技公司有哪些
  • 手机端网站开发框架郑州软件开发定制
  • dw做的网站链接阿里巴巴网站建设基本内容
  • 个人网站课程设计报告网站的代理页面怎么做的
  • 做淘宝客的网站怎么备案wordpress去标题版权
  • 网页制作制作网站加入网站帮忙做网站
  • 网站可以换虚拟主机吗普宁市做网站