篇一 : 串口波特率等概念
1:波特率
波特率的单位是每秒比特数(bps),常用的单位还有:每秒千比特数Kbps,每秒兆比特数Mbps。串口典型的传输波特率600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps等等。
9600bps就是每秒传输9600bit,相当于每一秒中划分成了9600等份。如此,那么每1bit的时间就是1/9600秒=104.16666666666666666666666666667us,约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。也不管是啥起始bit,数据bit,奇偶bit,停止bit。
2:帧格式,帧间隔。
在电脑里,也就是超级终端等的端口设置。电脑的默认端口设置,也就是默认帧格式是:1个起始位,8个数据位,1个停止位,无奇偶,无流控。
则实际就是10bit为1帧。一秒中可以发送9600/10=960个帧,也就是960字符。
3:串口通讯
串口当然可以连续,没有时间间隔地发送帧,默认情形下电脑在9600bps下可以发送960帧。
但在实际工作中,在异步通讯下,一般需要一个交互过程,所以,电脑发送一个帧,或者若干帧,还需要等待从设备的应答,并不是一直发送的。
4:波特率时钟
实际上是比特率时钟,每1bit所要花费的时间周期。而波特率(实际是比特率)发生器生成的分频时钟实际是对每1bit进行采样的时钟,它是波特率时钟的16倍。
如果系统时钟频率是40MHz,要求波特率是9 600bps,分析如下:40MHz晶振,最小计数脉冲是25ns,前面已计算9600bps条件下每1bit大约需要104us,而一般情况下每1bit会连续采样16次,因此实际每次采样间隔为6.5us,即6500ns,计数器需要计数=6500/25=260 个计数。
5: 误差允许范围
6:分频系数