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

买什么样的主机(用来建网站的)支持下载沈阳小程序开发定制

买什么样的主机(用来建网站的)支持下载,沈阳小程序开发定制,在线免费网站建设平台,电影网站 模板前言 UART(通用异步收发传输器)是一种串行通信协议,用于在电子设备之间进行数据传输。RS232是UART协议的一种常见实现标准,广泛应用于计算机和外围设备之间的通信。它定义了串行数据的传输格式和电气特性,以确…

前言        

        UART(通用异步收发传输器)是一种串行通信协议,用于在电子设备之间进行数据传输。RS232是UART协议的一种常见实现标准,广泛应用于计算机和外围设备之间的通信。它定义了串行数据的传输格式和电气特性,以确保不同设备之间的兼容性和可靠性。RS232协议采用异步串行通信方式,通过数据线将并行数据转换为串行数据进行传输,接收端再将串行数据恢复为并行数据。RS232的标准包括信号电平、连接器类型和数据格式等规范,确保了设备之间的正确通信。它的常见应用包括计算机串口、调制解调器、打印机等设备的连接。

        UART通信实现与验证(RS232)

正文

一、UART双向通信实现(序列机)的设计验证

        1.项目需求

        完成9600波特率串口的数据收发实验

        2.技术介绍

        采用序列机架构,使用锁相环产生一个16倍9600波特率的时钟,当该时钟计数到16时,表示串口数据发送的1bit数据传输完成(即1bit数据在计数0时放置与txd数据线上,在16时完成该数据传输,下次计数0时传输下1bit数据)。为保证数据接收正常,数据接收需要在9600波特率的时钟的周期中心接收,对应16倍时钟,在计数器到7或8的时刻进行数据接收。

        为完成数据收发实验,将接收的数据在发送出去,完成数据回环,可以通过上位机去观察接收的数据是否完整以此验证实验成功。

        涉及到数据传递,虽然时钟相同但是正常情况需要进行数据缓存(建议,如果是异步时钟,必须进行数据缓存),常用的数据缓存有异步fifo,双口ram(本实验实验异步fifo)

        3.顶层架构

        

        4.端口描述

clk时钟接口(50Mhz)
rst_n复位按键(低电平有效)
rxd数据接收接口
txd数据发送接口

二、代码验证

顶层连线

module uart_tx_rx(input			clk	,input			rst_n	,input 		rxd	,output 		txd	
);wire clk_01536;wire rst_en;clk_uart	clk_uart_inst (.areset 	( ~rst_n ),.inclk0 	( clk ),.c0 		( clk_01536 ),.locked 	( rst_en ));wire[7:0]data,q_sig;wire rdempty,rdreq,down;uart_rx rx(.clk	(clk_01536	),.rst_n	(rst_en		),.rxd	(rxd			),//数据接收.data	(data			),//接收数据打包.down	(down			) //输出有效);fifo	fifo_inst (.data 	(data	),.rdclk 	(clk_01536  ),.rdreq 	(rdreq  ),.wrclk 	(clk_01536  ),.wrreq 	(down  ),.q 		(q_sig  ),.rdempty (rdempty 	),.wrfull 	(  ));uart_txd_v1 tx(.clk		(clk_01536	),.rst_n	(rst_en		),.data		(q_sig		),.done		(rdempty		),.txd		(txd			),.rd_en	(rdreq		));
endmodule

收数据模块

module uart_rx(input				clk	,input				rst_n	,input				rxd	,//数据接收output reg[7:0]data	,//接收数据打包output reg 		down	 //输出有效
);reg state;reg [7:0]temp;reg [7:0]cnt;always@(posedge clk,negedge rst_n)//cnt在工作状态计数beginif(!rst_n)cnt <= 0;else if(state == 1)cnt <= cnt + 1;elsecnt <= 0;endalways@(posedge clk,negedge rst_n)beginif(!rst_n)state <= 0;elsecase(state)0:	if(rxd == 0)//等待起始信号state <= 1;elsestate <= 0;1: if(cnt == 153)//完成一包数据接收state <= 0;elsestate <= 1;default:state <= 0;endcaseendalways@(posedge clk,negedge rst_n)beginif(!rst_n)begintemp <= 0;down <= 0;data <= 0;endelsecase(cnt)0:begintemp <= 0;down <= 0;data <= data;end1*16+7:temp[0] <= rxd;//在每个时序的中间收数据,数据在N*16时放在rxd上,保证数据稳定,在N*16 + 7时读2*16+7:temp[1] <= rxd;3*16+7:temp[2] <= rxd;4*16+7:temp[3] <= rxd;5*16+7:temp[4] <= rxd;6*16+7:temp[5] <= rxd;7*16+7:temp[6] <= rxd;8*16+7:temp[7] <= rxd;9*16+7:begindown <= 1;data <= temp;end9*16+7+1:down <= 0;endcaseendendmodule

发数据模块

module uart_txd(//fifo不为空时发input			clk	,//0.1536 = 9600 * 16 = 153600hz = 0.1536Mhz input			rst_n	,input	[7:0]	data	,input			done	,output reg	txd	,output reg 	rd_en	
);reg [7:0]temp;reg [7:0]cnt;reg state;always@(posedge clk,negedge rst_n)//计数器在工作时进行计数beginif(!rst_n)cnt <= 0;else if(state == 1)//fifo不空,开始发送if(cnt < 10*16)cnt <= cnt + 1;elsecnt <= 0;elsecnt <= 0;endalways@(posedge clk,negedge rst_n)beginif(!rst_n)state <= 0;else case(state)0:	if(done == 0)state <= 1;elsestate <= 0;1: if(cnt == 10*16)state <= 0;elsestate <= 1;default:state <= 0;endcaseendalways@(posedge clk,negedge rst_n)beginif(!rst_n)rd_en <= 0;elsecase(cnt)0:rd_en <= 0;1:rd_en <= 1;2:rd_en <= 0;endcaseendalways@(posedge clk,negedge rst_n)beginif(!rst_n)txd <= 1;elsecase(cnt)0:txd <= 1;1:txd <= 0;//起始位3:temp <= data;1*16:txd <= temp[0];//数据在时序开始时放在txd,2*16:txd <= temp[1];3*16:txd <= temp[2];4*16:txd <= temp[3];5*16:txd <= temp[4];6*16:txd <= temp[5];7*16:txd <= temp[6];8*16:txd <= temp[7];9*16:txd <= 1;endcaseendendmodule


文章转载自:

http://SjCmavDJ.kbdzh.cn
http://o8eqgLeI.kbdzh.cn
http://5aRQxUw6.kbdzh.cn
http://l6uoOOCG.kbdzh.cn
http://CXu5zTsT.kbdzh.cn
http://IRzKOOmq.kbdzh.cn
http://MWKToPDR.kbdzh.cn
http://bS7Ux2hy.kbdzh.cn
http://M5ErHIy3.kbdzh.cn
http://HYcQsART.kbdzh.cn
http://q4eSrVpT.kbdzh.cn
http://m4gtVdyM.kbdzh.cn
http://XfG1bI5v.kbdzh.cn
http://Vu6y2bEN.kbdzh.cn
http://3R2bmJXe.kbdzh.cn
http://XwZzRW66.kbdzh.cn
http://ZfumJ5cL.kbdzh.cn
http://9Bjqf48h.kbdzh.cn
http://cMwLaqdc.kbdzh.cn
http://YzKcZlSf.kbdzh.cn
http://c0pOFTfS.kbdzh.cn
http://bcViEhk0.kbdzh.cn
http://bVWqJQdE.kbdzh.cn
http://MuvbXOD5.kbdzh.cn
http://juzFwUXK.kbdzh.cn
http://NPApeGON.kbdzh.cn
http://8ntfM7l2.kbdzh.cn
http://OdjaSNwc.kbdzh.cn
http://2NO8iFoP.kbdzh.cn
http://HbFbF8tv.kbdzh.cn
http://www.dtcms.com/wzjs/709671.html

相关文章:

  • 利津网站定制中建八局一公司官网
  • 着陆页设计网站国内国际网站建设的目的
  • 哪个网站做设计兼职不用压金wordpress怎么登陆ftp
  • 个人视频网站源码销售渠道及方式
  • 货源网站程序page n wordpress
  • 区域文化网站建设方案wordpress单点登录
  • 淮安建设工程协会网站查询浙江省建设会计协会网站首页
  • 汕头网站建设网站网站诊断方案
  • 电子商务网站的建设 论文先荐wordpress
  • 怎么样建立自己的视频网站带会员中心WordPress免费主题
  • 北京网站建设培训建设银行租房网站首页
  • 网站排名优化软件联系方式搭建织梦网站视频教程
  • 提交谷歌网站站长工具seo推广
  • 3000元做网站wordpress 重写 函数
  • 深圳网站建设服务WordPress完整安裝包
  • 体育评论做的好的网站除了网页外 网站还需要
  • 单页面的网站模板网站公司建设网站
  • 童装 技术支持 东莞网站建设长沙0731手机平台网报价
  • 空投糖果网站开发驻马店网站建设zmdsem
  • 网站中的人力资源建设佛山提供网站设计方案公司
  • 黄山找人做网站百度广告怎么做
  • 珠海企业网站设计公司巩义网站建设哪家专业
  • 怎么做猫的静态网站手机网站页面范例
  • 天门网站文库网站开发建设
  • 老师问我做网站用到什么创新技术网站建设首先
  • 优秀的设计网站有哪些内容wordpress区块链游戏
  • 网站手机访问跳转公司logo素材
  • 莆田建站培训网络营销有本科吗
  • 网站的功能建设wordpress外贸网站好用的模板
  • 景安服务器管理助手如何备份网站购物网站商城