基于单片机的串行接口问题(时钟)

H

hm_fa_da

Guest
大家好,我要设计一个电路
, 通过连接到电脑的COM端口,我有一个关于8051微控制器,串行接口问题
, 当我们调整发射机串行时钟凸显例如9600个基点,然后串行数据线出口数据位在每个串行时钟线路信号,

我的问题是
, 如果我调整单片机的串行时钟为9600bps,那么我的接收样本的投入上每个时钟线路信号或从数据样本线只有根据theadjuasted波特率(大约每104个美国)?

我的意思是这样,传入的数据应准确单片机9600个基点,或
可以是异步的
, 根据从每时钟线信号输入的时钟线和微处理器样本信号???

感谢您的帮助,
关心。

 
数据帧(起始位 数据 停止位)与起始位同步和停止位选中。也就是说,当接收来自“空闲状态跳”,然后开始计数1/BPS倍和样品每个位(通常是在时间中)。
所有的每帧位必须与1/BPS传输时间。
每帧可以传输随机(上异步执行而定)。

dpsm

 
感谢您的帮助亲爱的,

所以在这种串行接口,没有时钟线和接收器样品从投入与调整的速度(1/bps)根据起始位,

怎么样的RS232,是否也是如此,而且没有时钟线,只有训练班数据和RX数据?

在微控制器,当我们连接2微控制器,它(接收器)这样的(同步起始位)在所有模式的功能?谢谢,
关心。

 
为“比特撞伤,定时”串行I / O通常是通过检测起始位前沿进行,等待1 9600波特/ 2位的时间(52 usecs),然后在每个采样每104位中usecs (1位时间)...

另一种行之有效的方法
, 如果是很难察觉的起始位的领先优势
, 就必须采样接收线的3倍比特率(34.5为9600波特usecs)后检测起始位信号电平,每个样品中的第三位在其位的时间(33%-66 %)...

微控制器内置硬件UART外设自动执行此操作...

的问候,迈克

 
亲爱的hm_fa_da:
当你问的串行接口,我想到一个UART接口,在这种情况下,答案是肯定的。
RS232的standar,仅指定的“实际”的界面层,即电压,阈值等

当您连接两个或多个微控制器,SPI或I2C接口较为理想。对他们两人你有一个独立的时钟信号同步设备。

关心,

dpsm

 
thanaks您的帮助,

该方法用于UART的?等待前沿位
, 然后等待一些时间和半...或抽样的3倍比特率来检测输入起始位?

我的理解,我们不能使用在单片机的UART接收器接收来自未知源信号的速度进行,我们应该知道出源发射的波特率初始化之前
, 我们在单片机接收器。这样
, 我们应该用软件序列(程序)的样本输入每个时钟线(时钟的时间可能有所不同
, 每次)不按照起始位。

关心。

 
在硬件UART位通常是一半的采样位时间(在执行取决于)

关于其他问题,也有一些算法来自动检测UART的速度,但我从来没有进行评估。在大多数的UART您可以更改
, 只有少数指令的速度,所以...它可能没有必要与软件UART它。

你可以看看:
http://focus.ti.com/docs/mcu/catalog/resources/appnoteabstract.jhtml?familyId=342&abstractName=slaa215

关心,

dpsm

 

Welcome to EDABoard.com

Sponsor

Back
Top