问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

若串行通信要求br=57600bps,pcck=66.7MHZ,计算并设置波特女率初值,速度

发布网友 发布时间:2022-04-24 00:57

我来回答

1个回答

热心网友 时间:2023-10-16 17:17

`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 17:27:40 08/28/08
// Design Name:
// Mole Name: speed_select
// Project Name:
// Target Device:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////
mole speed_select(
clk,rst_n,
bps_start,clk_bps
);

input clk;// 50MHz主时钟
input rst_n;//低电平复位信号
input bps_start;//接收到数据后,波特率时钟启动信号置位
output clk_bps;// clk_bps的高电平为接收或者发送数据位的中间采样点

/*
parameter bps9600 = 5207,//波特率为9600bps
bps19200 = 2603,//波特率为19200bps
bps38400 = 1301,//波特率为38400bps
bps57600 = 867,//波特率为57600bps
bps115200= 433;//波特率为115200bps //直接利用分频的思路,用系统时钟50MHZ/波特率

parameter bps9600_2 = 2603,
bps19200_2= 1301,
bps38400_2= 650,
bps57600_2= 433,
bps115200_2 = 216;
*/

//以下波特率分频计数值可参照上面的参数进行更改
`defineBPS_PARA433//波特率为115200时的分频计数值
`define BPS_PARA_2216//波特率为115200时的分频计数值的一半,用于数据采样//(中间采样)

reg[12:0] cnt;//分频计数
reg clk_bps_r;//波特率时钟寄存器

//----------------------------------------------------------
reg[2:0] uart_ctrl;// uart波特率选择寄存器
//----------------------------------------------------------

always @ (posedge clk or negedge rst_n)
if(!rst_n) cnt <= 13'd0;
else if((cnt == `BPS_PARA) || !bps_start) cnt <= 13'd0;//波特率计数清零 // 当计数器计满或者还没有接收到数据时,计数器清零
else cnt <= cnt+1'b1;//波特率时钟计数启动

always @ (posedge clk or negedge rst_n)
if(!rst_n) clk_bps_r <= 1'b0;
else if(cnt == `BPS_PARA_2) clk_bps_r <= 1'b1;// clk_bps_r高电平为接收数据位的中间采样点,同时也作为发送数据的数据改变点
else clk_bps_r <= 1'b0;

assign clk_bps = clk_bps_r;

endmole

`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company:
// Eng

热心网友 时间:2023-10-16 17:17

`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 17:27:40 08/28/08
// Design Name:
// Mole Name: speed_select
// Project Name:
// Target Device:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////
mole speed_select(
clk,rst_n,
bps_start,clk_bps
);

input clk;// 50MHz主时钟
input rst_n;//低电平复位信号
input bps_start;//接收到数据后,波特率时钟启动信号置位
output clk_bps;// clk_bps的高电平为接收或者发送数据位的中间采样点

/*
parameter bps9600 = 5207,//波特率为9600bps
bps19200 = 2603,//波特率为19200bps
bps38400 = 1301,//波特率为38400bps
bps57600 = 867,//波特率为57600bps
bps115200= 433;//波特率为115200bps //直接利用分频的思路,用系统时钟50MHZ/波特率

parameter bps9600_2 = 2603,
bps19200_2= 1301,
bps38400_2= 650,
bps57600_2= 433,
bps115200_2 = 216;
*/

//以下波特率分频计数值可参照上面的参数进行更改
`defineBPS_PARA433//波特率为115200时的分频计数值
`define BPS_PARA_2216//波特率为115200时的分频计数值的一半,用于数据采样//(中间采样)

reg[12:0] cnt;//分频计数
reg clk_bps_r;//波特率时钟寄存器

//----------------------------------------------------------
reg[2:0] uart_ctrl;// uart波特率选择寄存器
//----------------------------------------------------------

always @ (posedge clk or negedge rst_n)
if(!rst_n) cnt <= 13'd0;
else if((cnt == `BPS_PARA) || !bps_start) cnt <= 13'd0;//波特率计数清零 // 当计数器计满或者还没有接收到数据时,计数器清零
else cnt <= cnt+1'b1;//波特率时钟计数启动

always @ (posedge clk or negedge rst_n)
if(!rst_n) clk_bps_r <= 1'b0;
else if(cnt == `BPS_PARA_2) clk_bps_r <= 1'b1;// clk_bps_r高电平为接收数据位的中间采样点,同时也作为发送数据的数据改变点
else clk_bps_r <= 1'b0;

assign clk_bps = clk_bps_r;

endmole

`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company:
// Eng
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宁波社保卡办理需要什么材料 宁波社保卡如何申领 有什么高性价比的隔离霜可以推荐? 防晒效果好的隔离霜有哪些值得入手? 下雨天经常爬在房子墙上的那种软体动物,不是蜗牛没壳的,可以在墙上把身... 原来是美男啊里面插曲、主题曲都有哪些? 请问下各位大虾,我在外地用外地农行卡网上转账到本地邮政卡星期六转账的... 为什么用支付宝买东西明明我余额足够,付款时却说我余额不足?2个... 萍乡烛式过滤器品牌 衡水烛式过滤器品牌推荐 卤味(卤鸡翅、卤鸭脖之类的)怎么做? IIC通信中有没有波特率这个概念?它通信速度怎么样? 麻辣鸭脖里的老卤味料怎么做? 1.100Mbps的以太网的波特率是多少波特? 如何使用Amarino工具包连接Android手机和Arduino 绝味鸭脖的卤味是怎么做的? 波特率9600与波特率19200有什么区别,另波特率是什么意思?帮忙解释下... 善领DSA和凯立德:车载导航物理端口2,115200。但是凯立德端口修改器无法修改成波特率为115200,怎么办? 德朗士电动剃须刀是国产还是进口? 卤鸭脖时用哪个比例做,会比外面卖的好吃百倍? 232的最大传输速率(20kbps)是怎么算出来的? 波特率的单位是bps,常用的波特率有115200kbps,矛盾吗? 卤鸭脖卤菜用猪油煮吗 串口的波特率和传输速度有什么关系? 卤鸭脖子怎么才能入味啊?可以说详细点么?谢谢啊~~~ 串口波特率有哪些 卤鸭脖子正确的做法? 德朗士剃须刀DLS-335怎么用 波特率换算成频率,谁懂? 请问通信波特率为115200是怎样一个概念?编程用 115200是什么意思 电动剃须刀怎么保养? 请问为什么Arduino串口没有38400这个波特? 刚开了家快餐店,想让菜单、宣传海报等在屏幕上定时播放,有什么办法可以实现? rs232波特率最大能设置为多少 做快餐店海报需要哪些素材 考核题目: 餐饮公司海报设计 快餐店要以什么形式才能更吸引人? 开了一个快餐店,想做点宣传,打印点传单,或者名片,该怎么设计? 快餐店装修用什么颜色比较好? 餐厅如何做宣传 快餐宣传单内容 中式快餐店装修风格特点有哪些 请问快餐店设计要有什么特色? 快餐店装修需要注意什么? 中式快餐店室内设计风格有哪些 快餐店装修需要什么快餐店设计才能吸引顾客 餐厅设计主要是做什么呢? 灯光在快餐店装修设计中起到什么作用? 关于快餐店厨房设计 苹果手机联通卡话费多了 可以用来干什么?