是否可以从标准计算机以太网接口直接读取物理以太网连接接口上的位?
例如,假设我想使用笔记本电脑的以太网插孔作为差分逻辑探头(使用标准以太网电缆)。我是否可能只是编写一个驱动程序来获取位数,或者驱动程序可以达到多低?物理层基本上只是将比特流发送到设备驱动程序,或者它是否进行任何解码会影响比特的解释或导致设备出现故障(例如使用不同的编码方案)。
我想它归结为,我们是否可以通过编写合适的驱动程序将以太网端口用作任何标准数字差分通信链路,或者我们是否仅限于ieee规范(8b / 10b等等)
答案 0 :(得分:3)
很快回答,可能不是。
以下是一些原因:
在硬件链路层,计算机和以太网电缆之间实际上没有电气连接,它通过小型变压器电隔离,是电流而非电压驱动信号,所以这将是要克服的第一个问题,因为你必须通过两条线发送相当精确的电流而不是一条线上的电压。 Ethernet transformers
PHY硬件接口:接下来的步骤是,这不是由执行代码的CPU控制的,而是由以太网PHY芯片接口控制,而你没有(很容易) )闪烁和控制它的方式。一些不同的PHY芯片允许您进行不同级别的访问,但我怀疑您是否会发现任何可以直接控制传输接口的内容,即使它确实如此,也必须将其实现到驱动程序中,这是不太可能的。 Ethernet PHY Controller
也许其他一些解决方案 如上面的评论,如果你想在计算机上有直接的IO控制,最好的解决方案是通过串行或并行端口,也许你可以找到以太网到串口或USB到串口,然后玩它但这将是数字信号。
您可能想要使用的另一件事是麦克风输入,因为它接受模拟信号,您可以直接控制它,但要小心不要烧坏您的计算机。 (我在手机上看过一些使用银行卡的磁带)。
答案 1 :(得分:1)
您可以使用libpcap / WinPcap执行此操作。然而,你在电线上写/读的内容并没有完全自由。例如序言和SFD必须在那里。这是非常基础的(因为抗噪声),典型的硬件不支持任何不同的东西。
如果您想完全控制所有内容,请转到嵌入式硬件,找到使用能够为您提供该信息的PHY的板和能够处理数据速率的处理器。