当前位置:首页 > 单片机 > 单片机
[导读]引言 随着科学技术的快速发展,单片机的应用已经渗入到了生产、生活的方方面面,其应用范围越来越广泛,应用前景越来越好。基于单片机的开发应用在目前创新技术发展中一支独秀,非常受广大科技爱好者、在校大学

引言
    随着科学技术的快速发展,单片机的应用已经渗入到了生产、生活的方方面面,其应用范围越来越广泛,应用前景越来越好。基于单片机的开发应用在目前创新技术发展中一支独秀,非常受广大科技爱好者、在校大学生以及科技开发工作者的青睐。多功能、超强型的单片机在市场上也层出不穷,为单片机的开发应用提供了很好的基础。目前,在单片机的应用系统设计中,USB接口的使用越来越多,简化了单片机系统与外部系统进行信息交换的接口电路,提高了信息交换的可靠性及交换速度。目前市场上提供的各类型单片机品种中,有些型号的单片机在其内部集成有USB接口部件,但大部分的单片机不含有USB接口电路。对芯片内部不含有USB串行接口的单片机,进行USB接口设计时,要通过外围接口芯片来实现USB串行接口,这样的接口芯片,目前市场上已经有很多种了。本文仅就采用单片机本身的串口通过外围芯片PL2303来实现串口转USB接口进行介绍。

1 USB接口的实现
    USB(Universal Serial Bus)是一种通用的串行总线技术,它是通过PCI总线和PC的内部系统数据线连接,实现数据的传送,具有即插即用功能,支持热插拔,两个通信设备之间线缆长度可达5 m。
    USB接口线有4条,其中两条为电源线和地线(Vbus与GND),另外两条是以差分形式传递信息的信号线(D+和D-),从而实现主机系统与USB设备之间的数据通信。含有USB接口的主机与含有USB接口的设备之间通信数据流的示意图如图1所示。


    USB总线技术是基于分组交换方式的总线通信。它首先把数据分成若干块,然后在每块数据前添加上同步信号、包标识,后面再添加上CRC校验码,形成USB数据包。USB通信总线使用差分输出驱动器来控制数据信号在USB电缆上的传送,即通过控制D+和D-线从空闲状态到相反的逻辑电平,实现原端口的数据包发送,数据包发送完以后,信号线(D+)和(D-)上的输出驱动器均处于高阻状态。

2 单片机串口转USB接口的电路
   
无论哪一款的单片机,其芯片上都有串行通信引脚TXD和RXD,利用这两个引脚,通过某种接口芯片来实现串口转USB口的电路。本文采用Prolific公司推出的串口转USB接口的转换芯片PL2303来实现单片机的串口转USB接口的电路。接口电路的设计如图2所示。


    在图2中,PL2303的TXD引脚和RXD引脚分别与单片机的P3.0(RXD)引脚和P3.1(TXD)引脚相连,这样就完成了单片机的串口与USB口的转换。单片机从串口发送出去的数据信息通过PL2303芯片转换为USB数据流,再通过USB口的连接器传送给主机设备。可以看出PL2303与单片机的连接非常简单,只需两根信号线就可以。

3 单片机串口软件设计
   
串口转USB口串行通信方式采用异步半双工通信方式,即通信双方发送和接收信息是分时段交替进行的,双方不能同时进行收发操作。通信的数据格式为每帧10位,其中1位起始位,8位数据位,1位停止位。一帧数据的格式如图3所示。数据的发送是低位在先,高位在后。


    在串行通信中,收发双方对发送和接收数据的速率要有约定,即设定波特率。通过软件可以对单片机串口设置为4种工作方式,即方式0、方式1、方式2、方式3。其中方式0和方式2的波特率是固定不变的,方式1和方式3的波特率是可以调整的。波特率由单片机内部的定时器T1的溢出率来决定,用定时器T1作为串行通信波特率发生器时,典型的使用方法是使T1工作在自动重装的8位定时方式,即定时器的工作方式2,这时定时器T1的溢出率取决于TH1中的初值。而单片机的串行通信方式采用方式1,即数据发送是10位帧格式。串行通信方式1的波特率的计算如下:
    方式1波特率=(2SMOD/32)x T1溢出率       (1)
    T1溢出率=fOSC/[12×(256-TH1)]          (2)
    上式中,SMOD是单片机芯片内部的电源控制寄存器PCON中的D7位,可取值为0或1;fOSC是表示单片机外接的晶体振荡器的频率。
    在实际应用中,数据传送的波特率最好选择标称值,又由于TH1的初值是整数,为了减小波特率计算误差,单片机外接的晶振频率尽量选用11.059 2 MHz,这样串行通信方式1的波特率与TH1的初值的对应关系基本上是一个确定值,如表1所列。


    根据表1,如果串行通信的波特率选用9 600,则装入单片机定时器1的TH1中的初值就是FDH,通过下面的程序完成初始化:
   
 

4 PL2303的驱动
   
PL2303是Prolmc公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口便利连接的解决方案。该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几个电容就可实现USB信号与RS232信号的转换,能够方便地嵌入到手持设备中。该器件作为USB/RS232双向转换器,一方面从主机接收USB数据,并将其转换为RS232信息流格式发送给外设;另一方面从RS232外设接收数据,转换为USB数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计。
    PL2303的驱动可在大多数操作系统上模拟成传统的COM端口,并允许基于COM端口应用方便地转换为USB接口应用,实现通信,其数据传输的波特率可高达6 Mbps。通过利用USB块传输模式,利用庞大的数据缓冲器和自动流量控制,PL2303能够实现更高的数据吞吐量,比传统的UART(通用异步收发器)端口要快。
    前面介绍了单片机与PL2303的接口电路,通过PL2303的桥接,将单片机的串口转成了USB口。当单片机系统与PC主机系统通过USB通信线连接起来后,PC机将这个USB接口看成是一个COM口(RS232全双工异步串行通信接口),此时,PC机要装入PL2303的驱动程序,这个驱动程序就是将该USB口模拟成为一个COM口,USB转串口线的端口号可能是COM4,也可能是COM5,此端口号是电脑系统自动分派的,不是每台电脑都一样。在没有必要的情况下,请不要去修改它,使用时只需记住这个端口号就可以了。在使用此端口的软件中,都务必按此端口来选择,如STC—ISP下载软件、串口调试软件等。PL2303的驱动程序可以从官方网站下载。

结语
   
本文介绍的单片机串口USB口的接口电路已经通过实际的电路板实现,在实际的应用中效果很好,通信的可靠性很高,特别适合笔记本电脑与单片机系统之间的通信。有些笔记本电脑的操作系统是Win7操作系统,此时要注意在官方网站上下载Win7操作系统的PL2303驱动.PART.RAR。在使用中感觉到的不足之处是PL2303芯片在做电路时,外接的电阻、电容等器件比较多,画电路板比较麻烦。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭