欢迎来到亿配芯城! | 免费注册
你的位置:RUNIC(润石)线性稳压器(LDO)转换器/电平移位器IC芯片全系列-亿配芯城 > 芯片资讯 > 基于PDIUSBD12芯片和ADuC812芯片实现串行总线接口设计
基于PDIUSBD12芯片和ADuC812芯片实现串行总线接口设计
发布日期:2024-08-23 08:00     点击次数:75

跟着计算机技能和信息技能的飞速发展,计算机外设种类的增多与有限的主板插槽和端口之间的矛盾日益杰出,由Intel,Microsoft等公司联合制定的总线接口规范即通用串行总线(Universal Serial Bus, USB)的呈现,ic交易网为解决这一矛盾提出了最好的解决方案。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接口的微操控器(MCU),这些微操控器有些是从底层专用于USB操控的,比方Cypress半导体公司的CY7C63xxx(低速)、CY7C64013(全速),这类微操控器有自己的体系结构和指令;有些微操控器仅仅增加了USB接口的通用芯片(基于8051内核),比方Intel公司的8x931,8x930,Cypress半导体公司的EZUSB;另一类是朴实的USB接口芯片,他需求一个外部微操控器操控,比方朗讯公司的USS820/825,National半导体公司的USBN9602,NetChip公司的NET2888,Philips公司的PDIUSBD11(I2C)和PDIUSBD12(并行接口)。因此在USB设备开发之前有必要根据具体要求选用合适的USB接口芯片,以降低开发成本、削减开发时间。本文以PDIUSBD12为USB接口芯片,以ADuC812为操控器完结了USB接口的规划。

1-1.png

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 FIFO存储器、收发器(Transceiver)和电压调节器,其原理框图如图1所示。还有可编程的时钟输出和状况LED输出(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位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封装,巨细约为1 cm2。

一起,AD公司还为ADuC812的开发供给了完好的硬件调试工具和开发仿真软件,RUNIC(润石)线性稳压器(LDO)转换器/电平移位器IC芯片 使得开发变得简单便利。因此,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接口有问题。

1-2.png

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的内部ROM中,称之为固件(firmware)。

1-3.png

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)的规定,描述符数据包含设备描述符、装备描述符、接口描述符、端点描述符、字符串描述符。

1-4.png

1-5.png

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

4、结语

该USB接口适合于高速数据采集体系与主机进行数据通讯,一起,他也为便携式体系供给了便利、方便和可靠的接口解决方案。现在,USB已经广泛地应用在PC的外设上,特别是USB 2.0协议推出后,数据传输才能和速度大大提高,使得USB数码相机、数码摄像机能在短时间内完结大容量的图画传输。此外,USB的杰出特色使得他必将在更宽广的范畴得到应用。