在这种情况下,“半比特”是什么意思?


21

在RS-232规范中,停止位可以是1、1.5或2个停止位...我想知道怎么可能有一半呢?

另外,某些ADC数学运算法则在IC规格/数据表中使用0.5位精度。有人可以详细说明这个主题吗?

Answers:


18

我不知道怎么可能有一半?

在基于UART的异步串行通信(以RS232为例)中,数据的串行字节被“封装”在一个起始位和一个停止位内。在停止位之后的下一个数据字节之前有一个间隔,该间隔可以视为扩展了停止位:-

在此处输入图片说明

许多串行数据传输使用一个停止位,因为接收器能够及时处理字节,但是有时通过增加停止位的数量来扩展数据字节之间的间隔非常有用。由于发送和接收UART都具有更高的内部时钟速率,因此制造小数位长度很容易。

对于ADC,我已经附上了一张图纸:-

在此处输入图片说明

蓝线表示线性上升的模拟输入电压,阶梯是ADC试图表示该模拟电压的数字。在中间,我用红色显示了理论上的最大错误-等于0.5位也就不足为奇了。


在某些情况下,允许UART发送器允许停止位的分数略小于1(例如15/16)是有用的。如果设备X尽快将数据发送到设备Y,则Y必须为接收到的每个字节向Z发送一个数据字节,并且X的波特率比Y的传输速率快0.01%,那么除非Y丢失,否则每10,000字节将丢失一个字节。可以用不到一个完整的停止位来传输数据。我见过一个(只有一个)UART,该UART允许15/16个停止位(出于某种原因,允许值为(9..16)/ 16或(25..32)/ 16,但不允许为17 / 16,对于上面的X来说可能是一个不错的值
。– supercat

额外的延迟多长时间?停止位是否总是在传输一位的正常时间的150%内传输?还有其他情况吗?
Unknown123

@supercat您在哪里看到的?您是否想发布数据表的链接(如果可用)?
Unknown123

@ Unknown123:该UART是2681 nxp.com/docs/en/data-sheet/SCC2681.pdf
supercat

23

在您提到的两种情况下,模拟量都涉及某个地方。

在RS-232情况下,“停止位”的数量指的是持续时间,因此1.5个停止位只是意味着以给定速率的1.5倍。

在ADC情况下,0.5位精度是指要转换的模拟量,因此0.5位本质上意味着数字结果可以保证代表正确舍入到最接近的数字表示的模拟量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.