1 USB通信技术USB(通用串行总线)是当前的通用串行总线技术。
它通过PCI总线连接到PC的内部系统数据线,以实现数据传输。
它具有即插即用功能,并支持热拔插,设备之间的电缆长度可以达到约5 m。
USB接口信号线有4条线,两条是电源线和地线(Vbus和GND),两条是以差分方式生成的信号线(D +和D-),从而实现了主机系统和USB之间的连接设备数据通信,请参见图1。
图1 USB通信数据流USB总线121技术是一种基于数据包交换的总线通信。
首先将数据分成几个块,然后在每个数据块之前添加一个同步信号和一个数据包标识符,然后添加一个CRC校验和形成一个USB数据包。
USB总线通信使用差分输出驱动器来控制USB电缆上数据信号的传输,即,通过控制D +和D线从空闲状态到相反的逻辑电平,可以实现源端口数据包的传输。
发送数据包后,D +和D-上的输出驱动器均处于高阻抗状态。
2 USB通信系统设计2.1硬件设计USB通信接口是连接PC机和汽车尾气检测器的嵌入式单片机通信的桥梁。
目前,使用USB接口芯片实现PC与单片机AT89C51的连接。
方法。
由于汽车尾气检测系统中的嵌入式单片机使用串行端口(TXD,RXD)以RS232模式进行通信,因此USB芯片与AT89C51单片机之间的连接也必须是RS232串行通信模式。
因此,本文采用PROLIFIC公司推出的可实现USB接口到RS232串口的转换芯片PL-2303HX。
根据汽车排气检测器的USB通信系统的设计要求,USB通信接口的电路设计如图2所示。
图2 USB通信接口USB插头和USB芯片之间的连接通过USB& D ++,USB& D1,GND和VO-3.3的4个端点来实现。
因为USB芯片PL2303HX支持类似RS232的接口,所以它包含全双工传输。
以及接收(RXD,TXD)串行端口,因此PL2303HX芯片和微控制器AT89C51的RS232串行端口可以直接与USB芯片的RXD,TXD,GND的三根线连接。
PL2303HX与单片机AT89C51的TXD,TXD和GND分别为RXD和GND连接,双方均可发送和接收。
2.2软件设计2.2.1通信方式本文的USB通信系统采用异步半双工通信方式,即通信的一方进行收发。
通信的数据格式是每帧10位,包括1个起始位,8个数据位和1个停止位,如图3所示。
图3字节传输序列这里,微控制器的串行端口设置为使用T作为模式1,这是10位异步通信。
片上定时器T1用作波特率发生器,波特率为2400bps。
串行端口控制寄存器SCON的工作模式选择位SM0和SMI分别设置为0和1,因此串行端口设置为模式1。
计数器T1控制寄存器TMOD,AT89C51定时。
定时器/计数器T1是定时器模式,并且被设置为模式2。
作为波特率发生器,其波特率表示为:然后:将定时器T1的初始值设置为11L1 = TH1 = F3H,并且应当禁止定时器T1中断,以避免由于定时器T1的溢出而引起的故障。