소개 : 우리는 PC에 USB 장치를 넣을 때, 현상의 어떤 종류를 발생합니다?
현상 : PC에 USB 장치
팝업의 1. 오른쪽 하단 모서리에 "발견 전화 안드로이드"
드라이버를 설치하라는 대화 상자 중 2. 점프
, USB 드라이버 프레임 워크에서 먼저보기 :
USB 드라이버 프레임 워크 :
응용 프로그램 :
------------------------------------------- -----
USB 장치 드라이버
커널 ---------------------------------------
의 USB 버스 드라이버 (이 부분은 너무 걱정하실 필요가 없습니다)
--------------------------------------- ---------
USB 호스트 컨트롤러
하드웨어 -------------
USB 장치
그것이 "안드로이드 폰"이유를 알 수있는 드라이버를 요청하지 않았기 때문에 1.
대답 1. 과부가 이미 USB 버스 드라이버가를, USB 장치에 접속하여,에 "버스 기사는"당신이 "안드로이드 폰"것을 알고
"장치 드라이버"를 설치하라는 메시지를 표시
, USB 장치가 해당 드라이버를 찾기 위해 USB 장치를 식별 : 대한 USB 버스 드라이버가 책임이있다.
컴퓨터에 액세스하는 이유 Q 2. USB 장치 범주가 매우 큰, 당신은 그것을 식별 할 수 있습니까?
2. PC와 USB 장치는 규범의 일부를 준수해야합니다.
예를 들어 컴퓨터에 USB 장치 한 후, PC 기회는이 "당신이 무엇을"보내?
USB 장치는 "나는 XXX입니다"대답해야하며, 대답은 동일한 언어해야합니다.
특정 명령을 실행합니다 USB 버스 드라이버, 장치 정보 (기술자)를 취득하고자하는
USB 장치가 PC에 "기술자"를 반환해야합니다
3. PC 컴퓨터 USB 장치를 많이 연결되어 질문에 어떻게 구별 하는가?
USB 인터페이스 만 네 줄 : 5V가 GND가 D-, D +
시간 3. 각 PC에 USB 디바이스, USB 버스 드라이버가에 번호를 할당
USB 버스에 연결된 모든 USB 장치 자체를 가지고 수 (주소)
PC가 USB 장치를 액세스 할 때, 발행 된 명령은 해당 번호를 포함 (주소)
그냥하지 번호 4. USB 장치 액세스 PC를 물어, 다음 "번호가 할당"하는 방법을 PC 그것을 말해?
4. 새 번호가 할당되지 않은 전에 새로운 기본 액세스 USB 장치 번호 0, PC 번호 0은 사용하여 통신합니다.
USB 장치 액세스를 요청하는 이유, PC 기계를 찾을 수있을 것입니다 5.?
USB 장치가 로우 레벨로 접속되어 있지 않은 A, D + 및 D- 15K에 연결된 풀다운 저항 (5) 내부의 PC의 USB 포트.
PC가 액세스하는 USB 장치, D- 또는 D + 풀업 저항 접속 1.5K, 내부 USB 포트는 PC가 USB 포트는 D + D- 또는 PC가 연결되어 새로운 디바이스의 통지는 하드웨어 관점에서 가져온 것이다 에.
其他概念:
1. USB 是主从结构的
所有的USB传输,都是从USB主机这边发起,USB设备没有"主动"通知USB主机的能力
例子:USB鼠标滑动一下立刻产生数据,但是它没有能力通知PC机来读数据,只能被动地等待PC机来读。
2. USB的传输类型:
a. 控制传输:可靠,时间有保证,比如USB设备的识别过程
b. 批量传输:可靠,时间没有保证,比如U盘
c. 中断传输:实时,可靠,比如USB鼠标
d. 实时传输:实时,不可靠(偶尔花屏),比如USB摄像头
注意:USB设备没有主动通知PC机的能力,那你为什么能发起中断传输,这个地方只是借助中断的概念而已,
它是没有中断能力的,它是利用查询方式来实现这个实时性的。
3. USB传输的对象:端点(endpoint)
我们说读U盘,写U盘,可以细化为:把数据写到U盘的端点1,从U盘的端点2里读出数据
除了端点0外,每个端点只支持一个方向的数据传输。
端点0用于控制传输,既能输出也能输入
4. 每一个端点都有传输类型,传输方向
5. 术语里、程序里说的输入(IN)、输出(out)都是基于USB主机的立场说的
比如鼠标的数据是从鼠标传到PC机,对应的端点称为输入端点
6. USB总线驱动程序的作用
a. 识别USB设备
b. 查找并安装对应的设备驱动程序
c. 提供USB读写函数(它并不知道数据的含义,只是给你提供读写方法,而设备驱动知道数据的含义)