1 USB通讯技能
USB(Universal Serial Bus)是一种现在通用的串行总线技能,它是通过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机与单片机AT89C5($3.7500)1之间的衔接是一种比较好的办法。
因为轿车尾气检测体系内嵌单片机是选用串口(TXD、RXD)以RS232($780.5000)办法进行通讯的,所以USB芯片与单片机AT89C51($3.7500)之间的衔接办法也有必要是RS232串口通讯办法。因而,本文选用PROLIF%&&&&&%公司推出的可完结USB接口转RS232串口的转化芯片PL一2303HX。依据轿车尾气检测仪USB通讯系统规划要求,USB通讯接口电路规划如图2所示。
图2 USB通讯接口
USB插头与USB芯片间的衔接通过USB—D+、USB—D一、GND和VO一3.3这4个端点完结,因为USB芯片PL2303HX支撑类RS232接口,含有全双工发送和接纳(RXD、TXD)串口,所以,PL2303HX芯片与单片机AT89C51的RS232串口间直接可以用3根线RXD、TXD、GND衔接,即USB芯片PL2303HX的RXD、TXD和GND别离与单片机AT89C51的TXD、RXD和GND衔接,两边都可发送和接纳。
2.2 软件规划
2.2.1 通讯办法
本文USB通讯系统选用异步半双工通讯办法,即通讯的某一方发送和接纳替换进行。通讯的数据格式为每帧10位,包含1位开始位、8位数据位和1位中止位,见图3。
图3 字节传输序列
这儿设置单片机串行口选用T作形式l,为10位异步通讯,片内定时器Tl作为波特率发生器,波特率为2400bps;由串行口操控寄存器SCON的作业形式挑选位SM0、SMI,别离设为0和l,然后设置其串行口为形式l;当定时器/计数器Tl操控寄存器TMOD中C/T=0和M1M0=10时,AT89C51定时器/计数器Tl为定时器形式,设置为办法2。作为波特率发生器,其波特率表明为:
则:定时器Tl的初值应设置为11Ll=THI=F3H,别的应制止定时器Tl中止,避免因定时器T1溢出而发生不必要的中止。
2.2.2 通讯协议
进行通讯之前,通讯两边首要要依据体系的功用要求制定某种特定的通讯协议,然后才干编写相应的通讯程序。本文通讯协议:
①通讯两边均运用2 400 bps的速率传送数据,PC机与AT89C51均作业于串口办法l(1位开始位、8位数据位、l位中止位)。
②AT89C51在发送和接纳数据时,选用串口中止办法。
③PC机宣布数据收集指令(握手信号),单片机AT89C5l串口收到握手信号后,立行将AT89C51内存寄存的检测数据通过USB通讯接口发送到PC机,一次数据收集完结。
2.2.3 通讯程序流程
通讯程序涉及到PC机通讯程序和AT89C51串口通讯中止程序,上位机(PC机)宣布数据收集指令,下位机(单片机AT89C51)收到握手信号后,将数据传回PC机,然后完结一次数据收集,图4和图5是两个通讯程序的流程图。
图4 PC机通讯子流程
图5 单片机串口中止子流程
3 结语
本文规划的USB通讯系统已在轿车尾气检测仪数据通讯中得到了很好的运用。该体系具有收集数据精确牢靠、运用灵敏便利等长处,这种用USB通讯技能替代传统串口通讯的办法切实可行,有望在其他的智能仪器、外表设备中得到学习和推广运用。