0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PDIUSBD12芯片和ADuC812芯片实现串行总线接口设计

电子设计 来源:微计算机信息 作者:马军;李玉林 2021-05-22 09:51 次阅读

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

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

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

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

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

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

1 PDIUSBD12芯片和ADuC812芯片简介

1.1 PDIUSBD12简介

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

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

基于PDIUSBD12芯片和ADuC812芯片实现串行总线接口设计

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

1.2 ADuC812简介

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

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

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

2 硬件电路设计

由PDIUSBDl2和ADuC812构成的USB接口电路如图2所示。PDIUSBDl2的8位并行数据接人ADuC812的PO口,地址线A15(P2.7)作为PDIUSBDl2的片选,地址线A14(P2.6)作为PDIUSBDl2的命令或数据的选择线。在片选信号有效的前提下(P2.7=0),当P2.6=1时,给PDIUSBDl2发命令;当P2.6=0时,给PDIUSBDl2写数据或从PDIUSBDl2的Buffer中读数据;因此,地址0x7FFF发命令,地址0x3FFF读写数据。PDIUSBDl2与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一数据线低时,就为低速。PDIUSBBDl2的全速模式通过软连接(SoftConnectTM)在D十上接1个1.5k12的上拉电阻。

3 固件设计

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

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

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

4 结 语

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47788

    浏览量

    409117
  • 计算机
    +关注

    关注

    19

    文章

    6649

    浏览量

    84522
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87211
收藏 人收藏

    评论

    相关推荐

    基于PDIUSBD12的USB控制器的设计

    本帖最后由 eehome 于 2013-1-5 09:54 编辑 基于PDIUSBD12的USB控制器的设计USB是一种新型的通用串行总线,它具有即插即用、可热插拔和传输速率高的特点,在工业界
    发表于 03-24 13:28

    基于PDIUSBD12的USB控制器的设计

    使用现存的体系结构并使设备软件投资成本减少,是开发低成本,高效率的USB外围设备的最佳途径。 PDIUSBD12特性:(1) 符合通用串行总线USB1.1版规范(2)高性能USB接口器件集成了SIE
    发表于 03-28 15:15

    USB接口芯片PDIUSBD12概述

    PDIUSBD12是一款性价比很高的USB器件。它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口。它还支持本地的DMA传输。这种实现USB
    发表于 04-02 13:52

    USB接口器件PDIUSBD12接口应用设计

    系统,因此开发成本较高;而后一种只是一个芯片与MCU接口实现USB通信功能,因此成本较低,而且可靠性高。本文主要介绍PHILIPS公司的PDIUSBD12器件。1 PDIUSBD12
    发表于 04-13 10:38

    aduc812

    哪位高手有ADUC812详细的中文资料手册啊急需!!谢谢
    发表于 03-17 11:24

    寻找aduc812下载程序

    本很久以前用过aduc812,现又使用,程序写好了,@@@@但找不到下载程序,哪位朋友有aduc812的下载程序,请发一份(hujingan@163.com),不胜感激,谢谢!急!!!
    发表于 09-06 14:21

    微转换器软件开发工具-ADuc812

    - ASM51: 8051 Cross Assembler- ADSIM812: ADuC812 Windows Simulator- DEBUG812: ADuC812 Debugg
    发表于 06-12 15:04 53次下载

    pdiusbd12芯片介绍

    pdiusbd12芯片介绍
    发表于 04-17 23:14 3610次阅读
    <b class='flag-5'>pdiusbd12</b><b class='flag-5'>芯片</b>介绍

    微控制器AduC812的P1口的应用

      1 AduC812的通用数据端口   AduC812是一种新型的高度集成的高精度12位数据采集系统。在其片内,不仅包
    发表于 11-01 10:39 1487次阅读
    微控制器<b class='flag-5'>AduC812</b>的P1口的应用

    ADuC812中文资料

    ADUC812使用手册,中文版…………………………………………………………………………
    发表于 11-17 14:37 38次下载

    PDIUSBD12在USB接口设计中的应用

    PDIUSBD12在USB接口设计中的应用。
    发表于 01-22 14:14 0次下载

    基于PDIUSBD12芯片的USB通信模块原理设计

    基于PDIUSBD12芯片的USB通信模块原理设计。
    发表于 01-22 14:27 25次下载

    PDIUSBD12芯片的USB通信模块原理设计

    PDIUSBD12芯片的USB通信模块原理设计
    发表于 08-31 09:36 13次下载
    <b class='flag-5'>PDIUSBD12</b><b class='flag-5'>芯片</b>的USB通信模块原理设计

    采用PDIUSBD12芯片ADuC812芯片实现串行总线接口设计

    PDIUSBD11(I2C)和PDIUSBD12(并行接口)。因此在USB设备开发之前必须根据具体要求选用合适的USB接口芯片,以降低开发
    发表于 04-04 10:45 1428次阅读
    采用<b class='flag-5'>PDIUSBD12</b><b class='flag-5'>芯片</b>和<b class='flag-5'>ADuC812</b><b class='flag-5'>芯片</b><b class='flag-5'>实现</b><b class='flag-5'>串行</b><b class='flag-5'>总线</b><b class='flag-5'>接口</b>设计

    ADuC812快速参考指南

    ADuC812快速参考指南
    发表于 05-11 18:06 9次下载
    <b class='flag-5'>ADuC812</b>快速参考指南