데스크탑 컴퓨터 마더 보드에서 마이크로 컨트롤러의 GPIO 핀과 같은 핀을 몇 번 보았습니다. 먼저 GPIO인지 알고 싶습니까? 그렇다면, 그들에게서 읽거나 쓸 수 있습니까?
답변
일반 PC에는 “일반적인 핀”이라는 의미에서 GPIO가 없습니다. PC 마더 보드의 커넥터 (내부 헤더 또는 외부 포트)는 모두 특정 기능을 위해 설계되었습니다. 그러나 그들 중 일부는 자신의 목적을 위해 용도를 변경할 수 있습니다.
PC가 가지고있는 GPIO에 가장 가까운 것은 아마도 많은 데이터 라인과 핸드 쉐이크 라인이있는 병렬 프린터 포트 일 것입니다. 이 라인은 GPIO 핀과 다소 비슷하지만 방향면에서 유연성이 떨어집니다. http://retired.beyondlogic.org/spp/parallel.htm
직렬 포트의 핸드 쉐이크 라인은 이상한 전압 레벨을 갖더라도 일반 IO로 사용될 수 있습니다.
병렬 및 직렬 포트는 예전보다 덜 일반적이지만, 쇼핑 할 때 그것들이있는 마더 보드를 찾는 것은 여전히 쉽습니다.
케이스 LED, 버튼 등을위한 입력 및 출력의 용도를 변경할 수도 있지만 세부 사항은 특정 시스템에 따라 매우 다르다고 생각합니다.
PC는 다양한 관리 기능을 위해 SMBUS라는 I2C 기반 버스를 사용합니다. 나는 사람들이 이전에 납땜 와이어를 통해 자신의 I2C 장치를이 버스에 싣고 있다는보고를 보았지만 지금은 링크를 찾을 수 없다.
모니터 식별에 사용되는 비디오 포트에 다른 I2C 버스가 있습니다. 소프트웨어에 액세스 할 수 있는지 여부는 사용중인 OS 및 비디오 하드웨어에 따라 다릅니다. http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- 프로젝트 /
물론 USB도 있습니다. USB 인터페이스를 갖춘 저렴한 마이크로 컨트롤러가 있으며 여기에 연결할 수 있습니다.
답변
GPIO를 가진 마더 보드가 모델과 제조사에 따라 다르다는 질문이 있습니다. 일부는 그렇지 않을 수도 있습니다.
예를 들어, Asus 데스크탑 보드에는 팬 제어 및 온도 판독을위한 Nuvoton NCT6775가 포함되어 있습니다. 이것은 (공급 업체 사용자 정의) BIOS 및 Windows 데스크탑 유틸리티에서 액세스 할 수 있습니다. 팬 제어가 작동하려면 Asus의 소프트웨어를 실행해야합니다. 이는 PWM 팬 제어가 소프트웨어에 의해 수행됨을 의미합니다. Linux 설치에서는이 커널 모듈 과 pwmconfig 를 통해 수동으로 설정해야합니다 .
Nuvoton NCT677xF 데이터 시트 를 보면 PWM 제어, 온도 및 전압 판독, SMBus를 통한 GPIO 제어를위한 일반 하드웨어를 찾을 수 있습니다. 둘 다 갖추고 있으면 제대로 작동 할 수 있습니다. 이론적으로이 칩셋을 GPIO 기능에 사용할 수 있습니다.
그러나 나는 그것을 만지지 않을 것입니다. 매우 특정한 마더 보드 모델로 뛰어 들어 리버스 엔지니어링 (예 : 레이아웃, 핀 할당 등)하지 않는 한 어떤 하드웨어가 연결되어 있는지 알 수 없습니다. 커넥터로 나뉘 지 않습니다.
가장 중요한 것은 응용 프로그램이 몇 년 동안 지속되어야하는 경우 마더 보드 모델도 마찬가지입니다. 그렇지 않은 경우 매우 특정한 마더 보드 하드웨어에 연결하는 것은 좋은 생각이 아닙니다.
답변
나는 이것이 오래된 주제라는 것을 알고 있지만 어쨌든 …
BIOS 코드를 프로그래밍하면 모든 마더 보드에 GPIO가 있으며 사용자 주소 공간에서 완전히 사용할 수 있으며 포트 주소는 일반적으로 병렬 포트에 매우 가깝습니다. 표준 병렬 포트 드라이버를 사용하여 사용자 지정 마더 보드 용 사용자 지정 드라이버를 만들었습니다. 주소 번호를 수정하기 만하면되었지만 그 번호를 미리 알고있었습니다.
사용할 수 있습니까? BIOS를 프로그래밍 한 사람에 따라 다릅니다. 모든 GPIO의 상태는 사전 컴파일로 설정해야하며, 사용하지 않는 모든 GPIO는 쉽게 비활성화되도록 설정할 수 있습니다.
GPIO를 사용하지 않고 설정하지 않은 경우 기본 상태는 무엇입니까? 아마도 떠 다니는 것 같습니다 (대부분 삼국가이므로 행운입니다).
GPIO에 풀업 / 풀다운이 있습니까? EE가 1을 추가했는지 누가 알 수 있습니까?
사용하지 않은 GPIO에 대한 흔적이 있습니까? 의심 스럽지만 뭐든지 가능합니다 ..
간단히 말해, 사용하지 않는 GPIO를 사용할 수있는 방식으로 설정 한 것이 운이 좋을 것입니다. arduino와 비슷하지만 (실제 기본값은 없음) “INPUT / OUTPUT / TRI”를 생각하십시오. 납땜 할 핀이나 패드가있는 마더 보드에는 유용한 트레이스가 있어야합니다. 그런 다음 GPIO의 주소 위치를 알고 있으면 표준 사용자 공간 드라이버를 쉽게 사용할 수 있습니다.
답변
PC에는 일반적으로 i2c 인터페이스가 있으며 TI TCA9535DBR과 같이 i2c 용 IO 확장기 칩을 찾을 수 있습니다.
따라서 속도 요구 사항에 따라이 작업을 간접적으로 수행 할 수 있습니다. PC를 사용하고 있다면 정확한 타이밍 요구 사항이 까다 롭습니다.