我有一台带有两块芯片且没有部件号的设备。看起来他们使用RS232进行串行通信(正确设置,正确的电压),但是我不知道总线设置(速度,奇偶校验等)。有什么方法可以在没有蛮力的情况下确定总线设置(尝试一切)?

我的工作台上有一个万用表和一个示波器。

评论

交流太笼统了,可能有很多含义。

@AshRj我不同意。串行通信是一个好主意,但通信也应如此。我们在EE上也有一个通讯标签。

#1 楼

如果您有示波器,那么至少确定波特率应该很容易。然后,您只需要使用奇偶校验和停止位即可。

如果没有它,那么暴力破解是没有真正的方法的。但是,通常不必尝试所有组合。

我见过的至少90%的嵌入式设备使用115200-8-N-1(115200波特,8个数据位,无奇偶校验,1个停止位),无流量控制。
其余的大多数似乎使用波特率较低的8-N-1,例如38400
在一种情况下,我看到38400 -8-E-1。


评论


@CamilStaps嗯,这就是我在答案的第二部分中描述的内容。还是您有其他意思?

–伊戈尔·斯科钦斯基♦
2013年3月26日17:49



9600-N-8-1也很常见。我的方法通常是从那里开始,然后尝试解决,因为许多设备支持多种速度。

–雷姆科
13年3月26日在22:39

如上所述,尝试9600-8-N-1和115200-8-N-1,根据我的经验,您已经击中98%的情况。

– ixje
13年3月27日在7:59

19200-8N1也很普通...

–cb88
13年4月16日在20:02

#2 楼

一个简单的逻辑分析仪(例如Saleae)对于查找简单的传输串行引脚非常有用。接收串行引脚较难,因为它们保持沉默。

您确定这是RS232而不是串行的吗?除非是工业级的,否则在嵌入式系统上很少看到RS232。 RS232远远超过TTL级别。

评论


我敢肯定,电压水平实际上就是为什么我认为它是RS232。有一些模块,例如GPS,使用完整的RS232协议。但是它们确实很少见。

–user187
13年3月26日在18:09