位置:51电子网 » 技术资料 » 单 片 机

利用USBUART桥接器实现单片机在线编程

发布时间:2008/5/27 0:00:00 访问次数:524

引 言:

  通用串行总线(usb)是一种支持即插即用的新型串行接口,使外设到计算机的连接更加高效便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求和直接数据通道等问题。因此,越来越多的开发者欲在自己的产品中使用这种标准接口。rs232是单个设备接入计算机时常采用的一种接入方式,其硬件和软件协议比较简单,有很多传统设备采用了这种通信方式。将usb转uart技术应用于单片机与pc机之间的数据通信,在计算机上产生一个虚拟的com口,用户只需按照通用串行口一样使用usb口即可。这样不仅能使单片机具备usb通信的诸多优点,简化了usb编程,同时还可以利用usb对单片机提供5v的电源(500ma以下)。笔者根据芯片cp2101的usb转uart技术特点设计了实验电路板,达到了既提供实验电路板电源,又实现计算机与实验电路板通信的目的,并结合单片机iap技术,可完成单片机的在线编程。

1 cp2101芯片的功能及工作电路图

  芯片cp2101是一种高度集成的usb转uart桥接器,它包含有usb2.0全速功能控制器、usb收发器振荡器和异步串行接口(uart)。该芯片的全部功能集成在一个5mm×5mm的mlp28封装的ic中。cp2101内置有与计算机通信的usb协议,工作时,会在计算机上产生一个虚拟com口,用户就可以按照通用串行口的控制方式来使用这个com口。

  cp2101内集成有多个模块,各自完成不同的功能,如图1所示。

① usb功能控制器是一个符合usb 2.0的全速器件,集成了收发器和片内相应的上拉电阻,usb功能控制器管理 usb和 uart间所有的数据传输和由 usb主控制器发出的命令请求以及用于控制 uart功能的命令,usb接口的信号描述如表1所列。

② 异步串行接口(uart)包括tx (发送) 、rx (接收) 、数据信号以及rts、 cts、 dsr、 dtr、 dcd和 ri控制信号。uart支持 rts/cts、 dsr/dtr和 xon/xoff握手协议,可以通过编程使uart支持各种数据格式和波特率,波特率的范围从300~921600不等。从cp2101转换出来的uart信号不是标准的rs232电平,而是ttl电平,其信号描述如表2所列。

③ 内部 eeprom可以用于存储由设备原始制造商定义的usb供应商id、产品id、产品说明、电源参数器件、版本号和器件序列号等信息。

④ 电压调节器是一个可以由usb总线驱动的器件电源,可在vdd引脚输出3.0~3.6 v电压,1~100 ma电流。

2 基于usb转uart技术的iap编程电路设计

2.1cp2101的外围接口电路

  cp2101是usb转串行口桥接器,它需要设计外接usb接口电路和rs232接口电路。usb接口电路实现cp2101与计算机之间的通信;rs232接口电路实现cp2101和外设之间的通信。接口电路如图2所示。其中rs232电平转换电路可根据需要选用max3243或max232。

对用户来说,cp2101就是一个usb转rs232的芯片,只不过rs232的输入和输出信号均为ttl电平,而不是标准的rs232电平。它的使用与普通的usb外设相同,当第一次带电插入pc机usb接口时,系统会提示安装相应的驱动程序,驱动程序可从网站www.xhl.com.cn上下载。驱动程序安装完后,系统会自动增加一个com口,用户就可以按照传统的串行口控制方式来使用这个带有5 v和3.3 v供电的“com口”。

2.2根据cp2101设计iap工作电路

  根据iap编程的工作原理,如果单片机在2 s内没有接收到任何iap命令,在看门狗定时器的作用下将自动进入用户程序。用户还可以通过编程控制串行口上的rts引脚产生复位信号来控制单片机。也可以在复位后(2 s内)直接以约定的波特率传送hex代码文件,自动完成程序的擦除和写入,大大简化了iap编程过程。

  根据iap编程的原理,作者先后设计了两种接口电路。一种是传统电路iap工作电路,没有使用cp2101芯片,如图3所示。另一种是利用cp2101设计的iap工作电路,如图4所示。

在传统电路iap工作电路中,利用usb接口提供ttl电源,串行口提供iap编程、数据传输及复位控制信号。图3中,r1、r2、c1和k1构成传统的上电自动和手动复位电路,r7、d1构成一个由串行口rts端控制的复位电路;串行口信号需要由rs232电平转换为ttl电平,需要设计电平转换电路或采用专用的电平转换芯片。该电路工作时需要有两个接口,usb接口和com接口,usb接口的功能是提供ttl电平的电源,串行接口的功能是串行口通信、iap编程及复位信号控制。

  在利用cp2101设计的iap工作电路中,usb接口除了提供ttl电源外、还有串行口通信、iap编程及复位信号控制。图4中,r5、r6、c2和k2构成传统的上电自动和手动复位电路,r3、r4、d2和t1构成一个由串行口rts端控制的复位电路,由于cp2101转换后的信号是ttl电平,可以直接为单片机使用,节省了rs232电平转换为ttl电平的辅助电路。

  利用cp2101设计的iap工作电路有很大的优越性,它只需使用usb接口就可以完成提供ttl电源、串行口通信、iap编程及复位信号控制,减少了计算机与外设

引 言:

  通用串行总线(usb)是一种支持即插即用的新型串行接口,使外设到计算机的连接更加高效便利。这种接口适合于多种设备,不仅具有快速、即插即用、支持热插拔的特点,还能同时连接多达127个设备,解决了如资源冲突、中断请求和直接数据通道等问题。因此,越来越多的开发者欲在自己的产品中使用这种标准接口。rs232是单个设备接入计算机时常采用的一种接入方式,其硬件和软件协议比较简单,有很多传统设备采用了这种通信方式。将usb转uart技术应用于单片机与pc机之间的数据通信,在计算机上产生一个虚拟的com口,用户只需按照通用串行口一样使用usb口即可。这样不仅能使单片机具备usb通信的诸多优点,简化了usb编程,同时还可以利用usb对单片机提供5v的电源(500ma以下)。笔者根据芯片cp2101的usb转uart技术特点设计了实验电路板,达到了既提供实验电路板电源,又实现计算机与实验电路板通信的目的,并结合单片机iap技术,可完成单片机的在线编程。

1 cp2101芯片的功能及工作电路图

  芯片cp2101是一种高度集成的usb转uart桥接器,它包含有usb2.0全速功能控制器、usb收发器振荡器和异步串行接口(uart)。该芯片的全部功能集成在一个5mm×5mm的mlp28封装的ic中。cp2101内置有与计算机通信的usb协议,工作时,会在计算机上产生一个虚拟com口,用户就可以按照通用串行口的控制方式来使用这个com口。

  cp2101内集成有多个模块,各自完成不同的功能,如图1所示。

① usb功能控制器是一个符合usb 2.0的全速器件,集成了收发器和片内相应的上拉电阻,usb功能控制器管理 usb和 uart间所有的数据传输和由 usb主控制器发出的命令请求以及用于控制 uart功能的命令,usb接口的信号描述如表1所列。

② 异步串行接口(uart)包括tx (发送) 、rx (接收) 、数据信号以及rts、 cts、 dsr、 dtr、 dcd和 ri控制信号。uart支持 rts/cts、 dsr/dtr和 xon/xoff握手协议,可以通过编程使uart支持各种数据格式和波特率,波特率的范围从300~921600不等。从cp2101转换出来的uart信号不是标准的rs232电平,而是ttl电平,其信号描述如表2所列。

③ 内部 eeprom可以用于存储由设备原始制造商定义的usb供应商id、产品id、产品说明、电源参数器件、版本号和器件序列号等信息。

④ 电压调节器是一个可以由usb总线驱动的器件电源,可在vdd引脚输出3.0~3.6 v电压,1~100 ma电流。

2 基于usb转uart技术的iap编程电路设计

2.1cp2101的外围接口电路

  cp2101是usb转串行口桥接器,它需要设计外接usb接口电路和rs232接口电路。usb接口电路实现cp2101与计算机之间的通信;rs232接口电路实现cp2101和外设之间的通信。接口电路如图2所示。其中rs232电平转换电路可根据需要选用max3243或max232。

对用户来说,cp2101就是一个usb转rs232的芯片,只不过rs232的输入和输出信号均为ttl电平,而不是标准的rs232电平。它的使用与普通的usb外设相同,当第一次带电插入pc机usb接口时,系统会提示安装相应的驱动程序,驱动程序可从网站www.xhl.com.cn上下载。驱动程序安装完后,系统会自动增加一个com口,用户就可以按照传统的串行口控制方式来使用这个带有5 v和3.3 v供电的“com口”。

2.2根据cp2101设计iap工作电路

  根据iap编程的工作原理,如果单片机在2 s内没有接收到任何iap命令,在看门狗定时器的作用下将自动进入用户程序。用户还可以通过编程控制串行口上的rts引脚产生复位信号来控制单片机。也可以在复位后(2 s内)直接以约定的波特率传送hex代码文件,自动完成程序的擦除和写入,大大简化了iap编程过程。

  根据iap编程的原理,作者先后设计了两种接口电路。一种是传统电路iap工作电路,没有使用cp2101芯片,如图3所示。另一种是利用cp2101设计的iap工作电路,如图4所示。

在传统电路iap工作电路中,利用usb接口提供ttl电源,串行口提供iap编程、数据传输及复位控制信号。图3中,r1、r2、c1和k1构成传统的上电自动和手动复位电路,r7、d1构成一个由串行口rts端控制的复位电路;串行口信号需要由rs232电平转换为ttl电平,需要设计电平转换电路或采用专用的电平转换芯片。该电路工作时需要有两个接口,usb接口和com接口,usb接口的功能是提供ttl电平的电源,串行接口的功能是串行口通信、iap编程及复位信号控制。

  在利用cp2101设计的iap工作电路中,usb接口除了提供ttl电源外、还有串行口通信、iap编程及复位信号控制。图4中,r5、r6、c2和k2构成传统的上电自动和手动复位电路,r3、r4、d2和t1构成一个由串行口rts端控制的复位电路,由于cp2101转换后的信号是ttl电平,可以直接为单片机使用,节省了rs232电平转换为ttl电平的辅助电路。

  利用cp2101设计的iap工作电路有很大的优越性,它只需使用usb接口就可以完成提供ttl电源、串行口通信、iap编程及复位信号控制,减少了计算机与外设

相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!