新聞中心

        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.104case.com/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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌兰浩特市| 怀集县| 澜沧| 安国市| 忻城县| 扬中市| 赤水市| 正镶白旗| 连平县| 威信县| 平凉市| 鄂尔多斯市| 宁陵县| 罗山县| 漳浦县| 日照市| 株洲县| 旌德县| 巴彦淖尔市| 宣化县| 阜新| 清新县| 拜泉县| 贵定县| 庆云县| 巩留县| 嘉鱼县| 乐都县| 资源县| 阳高县| 博白县| 五家渠市| 徐闻县| 科技| 莱州市| 隆回县| 隆安县| 伊吾县| 疏勒县| 清苑县| 泽普县|