电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 接口/总线/驱动 > 详细信息
接口/总线/驱动:80C51和CH375的USB打印机驱动设计
来源:   时间: 2007-4-28 4:37:49    

摘要:介绍基于80C51和CH375的LPTUSB打印机驱动器的设计与实现方法,介绍USB总线的通用接口芯片CH375的特点及工作原理,给出80C51单片机通过CH375控制USB打印机的硬件设计及其C语言软件实现。利用该设计能够实现并行打印口数据在USB打印机直接打印,极大的克服了有些并口仪器必须连接并口打印机才能打印的弊端,可极大方便用户的使用。

关键词:CH375 LPT USB 打印机 80C51 单片机

引 言

  本课题来源于北京普析通用公司的一个项目。由于公司现有单机版光谱仪器产品(如1810、T6等)采用的是并行口打印技术,而随着USB打印机技术的逐渐普及,并行口打印机越来越不好买到,而且有些用户的打印机只是USB接口而非并行口,因此现有仪器产品对打印机的支持变得不能适应用户需要。为了实现能将公司的并行口仪器直接和USB打印机相连进行打印,决定设计开发一款LPT-USB打印机的驱动器,负责并口仪器和USB打印机的连接。

  本文利用单片机和USB总线接口芯片实现LPT-USB打印机的驱动器设计。利用该设计将能够实现并行打印口数据可以在USB打印机上的直接打印工作,克服了有些并口仪器必须连接并口打印机才能打印的弊端,极大地方便了用户的使用。

1 CH375芯片特点及工作原理

1.1 CH375芯片特点

  CH375 是一个USB总线的通用接口芯片,支持Host主机方式和Slave设备方式。CH375芯片内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。在本地端,CH375 具有8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU 等控制器的系统总线上。CH375 的USB 主机方式支持各种常用的USB 全速设备,外部单片机/DSP/MCU 可以通过CH375 按照相应的USB 协议与USB 设备通信。CH375芯片有如下特点:

  ① 全速USBHOST 主机接口USB V1.1,支持动态切换主机与设备方式,外围元器件只需要一个晶体和2个电容;

  ② 主机端点输入和输出缓冲区各64 B,支持常用的12 Mbps 全速USB设备;

  ③ 支持USB 设备的控制传输、批量传输和中断传输;

  ④ 自动检测USB 设备的连接和断开,提供设备连接和断开的事件通知;

  ⑤ 内置控制传输协议处理器,简化常用的控制传输;

  ⑥ 并行接口包含8 位数据总线,4 线控制(读选通、写选通、片选输入和中断输出);

  ⑦ 串行接口包含串行输入、串行输出和中断输出,支持通信波特率动态调整;

  ⑧ 支持5 V电源电压和3.3 V电源电压。

1. 2CH375芯片工作原理

  如图1所示,CH375芯片通过被动并行接口芯片可以很方便地挂接到各种8 位单片机、DSP和MCU 的系统总线上,并且可以与多个外围器件共存。并口信号线包括:8 位双向数据总线D7~D0、读选通输入RD、写选通输入WR、片选输入CS、中断输出INT以及地址输入线A0。CH375 芯片的RD和WR可以分别连接到单片机的读选通输出引脚和写选通输出引脚。INT可以连接到单片机的中断输入引脚,中断请求是低电平有效。当CS和RD以及A0 都为低电平时,CH375 中的数据通过D7~D0 输出;当CS和WR以及A0 都为低电平时,D7~D0 上的数据被写入CH375 芯片中;当CS和WR都为低电平而A1 为高电平时,D7~D0 上的数据被作为命令码写入CH375 芯片中。

       
            图1主机通过CH375控制USB设备原理图

  
                图2硬件电路原理图

2 硬件电路设计

  单片机通过CH375控制USB打印机的硬件电路,如图2所示。

  如图2所示,CH375芯片通过被动并行接口芯片挂接到8 位单片机的系统总线上,CH375 的TXD 引脚接地,从而使CH375 工作于并口方式。CH375芯片的8 位双向数据总线D7~D0直接与单片机的P0数据口相连,RD和WR分别连接到单片机的读选通输出引脚和写选通输出引脚。片选信号CS连接到单片机的P26引脚,该引脚为低电平时选通CH375芯片。INT可以连接到单片机的中断输入INT0引脚,中断请求是低电平有效。地址输入线A0连接至单片机的P25引脚,当A0引脚为高电平时选择命令端口,可以写入命令;当A0引脚为低电平时选择数据端口,可以读写数据。

  采用74HC245三态双向总线驱动器作为打印机口向单片机传送并口数据的接口,其片选信号与单片机的P27相连,方向控制位DIR与单片机的T0相连。当DIR置成高电平时,数据从A端口向B端口传送,此时单片机可以通过读取74HC245数据端口即可得到并口数据。打印机状态信号BUSY连接至单片机的P15引脚,并口数据采集控制信号CTRL直接连至单片机的INT1中断引脚,当INT1产生中断时,单片机从并口将数据取走,然后再发送至打印机打印出来。

3 软件设计实现

  软件实现的流程如图3所示。该软件编程是用C语言实现的,通信过程主要包括两部分:初始化和并口数据的采集。

  并口数据的采集是通过中断方式进行的。采集数据的控制信号CTRL连接至单片机的中断INT1引脚,通过不断检测INT1的状态来进行并口数据的采集。当打印机不忙(即BUSY=0)时,如果有INT1中断产生,则从74HC245的数据端口将并口数据读出,同时将打印机忙标志BUSY置1(表示打印机忙)。当数据已经发送至打印机打印时,则将打印机忙标志BUSY置0。然后重复上述步骤进行并口数据的采集及打印。

  初始化过程分两部分:单片机初始化和打印机的枚举初始化。单片机的初始化过程就是直接向相应的I/O口写初始化值及设置看门狗,可调用函数watchdog_init()实现设置看门狗。

      
                  图3软件实现流程图

  打印机的枚举初始化过程很重要,要实现打印采集到的并口数据,首先必须成功地枚举初始化打印机。初始化USB打印机函数init_print()主要用到以下几个主要函数:

  ◇ get_descr(1),获取设备描述符。
  ◇ rd_usb_data(buffer),从CH375中读取数据到单片机中。
  ◇ set_addr(3),设置打印机的USB地址。
  ◇ get_full_descr(buffer),获取配置描述符。
  ◇ set_config(unsigned char cfg),加载USB配置值。

  编者注:具体程序见本刊网站:www.mesnet.com.cn

结语

  本文详细介绍了基于80C51单片机和USB总线通用接口芯片CH375的LPT-USB打印机驱动器设计及C语言实现。经测试表明,利用该设计能够实现并口仪器数据直接经USB打印机打印出来,打印结果正确无误。该设计现已被用于并口仪器上,利用该驱动器,并行口仪器可以直接和USB打印机相连进行打印,极大克服了有些并口仪器必须连接并口打印机才能打印的弊端,从而很大程度上方便了用户。



相关信息
发表评论
打印本页 关闭本页
PHILIPS 80C51系列单片机
  6 Clock 8位 80C51+内核单片机  Philips 8位8051单片机系列提供完整的产品类型,包括Flash、OTP(一次性编程)、ROM和无ROM器件。由于为实时应用而设计,这些80C51器件可以广泛应用于从消费类产品、计算机外设到自动化系统的各种领域。请点击下面的产品编号了解更详细的产品信息。 型号 存贮器 ISP/IAP 定时/计数器 I/O数 串行接口 中断 A/D 最大频率 ...
>>详细内容
80C51上电复位和复位延时的时序分析
    80C51单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。为什么在每次单片机接通电源时,都需要加入一定的延迟时间呢?分析如下。 1 上电复位时序   在单片机及其应用电路每次上电的过程中,由于电源回路中通常存在一些容量大小不等的滤波电容,使得单片机芯片在其电源引脚VCC和VSS之间所感受到的电源电压值VDD,是...
>>详细内容
基于CH375接口电路的LPT-USB打印机驱动器的设计与实现
  1 引言 本课题来源于北京普析通用公司。 由于该公司现有光谱仪器的单机版(如1810和T6等)采用的是并行口打印技术,而随着USB打印机技术的逐渐普及,并行口打印机越来越少,有些用户原有的打印机只是USB接口而非并行口,因此现有仪器对打印机的支持不能适应用户需要。 为了使该公司的并行口仪器直接和USB打印机相连,笔者设计了一种LPT-USB打印机驱动器,实现并口仪器与USB打印机的连接...
>>详细内容
C8051F020与80C51单片机的异同点
  1 引言 80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机,基于标准8051内核的单片机正面临着退出市场的境地。为此,一些半导体公司开始对传统8051内核进行大的构造,主要是提高速度和增加片...
>>详细内容
MC74HC245ANG的技术参数
  产品型号:MC74HC245ANG封装/温度(℃):20PDIP/-55~125描述:八总线接收发送器(三态同相输出)价格/1片(套):¥3.90
>>详细内容
MC74HC245AFELG的技术参数
  产品型号:MC74HC245AFELG封装/温度(℃):20SOEIAJ/-55~125描述:八总线接收发送器(三态同相输出)价格/1片(套):¥3.40
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com