基于USB多路幅值可调电压输出设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于USB多路幅值可调电压输出设计

基于USB多路幅值可调电压输出设计   摘要:手动调节多路电压输出很难实现,费时、费力,不仅操作麻烦、效率低而且精度也很低。提出了一种电压输出方法,单片机连接三片具有四路电压转换的DAC8420,通过USB与电脑通信。用VC++设计电脑用户界面,电脑控制下位机可输出多达12路可调的电压信号,输出信号精度高,操作简单。   关键词:USB;电压;多路;可调   中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)34-7904-04   一定范围内可调的电压输出在很多场合有重要的应用,例如电子器件维修检测等。手动调节电源电压输出的方法很麻烦,精确度低,而且只能输出少数的几路电压,显然不能满足快速、精确和多路电压输出的要求,为此,设计了本方案,以单片机作为下位机控制D/A转换器实现电压的转换输出,单片机通过USB接口与上位机电脑通信,接收上位机的命令,实现快速、精确、多路的电压输出,而且实现了任意一路电压可调。   1 硬件电路设计   硬件电路主要包括单片机最小系统、电源模块、USB接口电路、D/A转换电路。考虑到应用的实际需求和开发的成本,单片机采用STC89S52,可以在线编程,开发十分方便,晶振频率为12MHz。   1.1 电源设计   本系统中需要用到的电源有5V、正负10V和正负15V,交流电通过变压器降压在经过整流以后,接到稳压模块上,输出各种需要的电压。7805输出5V电压,7810和7910输出正负10V电压,7815和7915输出正负15V电压。   1.2 USB接口芯片   近年来,随着计算机技术的快速发展,特别是USB技术的发展,使用USB移动存储设备变得非常普遍,因此很多USB移动存储设备接口的芯片推出,例如南京沁恒公司的CH375就是其中之一,在一些需要转存数据的设备、仪器上被应用了。该文采用CH375做USB接口通信芯片。CH375具有8位数据总线和读、写、片选控制线以及中断输出,支持HOST主机方式和SLAVE设备方式,是一个USB总线的通用接口芯片,与单片机/DSP/MCU等控制器的连接非常方便。图2是CH375与单片机的连接示意图:   1.3 D/A转换电路   D/A转换芯片选用DAC8420,具有4个通道,各DAC的地址均由一个16位串行字单独确定,它由一个12位数据字和一个地址表头组成。初始化电压值可通过可编程复位控制CLR,使四个DAC输出零电平或中间电平。参考电压范围是正负10V,能实现电源电压范围内的正/负单极性或双极性信号摆幅,用户通过设置输入VREFHI和VREFLO而确定输出电压范围,从而提供极大的设计灵活性。具有12位电压输出,三线式串行数字输入与以10 MHz速率工作的微处理器便可轻松实现接口,只需极少的附加电路即可。该文DAC8420的电源电压接正负15V,参考电压接正负10V,可实现-10V~+10V范围内的电压可调。为提高输出的负载能力,可以将输出电压接到运放上,接成电压跟随器模式。   2 程序设计   2.1 上位机设计   上位机的软件界面用VC++6.0开发,利用CH375动态链接库提供的函数,编程实现数据的下传。12路电压数据存放在文本文件中,单击“通道数据下传”,即可将12路电压数据下传给单片机。也可以对其中的任意一路进行修改下传。界面如图3所示:   2.2 下位机设计   下位机的程序主要有两个方面的内容,USB接口程序和D/A转换程序。电脑的下传数据通过USB接口传输给CH375芯片,CH375会输出一个低电平信号通知单片机,使单片机产生外部中断,进入中断以后处理所收到的数据,进而按要求启动D/A转换,输出电压信号。单片机先初始化USB接口芯片CH375,再开放外部中断以等待电脑数据下传。USB初始化如下:   void USB_Init( void ) {   UINT8 i;   #ifdef TEST_USB_FIRST   /* 测试USB与单片机的物理连接是否正常以及是否正常工作,可选操作,通常不需要 */   UINT8 j;   USB_WR_CMD_PORT( CMD_CHECK_EXIST ); /* 测试USB是否正常工作 */   USB_WR_DAT_PORT( 0x55 ); /* 写入测试数据,任意数据 */   i = ~ 0x55; /* 返回数据应该是测试数据取反 */   if ( USB_RD_DAT_PORT( ) != i ) { /* USB不正常 */   for ( i=80; i!=0; i— ) {   USB_WR_CMD_PORT( CMD_RESET_ALL ); /* 多次重复发命令,执行硬件复位 *

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档