采用PDIUSBD12芯片和ADuC812芯片实现串行总线接口设计
0 2023-03-27

随着技术和信息技术的飞速发展,计算机外设种类的增多与有限的主板插槽和端口之间的矛盾日益突出,由,crosoft等公司联合制定的总线规范即通用串行总线(Univeal Serial Bus, )的出现,为解决这一矛盾提出了最好的解决方案。USB具有以下特点:

(1)有较高的传输速率USB 1.1支持全速和低速2种方式。全速速率为12 Mb/s,低速速率为1.5 Mb/s;USB 2.0除支持USB 1.1的2种速度方式外,还增加了速率可达480 Mb/s的高速方式。

(2)他的使用方便灵活USB支持即插即用和热插拔,他允许在任何时候连接和断开外设,当外设被连接时,系统会自动检测到外设并准备使用。

(3)他易于扩展通过根集线器可携带127个设备,真正实现多个外设共用一个接口。

此外,USB还有可靠性高、成本低、功耗小等优点而倍受欢迎。

目前供于开发USB设备的芯片很多,但主要有2类:一类是带USB接口的微控制器(),这些微控制器有些是从底层专用于USB控制的,比如半导体公司的CY7C63xxx(低速)、CY7C64013(全速),这类微控制器有自己的系统结构和指令;有些微控制器只是增加了USB接口的通用芯片(基于8051内核),比如Inl公司的8x931,8x930,Cypress半导体公司的EZUSB;另一类是纯粹的USB,他需要一个外部微控制器控制,比如朗讯公司的USS820/825,Naonal半导体公司的USBN9602,NetChip公司的NET2888,Philips公司的PDIUSBD11()和PDIUSBD12(并行接口)。因此在USB设备开发之前必须根据具体要求选用合适的USB接口芯片,以降低开发成本、减少开发时间。本文以PDIUSBD12为USB接口芯片,以ADuC812为控制器完成了USB接口的设计。

1、PDIUSBD12芯片和ADuC812芯片简介

1.1PDIUSBD12 简介

PDIUSBD12是Philips公司推出的一款特点突出的USB接口芯片。该芯片使用8位并行数据线连接到MCU,1位地址线用来区分写命令或读写数据,他支持3个USB端点,1个端点能保存128 B,另2个能保存256 B。

PDIUSBD12完全遵从USB 1.1协议,他内部集成有串行接口引擎(SIE)、320 b FO、(Transceiver)和电压调节器,其原理框图如图1所示。还有可编程的输出和状态输出(GoodLinkTM),可控制的软件连接(SoftConnectTM)以及内部上电复位和低电压复位。有2种电源供电方式:内部3.3±0.3 V电源和外部电源(电压范围3.6~5.5 V)。温度范围为-40℃~+85 ℃,采用28脚SSOP封装。

对外部微控制器没有任何限制,开发者可以选用自己熟悉的MCU来控制。多种中断方式方便于块传输(Bulk)和同步传输(Isochronous),使用块传输方式时的速度可达1 Mb/s,同步传输的速度可达1 Mb/s。他适合大多数USB设备类的设计:图像设备类、大容量设备类、通信设备类、打印设备类、人机接口设备类等。

1.2ADuC812简介

ADuC812是美国AD公司首先投入市场的微处理器,其内部集成了完整的8052内核、1个8通道的12位、2个12位的电压输出,除了8052的256 b 外,还有640 b Flash数据存储器,8 kb Flash程序存储器。

另外该MCU还有、电源监视器、ADC与数据存储器之间的功能,以及为多处理器接口和扩展提供了32条可编程的I/O线、I2C兼容的S和标准串行I/O等。他采用52脚PQF封装,大小约为1 cm2。

同时,AD公司还为ADuC812的开发提供了完整的硬件调试工具和开发仿真软件,使得开发变得简单方便。因此,ADuC812由于体积小、功耗低、性价比高而极具诱人的应用前景。

2、硬件电路设计

由PDIUSBD12和ADuC812构成的USB接口电路如图2所示。PDIUSBD12的8位并行数据接入ADuC812 的P0口,地址线A15(P27)作为PDIUSBD12的片选,地址线A14(P2.6)作为PDIUSBD12的命令或数据的选择线。在片选信号有效的前提下(P2.7=0),当P2.6=1时,给PDIUSBD12发命令;当P2.6=0时,给PDIUSBD12写数据或从PDIUSBD12的 Buffer中读数据;因此,地址0x7FFF发命令,地址0x3FFF读写数据。PDIUSBD12与ADuC812的数据交换采用中断方式(外部中断0)。他的一个输出(GL-N)接LED对其状态进行,这个LED在USB被连接时会发光,在进行数据传输时会闪烁,LED常亮或一直不亮说明USB接口有问题。

USB设备通过4线接入主机或USB Hub,这4线分别是:VCC(总线电源),GND(地线),D 和D-(数据线)。主机通过D 和D-上的电压变化来检测到设备的状态,当没有设备连接到USB端口时,D 和D-线上的下拉就将2条数据线拉到近地,当检测到任一条数据线电压接近VCC,而其他保持近地电压,那么主机就知道该设备已经准备好了。

主机通过检测是哪一条数据线电压变高来确定设备是全速或低速,当D 数据线高时,就为全速;当D-数据线低时,就为低速。PDIUSBBD12的全速模式通过软连接(SoftConnectTM)在D 上接1个1.5kΩ的上拉电阻。

3、固件设计

当设备连接到主机以后,主机通过给PDIUSBD12的端点0发送包含标准USB请求的控制传输(即Setup包),PDIUSBD12产生一个中断给MCU(INT0),MCU通过读PDIUSBD12的中断和最后一次传输状态寄存器来对每一个请求作出响应,并通过PDIUSBD12的端点0回送请求信息。主机从返回的信息中读取描述数据,分配和载入一个设备驱动程序并对设备进行配置。设备被配置好后,就可以使用配置中支持的端点来传输数据。这一部分工作由MCU来控制完成,并且该控制程序需要固化在ADuC812的内部中,称之为固件(firmware)。

PDIUSBD12的端点0有3个状态,其变化关系如图3所示,固件程序必须利用这3种状态关系来正确地处理控制传输。把主机通过PDIUSBD12的端点0给设备发USB请求设为OUTs,通过端点0接收数据设为INs。MCU处理来自主机的Setup包(Control Out)的软件流程图如图4所示,MCU通过PDIUSBD12的控制端点0给主机发送描述符数据(Control In)的软件流程图如图5所示。PDIUSBD12的描述符数据必须严格遵循USB 1.1协议第九章(Chap9)的规定,描述符数据包括设备描述符、配置描述符、接口描述符、端点描述符、串描述符。

完成PDIUSBD12的固件(Firmware)程序后,在USB设备驱动程序的开发中使用了Jungo公司的WinDriver 5.03,应用程序的开发使用的是VC 6.0。

4、结语

该USB接口适合于高速系统与主机进行,同时,他也为便携式系统提供了方便、快捷和可靠的接口解决方案。目前,USB已经广泛地应用在PC的外设上,特别是USB 2.0协议推出后,数据传输能力和速度大大提高,使得USB数码相机、数码摄像机能在短时间内完成大容量的图像传输。此外,USB的突出特点使得他必将在更广阔的领域得到应用。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 工业
  • 安防
  • 航空
  • CAN
  • 详解SerDes的原理

    01SerDes简介首先我们要了解什么是SerDes,SerDes的应用场景又是什么呢?SerDes又有哪些

    7小时前
  • Linux文件系统深度剖析,还不会算我输!

    Linux 文件系统体系结构是一个对复杂系统进行抽象化的有趣例子。通过使用一组通用的 API 函数,Linu

    7小时前
  • 弱电工程常用网络知识?

    我们现在做的弱电工程,经常用到网络知识,比如vlan、三层交换机、网关、DNS、子网掩码、MAC地址等方面的知识,作为从业人员,我们对这些知识了解并熟知的. 一、什么是VLAN VLAN中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以

    昨天
  • 继电器电路原理

    是时候关注我们一波了继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通

    昨天
  • 发电机工作原理与作用-常见故障及解决办法

    汽车上蓄电池的电能有限,在它放电以后必须及时进行补充充电,因此汽车上还必须装备充电系统。充电系统由发电机、调节器和充电状态指示装置组成。

    前天
  • 详解LIN总线技术

    LIN是CAN和SAE J1850协议的补充性协议,针对时间要求不高或不需要精确容错的应用。

    06-06
  • 电机烫得不行?怎么办?

    本文介绍电机温度过高的原因和解决方法。\x0a

    06-06
  • CAN节点发送错误不成功,怎么办?

    CAN总线上的每个节点往总线上发送数据的同时,会读取总线上的数据,并与自己发送的数据作对比。

    06-06
  • 无刷电机霍尔信号的滤波电路

    如图1是无刷电机霍尔信号的滤波电路,为了保证波形质量,简单的阻容滤波并不能完全解决实际复杂的工作环境所带来的

    06-05
  • LED驱动器中I2C的LED控制方式

    现在大街上随处可见的LED显示屏,还有装饰用的LED彩灯以及LED车灯,处处可见LED灯的身影,LED已经融入到生活中的每一个角落。LED无疑是当前最热的一个应

    06-02
  • 电平有关集成逻辑电路和rs232串口的基本知识

    [导读]手机串口一般是CMOS电平,当把android手机当做开发板上的一个器件(比如利用android系统自带的GPRS模块,wifi模块,语音视频模块等等)

    06-02
  • 如何评估CAN信号的质量?

    CAN总线广泛应用于汽车电子、现代工业及军工航空等安全要求较高的领域,优质的CAN信号是各节点稳定通信的基础,那么,如何判断总线信号质量的优劣呢?我们可以对信号

    05-31
下载排行榜
更多
广告