低级以太网驱动程序读取phy层的位

jsm*_*dnq 14 ethernet raw-ethernet

是否可以从标准计算机以太网接口直接读取物理以太网连接接口上的位?

例如,假设我想将笔记本电脑的以太网插孔用作差分逻辑探头(使用标准以太网电缆).我是否可能只是编写一个驱动程序来获取位数,或者驱动程序可以达到的限制是否有限制?

基本上,物理层只是将比特流发送到设备驱动程序,或者它是否进行任何解码,这将影响比特的解释或导致设备故障(例如使用不同的编码方案).

我想它归结为,我们是否可以通过编写合适的驱动程序将以太网端口用作任何标准数字差分通信链路,或者我们是否仅限于ieee规范(8b/10b等等).

Dam*_*ien 3

简短回答一下,可能不会。

以下是一些原因:

在硬件链路层上,计算机和以太网电缆之间实际上没有电气连接,它通过小型变压器进行电气隔离,并且是电流而不是电压驱动信号,因此这将是第一个要克服的问题,就像您所遇到的那样通过两条线路发送相当精确的电流,而不是在单条线路上发送电压。 以太网变压器

PHY 硬件接口:下一步,这根本不是由执行代码的 CPU 控制的,而是由以太网 PHY 芯片接口控制的,并且您没有(简单)方法来刷新和控制它。一些不同的 PHY 芯片允许您进行不同级别的访问,但我怀疑您是否会找到任何允许您直接控制传输接口的芯片,即使可以,也必须将其实现到驱动程序中,而这也是不可能的。 以太网 PHY 控制器

也许还有一些其他解决方案 ,如上面的评论,如果你想在计算机上进行直接IO控制,最好的解决方案是通过串行或并行端口,也许你可以找到以太网转串行或USB转串行端口,然后使用它,但是这将是数字信号。

您可能想要使用的另一件事是麦克风输入,因为它接受模拟信号,并且您可以直接控制它,但要小心不要烧毁您的计算机。(我见过一些银行卡磁力带用在手机上)。