新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 经USB端口的模拟和数字I/O(04-100)

经USB端口的模拟和数字I/O(04-100)

——
作者:时间:2008-03-28来源:电子产品世界收藏

  尽管DAC是12位器件,但它可以接收16个时钟脉冲,它仍然能正确工作,这是因为恰当地选通*CS输入。因为它首先接收数据MSB,所以,bit0必须在数字输出字bit16相同时间发送,bit11与数字输出字bit4的相同时间发送,这靠软件实现。
ADC具有内部2.048V基准和倍数2放大器,因此,毫伏输出是方便的等效码。

本文引用地址:http://www.eepw.com.cn/article/80860.htm

  数据输入

  数据输入过程如下:

  ·打开器件;

  ·从模块中读表示数据的字符串;

  ·关闭器件。

  为了从模块中读数据到PC,程序汇编锁存在74HC589输入寄存器中的字符中,此时再次用bit1。字符串其后的字符再次选通bit7低态和高态,选通U3a(图1)并送其Q输出为1。U3a的Q和*Q输出信号控制74HC589器件的*SLOAD输入和LTC1286的*CS输入。它也去除来自U4的复位信号,允许工作直到其Q9输出变逻辑1为止,通过U3b复位U3a。当U4工作时,其Q4输出提供16个时钟沿来选通来自LTC1286的数据输入。此信号经反相器也选通74HC589(图2)和模块的*WR输入。74HC589和LTC1286 ADC(图3)在时钟沿的不同极性转换数据,而电路能确保USB模块在有效时钟沿之间的中间状态接收数据。

  来自USB模块的和数字数据分别从模块返回字符串中bit6和bit4获得。在*CS有效之后,ADC在第4个时钟脉冲给出其输出的最高有效位(D11),其他位紧随其后,在第15个时时脉冲输出最低有效位(D0)。为了与数字输入具有共性,电路中给出第16个时钟脉冲;在第16个脉冲期间,ADC再一次输出D1。因此,软件除去USB所接收的转换数据最后1位,并转送剩余的其他正确位。

  因为时钟率必须低于单纯数字情况下的时钟率,所以,不需要来自USB模块的*TXE信号。在此采用4MHz振荡器连率,需要选择U4的不同输出以获得ADC所用的低于200KHz时钟率。

  在ADC之前有一个1增益运放,提供高输入阻抗并使ADC所产生的噪声与输入隔离。电位器(图3)补偿放大器漂移并设置到零输入电压时ADC读出零。本文所用ADC是12位器件,其输出码是:4096×Vin/Vref,其中Vref是由LM3852-2.5提供的2.5V电压。

  软件

  软件分为三部分:

  ·专用于本系统的Visnal Basic码;

  ·码编译版本;

  ·包含动态链路数据库(DLL)的.Zip文件,这可使Visual Basic存取需要控制USB模块的函数并能驱动此模块。这可从Future Technology Devices International公司的网站(http://www.ftdichip.com)下载。■


上一页 1 2 3 4 下一页

关键词: USB 模拟 数字I/O

评论


相关推荐

技术专区

关闭