一种AT89S52的USB线设计

出处:LIUDEWEI 发布于:2012-01-06 17:27:08

  1 引言

  随着单片机技术的不断发展和更新,支持ISP 或IAP 的单片机芯片日益增加,这类单片机芯片的程序采用了线的方式。这种串行程序方式所用的电平为TTL 电平,对单片机接口来说非常安全。单片机生产厂商推荐使用ISP 程序方式,如AT89S5X 芯片支持ISP 功能,并用AT89S5X 芯片取代了AT89C5X 芯片。

  另一方面,单片机的程序的写入也从使用烧写器写入演化为使用线从计算机中将程序直接写入。线就是将计算机中的单片机程序写入单片机芯片的连接线。线与计算机的连接接口可分为串口线、并口线和USB 接口的线。这种串行程序方式所用的电平为TTL 电平,对单片机接口和单片机芯片来说更加安全。同时,采用线的程序写入方式不需要每次将单片机从应用电路中取下,既节省了时间,又完全可靠。

  从计算机角度来看,今天计算机技术日新月异,计算机的外部接口也在不断的改变,其中主要作为计算机外部设备的外部接口有串行接口、并行接口和USB(Universal SerialBus, USB)接口。而通用串行总线(USB)具有高速、使用灵活方便等特点,成为了计算机的标准配置,并在计算机外部接口不断增多的趋势。为了适应现代计算机的发展,采用USB 接口的线是势在必行。

  但是,不同的单片机有不同的线,一般来说,对应有不同的软件和硬件驱动程序。这些软件和程序随着功能的完善和操作等原因还有不同的版本。这造成线的使用者需要不断的更新软件,也让使用者在更换单片机时不仅更换线,还要熟悉新的软件。为此,如果能设计一种不需要软件的线或统一操作的软件,则能大大提高单片机程序的操作效率。研究和开发一种通用而不需软件的USB 接口的单片机的线更为必要。

  2 硬件设计

  2.1 设计思想

  为了能够使用和兼容传统的线,一种方式是在计算机中连接一个USB 转并口(或串口)的连接线,然后再连接一根传统的线。在市场上,很多USB 转并口的线是给打印机专用的,它并不是一个模拟并口,而是模拟了一个USB 打印机,是不能用来连接并口线进行程序的。USB 转串口则不一样,因为它是真正的在电脑上模拟了一个串口,一般的编程软件都可以对这个串口进行读写操作。

  另一种方式是单独开发的USB 编程器,其功能包含了USB 接口和线(也有一部分还带有编程器等功能),一些USB 编程器内部结构是一个USB 转串口的芯片转成串口后再接后续编程电路,这样的方式与单独的USB 转串口加线的原理和连接是相同的。

  不管是哪一种线,都需要对应的驱动程序和程序,当然,这些线也支持在线仿真等功能。

  为了实现计算机中不需要安装线驱动程序,在对线控制系统调试完成后,计算机系统就可使用系统中自有的USB 驱动程序实现程序对线进行读写,这样既能保证了在所有计算机上都可以通用,又实现了在计算机中不需要专用的程序,只需要如磁盘操作一样进行复制、粘贴或其他文件复制操作即可将程序写入单片机。

  2.2 选用接口器件

  在考虑了若干USB 接口芯片后,选用Philips 公司的PDIUSBD12 作为系统的USB 接口芯片,该芯片仅是一块USB转并行接口的系统芯片,所有的应答数据都由单片机提供,能够满足设计需要。

  PDIUSBD12 是一款性价比很高的USB 器件,完全符合USB1.1 版的规范,PDIUSBD12 通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口。PDIUSBD12 引脚功能如图1 所示。

图1 PDIUSBD12 引脚图

图1 PDIUSBD12 引脚图

  2.3 PDIUSBD12 与单片机连接

  在Philips 的PDIUSBD12 文档中,发布了一个与80C51的典型应用电路,如图2 所示。

  在图2 中,ALE 接为低电平,表示一个独立的地址和数据总线配置。PDIUSBD12 的A0 脚与80C51 的任意一个I/O 口相连。该端口控制PDIUSBD12 的命令和数据状态。80C51 的多位地址和数据总线可直接与PDIUSBD12 的数据总线相连。

  80C51 的频率输入可由PDIUSBD12 的CLKOUT 提供。

  2.4 线接口电路

  线的电路由三个部分组成,分别是单片机控制部分、USB 接口处理电路和线接口电路。

  其中USB 接口处理电路是采用D12 芯片与系统控制单片机芯片的连接方式采用了模拟总线的方式进行连接,数据端口连接到单片机的P0 端口,并在P0 端口上接了一个上拉排阻实现了端口输出高电平。将D12 的读写控制分别接到P3.6 和P3.7 引脚,地址端A0 接到P1.1 引脚上。其时钟信号从CLKOUT 输出,连接到单片机AT89S52 的XTAL1 上,作为单片机的时钟信号,电路如图3 所示。

  线接口采用P2 的部分引脚进行控制,分别是P2.0接OE 端控制输出端口是否有效,P2.1 接SCLK、P2.3 接MOSI、P2.5 接MISO 构成模拟SPI 接口,P2.7 控制目标芯片的RESET 引脚使其进入串行模式。另外,保留了P30 和P31 作为异步串行通信端口,作为系统调试端口,P15、P16、P17 和RESET 与VCC、GND 连接到系统控制芯片的程序接口。

  为了保证在没有写程序时不影响单片机的工作,所有与单片机连接的线接口都应保持高阻状态,在需要编程时又能够将对应的电平影响单片机引脚,所以在设计中,参考了原altera 并口线的接口电路,采用三态的总线驱动芯片74HC244 作为线接口驱动电路。具体的接口电路如图4 所示。

图4 线接口电路

图4 线接口电路。

  线接口从1 脚至6 脚,依次是:地、复位、MOSI、MISO、SCK、VCC。

  3 PCB 设计

  3.1 调试端口

  考虑到在具体调试时,线采用了串口作为调试端口,将从USB 端口接收到的数据通过串口线重新发回计算机,在计算机中使用串口调试助手显示内容。故将其振荡脉冲由外部D12 送过来的信号改为由单片机外接11.0592MHz 晶振与振荡电容产生的频率,以满足硬件调试需要。

  3.2 PCB 制作

  在完成了电路原理图的情况下,根据线电路原理图设计了PCB 电路图,如图5 所示。图5 是一双面的PCB,图5(a)顶层线路,图5(b)底层线路。

图5(a) 顶层线路

图5(a) 顶层线路

图5(b) 底层线路

图5(b) 底层线路

  在完成软件设计后,用此线将单片机与计算机连接,很好的实现了程序。

  4 结束语

  本文所设计的线能够实现与计算机的USB 端口连接,通过在单片机向计算机声明为程序设备,成为计算机的一个常规设备,通过安装对应的驱动程序后,线的硬件就能够正常工作。

  同时,对目标单片机来说,采用了74HC244 作为驱动器件,符合常规单片机的驱动要求。在单片机中只要按照目标单片机的时序,编写对应的单片机程序,即可将从计算机来的代码转发到目标单片机,从而实现单片机的程序。

关键词:USB

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!