发布网友
发布时间:2022-04-02 16:51
共3个回答
懂视网
时间:2022-04-02 21:13
以串口通信为例,传输速率为9600bps意味着每分钟最多可传送960个ASCII码字符。
串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。串口 通信(Serial Communications)的概念非常简单,串口按 位(bit)发送和接收 字节。尽管比按 字节(byte)的 并行通信慢,但是 串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离 通信。比如 IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于 串口而言,长度可达1200米。典型地,串口用于 ASCII码字符的传输。 通信使用3根线完成,分别是地线、发送、接收。由于 串口 通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。 串口 通信最重要的参数是 波特率、 数据位、停止位和 奇偶校验。对于两个进行 通信的端口,这些参数必须匹配。
热心网友
时间:2022-04-02 18:21
意味着每分钟传送每分钟=960*60 = 57600个字节。
算法:
条件:波特率:9600 停止位:1 起始位:1 校验位:0
一个ASCII码=1个Byte
1Byte=8bit+2=10Bit
9600bit/(10) = 960Byte = 960个ASCII码/秒
每分钟=960*60 = 57600个字节
常用波特率计数查找表
//建立查找表--比特率选择
reg [15:0]bps_max;//分频计数最大值
always @(posedge clk or negedge rst_n)
if(!rst_n)
bps_max <= 16'd5207;
else begin
case (baud_set)
0: bps_max <= 16'd5207;//9600
1: bps_max <= 16'd2603;//19200
2: bps_max <= 16'd1301;//38400
3: bps_max <= 16'd867;//57600
4: bps_max <= 16'd433;//115200
default:bps_max <= 16'd5207;
endcase
end
热心网友
时间:2022-04-02 19:39
一个ASCII码=1个Byte
1Byte=8bit
9600bit/8 = 1200Byte = 1200个ASCII码/秒
每分钟=1200*60 = 72000