2013-01-21 6 views
13

표준 이더넷 인터페이스에서 물리적 이더넷 연결 인터페이스에서 직접 비트를 읽을 수 있습니까?낮은 수준의 이더넷 드라이버가 phy 계층의 비트를 읽음

예를 들어 랩톱의 이더넷 잭을 차동 논리 프로브 (표준 이더넷 케이블 사용)로 사용한다고 가정합니다. 잠재적으로 드라이버를 작성하여 비트를 얻거나 드라이버가 얼마나 낮을 수 있는지에 대한 제한이 있습니까?

기본적으로 물리 계층은 비트 스트림을 장치 드라이버로 보내거나 비트의 해석에 영향을 미치거나 (다른 인코딩 체계를 사용하여) 장치가 오작동을 일으킬 수있는 모든 디코딩을 수행합니다.

우리는 이더넷 포트를 표준 디지털 차등 통신 링크로 사용할 수 있습니까? 아니면 ieee 규격 (8b/10b 등)으로 제한되어 있습니까?).

+0

나는 RS232 어댑터 또는 Arduino에서 USB로 훨씬 나아 졌다고 말하고 싶습니다. Arduino는 몇 분 만에 어떤 종류의 불타는 농구를 뛰어 넘기 위해 프로그램 할 수 있습니다. 매우 낮은 대역폭, 나는 심지어 사운드 카드를 고려할 것입니다 ... – ppeterka

+0

@ppeterka 그것은 낮은 대역폭이 아니며 짧은 거리가 아닙니다.기본적으로 표준 이더넷과는 다른 프로토콜을 사용하는 디지털 통신입니다. – jsmdnq

+0

@jsmdq 감사하겠습니다. 비록 당신이 제안하는 것이 가능하다 할지라도, 그것은 장치 의존성이 높을 것입니다 (모든 장치가 그것으로 시작하는 문서를 얻지 않아도된다는 것은 말할 것도없이). 그리고 많은 시간이 걸릴 것입니다. 그래서 내가 쓴 것을 썼다. 왜 당신은 이것을 필요로합니까? 그 평범한 엘레 네트는 무엇에 적합하지 않습니까? – ppeterka

답변

2

곧 답변 드리겠습니다. 여기

이 이유 중 일부이다 :

하드웨어 링크 층에서

가 컴퓨터와 이더넷 케이블 사이에 전기 접속이 실제로 없다를, 그것은 전기적 작은 변압기에 의해 분리 전류이고되지 전압으로 구동되는 신호이기 때문에 극복해야 할 첫 번째 문제가됩니다. 단 한 줄의 전압보다는 2 개의 라인을 통해 상당히 정확한 전류를 보내야하기 때문입니다. Ethernet transformers

PHY 하드웨어 인터페이스 : 다음 단계이 단순히 코드가 실행중인 CPU에 의해서가 아니라 이더넷 PHY 칩 인터페이스에 의해 제어되지 않습니다, 거기에 더 (쉬운) 방법이 없다는 것입니다 깜박이고 그것을 제어하는 ​​것. 일부 PHY 칩은 다른 수준의 액세스를 허용하지만, 전송 인터페이스를 직접 제어 할 수있는 것을 발견 할 수 있을지는 의문입니다. 그렇더라도 실제로는 드라이버에 구현해야합니다. Ethernet PHY Controller

아마도 당신이 컴퓨터에 직접 IO 제어를 할 경우 위의 댓글이, 가장 좋은 방법은 직렬 또는 병렬 포트를 통해 그대로는, 아마도 당신은 직렬 또는 USB에 이더넷을 찾을 수 있습니다 다른 솔루션 직렬 포트에 연결 한 다음 그 신호를 재생하면 디지털 신호가됩니다.

컴퓨터를 굽지 않도록주의하면서 아날로그 신호를 받아들이면서 직접 제어 할 수 있으므로 마이크 입력이 좋습니다. (나는 은행 카드 자기 밴드를 휴대폰에서 사용하는 것을 보았다.)

+0

PHY 수준의 액세스를 허용하는 카드가 있습니까? 현상금의 목적을 위해 내가 궁금해하는 것이 그 것이다. 디버깅 하드웨어 등이 있더라도. – Brad

+0

@Brad 왜 임베디드 하드웨어를 사용하지 않습니까? 일반적으로 모든 것을 제어 할 수 있습니다. 예를 들어 Zedboard (아마도 가장 좋은 예는 아닐지도 모르겠지만 처음에는 IP 레이어를 자체 프로토콜로 바꾸기 위해 사용했기 때문에 마음에 들었습니다). 거기에서 PHY 칩을 완벽하게 제어 할 수 있습니다 (PHY의 데이터 시트에서 자세하게 살펴 봐야 할 필요가 있는지 여부를 판단 할 수 있어야합니다).하지만 실제로 엉망입니다! – yar

+0

@yar 괜찮을 것입니다. 그렇게 엉망이 아닌 것을 알고 있습니까? :-) 나는 다른 장치에서 부적합한 이더넷 프레임을보고 싶은만큼 내 자신의 하드웨어를 발명하고 싶지 않습니다. – Brad

1

libpcap/WinPcap을 사용하여이 작업을 수행 할 수 있습니다. 그럼에도 불구하고 당신은 철자로 쓰고 읽은 것을 선택하는 데있어서 완전히 자유롭지 않습니다. 예 : 프리앰블과 SFD가 있어야합니다. 이것은 (잡음 저항 때문에) 근본적이며, 전형적인 하드웨어는 다른 것을 지원하지 않는다.

모든 것을 완벽하게 제어하려면 임베디드 하드웨어로 이동하여 해당 정보를 제공 할 수있는 PHY를 사용하는 보드와 데이터 속도를 처리 할 수있는 프로세서를 찾습니다.