确定打字机的串口协议

逆向工程 硬件 串行通讯
2021-06-23 03:03:07

如何确定电动打字机的串行协议?有的电动打字机背面有串口,是今天不常用的形状。我计划将打字机与 Arduino 接口并将其用作打印机。

我如何确定诸如波特率、引脚排列和电压之类的东西。我已经打破了一台打字机试图找出协议,我无法获得打字机的用户手册,我发现的所有其他指南都涉及修改电路板并将电线连接到按键。我一直无法了解带有串行端口的打字机是如何工作的。

这是串口的图片,它是什么类型的?

在此处输入图片说明

2个回答

正如 Jason Geffner 所说,它是一个 DIN 45326 连接器。据我所知,它们通常用于音频,但这里有一个用于串行引脚输出

下一步将使用示波器来确定波特率(和电压)。示波器软件通常有一些内置工具,用于自动确定波特率。如果不是,您只需将 1 除以波浪周期例如,找到水平距离最短的 2 个峰值并测量该时间以获得周期。

如果您没有示波器,您将不得不对其进行暴力破解。我首先尝试最常见的,根据我的经验是:

9600/115200-8-N-1(9600 或 115200 波特,8 个数据位,无奇偶校验,1 个停止位),无流量控制。

以上是当今最常见的,但我不知道过去什么是常见的。

您可能想要执行自动波特率检测

github 上有几个项目实现了这些,例如 atmega8 的波特率 RS232 检测器示例

您可能还想使用使用 Arduino 的RS232enum来尝试枚举所有串行线路 (RX/TX)。