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

网站建设公司赚钱app怎么制作多少钱

网站建设公司赚钱,app怎么制作多少钱,做企业网站需要什么条件,饮食网站建设策划书第18.1讲 UART串口通信原理讲解_哔哩哔哩_bilibili 并行通信 一个周期同时发送8bit的数据#xff0c;占用引脚资源多 串行通信 串行通信的通信方式#xff1a; 同步通信 同一时钟下进行数据传输 异步通信 发送设备和接收设备的时钟不同 但是需要约束波特率#xff08;…第18.1讲 UART串口通信原理讲解_哔哩哔哩_bilibili 并行通信 一个周期同时发送8bit的数据占用引脚资源多 串行通信 串行通信的通信方式 同步通信 同一时钟下进行数据传输 异步通信 发送设备和接收设备的时钟不同 但是需要约束波特率1s内传输的bit数 串行通信的传输方向: 常见串行通信接口 UART UARTuniversal asynchronous receiver-transmitter)通用异步收发传输器 异步串行通信 功能 发送数据时将并行数据转换为串行数据进行传输接收数据时将串行数据转换为并行行数据进行传输 协议层 数据格式 校验位奇偶校验 UART使用两根信号线实现一根用于串口发送另一根负责串口接收 传输速率 波特率 串口通信的速率用波特率表示它表示每秒传输的二进制数据的位数单位为bps位/秒 9600 19200 38400… 1s109ns1 s 10^9 ns 1s109ns 假设波特率是115200 bit/s 那么发送一个bit需要 10910^9109/ 115200 ns 当频率为50Hz的时候一个周期为 20 ns 发送一个bit需要的周期数为 109/115200/2010^9/115200/20109/115200/20 434 拉低的起始位拉高的数据为校验位停止位都需要434个周期 物理层接口标准 负逻辑电平 1对应负电压0对应正电压 3线TX RX GND 差分传输 RS232 DB9接口定义 USB接口 Data -/ 差分信号 实验 实验任务 开发板与上位机通过串口通信完成数据环回实验 程序设计 串口接收、发送 uart_recv 串行转并行 module uart_recv (input clk,input rst,input uart_rxd,output reg [7:0] uart_data,output reg uart_done );// 抓取接收信号下降沿获取数据接收的标志 reg uart_rxd_cur, uart_rxd_pre; wire start_flag; assign start_flag ~uart_rxd_cur uart_rxd_pre; always (posedge clk or posedge rst) beginif(rst) beginuart_rxd_cur 1b0;uart_rxd_pre 1b0;endelse beginuart_rxd_cur uart_rxd;uart_rxd_pre uart_rxd_cur;end end// 定义常量 parameter CLK_FREQ 50000000; parameter UART_BPS 115200; // 不可更改的常量 localparam BPS_CNT CLK_FREQ / UART_BPS;reg rx_flag; reg [3:0] rx_cnt; reg [8:0] clk_cnt;always (posedge clk or posedge rst) beginif(rst)rx_flag 1b0;else beginif(start_flag)rx_flag 1b1;else if(rx_cnt 4d9 (clk_cnt BPS_CNT/2))// 8个bit数据传输完成,且经过半个波特的停止位rx_flag 1b0;elserx_flag rx_flag;end end// clk_cnt 计数 always (posedge clk or posedge rst) beginif(rst)clk_cnt 1b0;else if(rx_flag) beginif(clk_cnt BPS_CNT - 1)clk_cnt clk_cnt 1b1;elseclk_cnt 9d0;endelseclk_cnt 9b0; end// rx_cnt 根据 clk_cnt 计数 always (posedge clk or posedge rst) beginif(rst)rx_cnt 4d0;else if(rx_flag) beginif(clk_cnt BPS_CNT - 1)rx_cnt rx_cnt 1b1;elserx_cnt rx_cnt;endelserx_cnt 4b0;end// 在中间值的时候赋值 reg [7:0] rx_data; // 临时寄存器寄存数据 always (posedge clk or posedge rst) beginif(rst)rx_data 8d0;else if(rx_flag) beginif(clk_cnt BPS_CNT / 2) beginrx_data[rx_cnt - 4b1] uart_rxd_pre;endelserx_data rx_data;endelserx_data 8d0; end// 设置输出数据uart_data和输出完成信号uart_done always (posedge clk or posedge rst) beginif(rst) beginuart_data 8d0;uart_done 1b0;endelse if(rx_cnt 4d9) beginuart_data rx_data;uart_done 1b1;endelse beginuart_data 8d0;uart_done 1b0;end endendmoduleuart_send 并行转串行 module uart_send (input clk,input rst,input uart_en,input [7:0] uart_din,output reg uart_txd,output uart_rx_busy );// 抓取uart_en上升沿 reg uart_en_pre, uart_en_cur; wire en_flag; assign en_flag ~uart_en_pre uart_en_cur;always (posedge clk or posedge rst) beginif(rst) beginuart_en_pre 1b0;uart_en_cur 1b0;endelse beginuart_en_cur uart_en;uart_en_pre uart_en_cur; end endreg [7:0] tx_data; reg tx_flag; reg [3:0] tx_cnt; reg [8:0] clk_cnt; // 定义常量 parameter CLK_FREQ 50000000; parameter UART_BPS 115200; // 不可更改的常量 localparam BPS_CNT CLK_FREQ / UART_BPS; // 写信号忙 assign uart_rx_busy tx_flag;// clk_cnt 计数 always (posedge clk or posedge rst) beginif(rst)clk_cnt 1b0;else if(tx_flag) beginif(clk_cnt BPS_CNT - 1)clk_cnt clk_cnt 1b1;elseclk_cnt 9d0;endelseclk_cnt 9b0; end// tx_cnt 根据 clk_cnt 计数 always (posedge clk or posedge rst) beginif(rst)tx_cnt 4d0;else if(tx_flag) beginif(clk_cnt BPS_CNT - 1)tx_cnt tx_cnt 1b1;elsetx_cnt tx_cnt;endelsetx_cnt 4b0;endalways (posedge clk or posedge rst) beginif(rst) begintx_flag 1b0;tx_data 8d0;endelse beginif(en_flag) begin // 写使能tx_flag 1b1; // 写标志tx_data uart_din; // 暂存数据endelse if(tx_cnt 4d9 clk_cnt (BPS_CNT-BPS_CNT/16)) begin// 传输结束tx_flag 1b0;tx_data 8d0;endelse begintx_flag tx_flag;tx_data tx_data;endend end// uart_txd 传输数据 always (posedge clk or posedge rst) beginif(rst)uart_txd 1b1;else if(tx_flag) beginif(tx_cnt 4d0) uart_txd 1b0; // start bit拉低else if(tx_cnt 4d9) uart_txd 1b1; // stop bit拉低else uart_txd tx_data[tx_cnt - 4b1]; // 传输数据(cnt比bit位计数多1)endelse uart_txd 1b1; endendmoduleuart_loopback_top 三个模块对应信号连接 module uart_loopback_top(input sys_clk,input sys_rst,input uart_rxd,output uart_txd );wire uart_en; wire [7:0] uart_din; wire [7:0] uart_data; wire uart_done; wire uart_rx_busy;uart_recv uart_recv_u(.clk (sys_clk),.rst (sys_rst),.uart_rxd (uart_rxd),.uart_data (uart_data),.uart_done (uart_done) );uart_send uart_send_u(.clk (sys_clk),.rst (sys_rst),.uart_en (uart_en),.uart_din (uart_din),.uart_txd (uart_txd),.uart_rx_busy (uart_rx_busy) );uart_loop uart_loop_u(.clk (sys_clk),.rst (sys_rst),.recv_done (uart_done),.recv_data (uart_data),.tx_busy (uart_rx_busy),.send_en (uart_en),.send_data (uart_din) );endmodule约束 create_clock -period 20.000 -name clk [get_ports {sys_clk}]#Clock signal set_property -dict { PACKAGE_PIN L16 IOSTANDARD LVCMOS33 } [get_ports { sys_clk }];#Buttons set_property -dict { PACKAGE_PIN R18 IOSTANDARD LVCMOS33 } [get_ports { rst }];set_property -dict { PACKAGE_PIN B12 IOSTANDARD LVCMOS18 } [get_ports { uart_rxd }]; set_property -dict { PACKAGE_PIN C12 IOSTANDARD LVCMOS18 } [get_ports { uart_txd }];这里的约束找不到对应的 zybo 开发板的并没有跑起来
http://www.hkea.cn/news/14379433/

相关文章:

  • 长沙网站建设设计扎染毕业设计代做网站
  • wordpress页面变量seo实战密码第三版pdf下载
  • 网站建设和网站推广可以同一家做吗济宁高端网站建设
  • 空间业务建设网站合击版手游带月灵
  • 广州站三维家官网在线设计
  • 平凉市建设局门户网站做水果网站用什么域名
  • 重庆网站建设就选承越免费注册邮箱帐号
  • 网站关键词连接符门户网站网页设计规范
  • wordpress 布局块调整广东seo推广多少钱
  • 网站建设哈尔滨seo技术外包公司
  • 网站建设门户阜阳网站制作公司哪里有
  • 学校网站首页制作什么是网络工程师
  • 单位网站建设存在问题情况汇报147seo采集工具
  • 社区网站推广方案网站建设费的账务处理
  • 正能量不良网站进入窗口免费阅读wordpress2016
  • 网站搭建制作免费html制作企业宣传网站
  • 如何做指数交易网站做网站一般有几个关键词
  • 欧美做爰爰爰爰网站山西百度公司做网站的
  • 类qq留言网站建设郏县网站制作哪家公司好
  • 乌云网是个什么网站怎么做带网站连接的表格
  • 做网站要多少钱电子商务网站建设课后习题答案
  • 单页网站制作工具php做的网站收录
  • 珠海网站制作推广公司网站模板内容
  • 如何在建设部网站查企业资质无忧软文网
  • 网站标题应该怎么做SEO优化宁津诚信建设网站
  • 网站的程序和数据库怎么做wordpress和json
  • 北京网站建设学习本地主机 搭建网站
  • 成都网站设计公微网站简介
  • 江苏省网站备案电话号码uml电子商务网站建设文档
  • 自己做的网站加入购物车价格f006网站建设