77范文网 - 专业文章范例文档资料分享平台

单片机和USB接口技术(3)

来源:网络收集 时间:2019-06-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

图 4 PBIUSBBI2的管脚配置

3.5 A/D与单片机接口电路

ADC0809允许的最大时钟频率为1280kHz,主要管脚功能如下:

INO-IN7: 8路模拟量输入端,可从这8个脚输入0V-5V待转换的模拟电压ADDA,ADDB,ADDC:管道地址输入端。通过编码的方式来实现管道地址的选择。

CLOCK:时钟输入端。ADC0809只有在时钟脉冲信号的同步下才能进行A/D转换时钟频率越高转换得越快。典型时钟频率是640kHz。

ALE:地址锁存允许端。

START:启动脉冲输入端。在时钟脉冲频率为640kHz时,START脉宽应大于100ns-200ns。 EOC:转换结束信号端。在A/D转换期间,EOC=0表示转换正在进行,输出数据不可信,转换完毕后立即使EOC=1表示转换已经完成,输出数据可信。

D7-DO:转换所得八位输出数据,D7是最高位,而DO是最低位。

OE:允许输出端。OE端控制输出锁存器的三态门。当OE=1时,转换所得数据出现在D7-D0脚,当OE-0时D7-DO脚对外是高阻抗。

89C52通过P1.4和读、写控制线来控制转换器的模拟输入通道地址锁存、启动和允许输出。编程时注意启动AD0809后,EOC在一定时间才能变成低电平。

11

表5 PD12的管脚功能

12

图5 ADC0809与89C52的接口电路

3.6 PDIUSBD12与单片机接口电路

PDIUSBD12与89C52的连接电路如图6所示。89C52的ALE和PD12的ALE相接,表示采用单独地址和数据总线配置。其AO脚接高电平用于控制命令或数据输入到PDIUSBD I2,也就是编程中outportcmd()和outportdata()函数。此外89C52的多位地址/数据复用总线PO可直接与PDIUSBD12的数据总线相连,CLKOUT时钟输出为89C52提供时钟输入。在该数据采集系统中,用ADC0809采集0-5V的电压信号,经A/D转换后将数字量存入预先设定的缓冲区里,利用接口芯片D12将数据送至USB总线上。设备应用程序从缓冲区里取数据显示,通过数值来说明USB接口的采集速率比一般的串行总线速度高。当前端的电压信号不断变化的同时,在PC上可以观察到数据的变化,这就表明利用USB接口在数字采集系统中进行数据传输是能够实现的,而且能够很好的实现,硬件电路原理图祥见附图。

4 系统软件

4.1 PDIUSBD12的固件编程

4.1.1 PDIUSBD12的固件编程思想

PDIUSBD 12是一款带有并行总线和局部DMA传输能力的高速USB接口器件,固件设计的目标

13

就是使PDIUSBD 12在USB上达到最大的传输速率。外围设备例如打印机、扫描仪、外部的海量存储器和数码相机都可使用PDIUSBD 12在USB上传输数据。这些设备的CPU要忙于处理许多设备控制和数据以及图像处理等任务。PDIUSBD 12的固件设计成完全的中断驱动。当CPU处理前台任务时,USB的传输可在后台进行。这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。

图6 PDIUSBD12与89C52的连接电路

图7 前后台工作原理

后台ISR(中断服务程序)和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现。其原理图如图7所示。例如,PDIUSBD12的批量输出端点可使用循环的数据缓冲区,当PDIUSBD12从USB收到一个数据包,那么就对CPU产生一个中断请求,CPU立即响应中断。ISR中固件将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区,并在随后清零PDIUSBD12的内部缓冲区以使能接收新的数据包。CPU可以继续它当前的前台任务直到完成,例如打印当前页。然后返回到主循环检查循环缓冲区内是否有新的数据并开始其它的前台任务。

由于这种结构,主循环不关心数据是来自USB串口还是并口,它只检查循环缓冲区内需要处理

14

的新数据。这个概念很重要,这样主循环程序专注于数据的处理而ISR能够以最大可能的速度进行数据的传输。

相似的,控制端点在数据包处理时采用了同样的概念。ISR接收和保存数据缓冲区中的控制传输并设置相应的标志寄存器。主循环向协议处理程序发出请求。由于所有的标准器件,级别和厂商请求都是在协议处理程序中进行处理,ISR得以保持它的效率,而且一旦增加新的请求只需要在协议层进行修改。

4.1.2 PDIUSBD12固件编程的结构

固件的积木式结构如图8所示,图中箭头表示数据传输方向。

主循环:采集数据,发出USB请求,和处理USB总线事件和用户功能等等 MAINLOOP.C 中断服务程序 标准请求处理 厂商请求处理 ISR. C CHAP 9. C PROTODMA.C PDIUSBD12命令接口 D12CI. C 硬件提取层 EPPHAL. C

图8 固件结构和数据流向

下面是事件标志“EPPFLAGS”和Setup包数据缓冲区“CONROL_ XFER”的结构 体:

//事件标志

typedef union_ epp_ flags

15

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机和USB接口技术(3)在线全文阅读。

单片机和USB接口技术(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/652944.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: