經(jīng)USB端口的模擬和數(shù)字I/O(04-100)
盡管DAC是12位器件,但它可以接收16個(gè)時(shí)鐘脈沖,它仍然能正確工作,這是因?yàn)榍‘?dāng)?shù)剡x通*CS輸入。因?yàn)樗紫冉邮諗?shù)據(jù)MSB,所以,bit0必須在數(shù)字輸出字bit16相同時(shí)間發(fā)送,bit11與數(shù)字輸出字bit4的相同時(shí)間發(fā)送,這靠軟件實(shí)現(xiàn)。
ADC具有內(nèi)部2.048V基準(zhǔn)和倍數(shù)2放大器,因此,毫伏輸出是方便的等效碼。
數(shù)據(jù)輸入
數(shù)據(jù)輸入過程如下:
·打開器件;
·從USB模塊中讀表示數(shù)據(jù)的字符串;
·關(guān)閉器件。
為了從USB模塊中讀數(shù)據(jù)到PC,程序匯編鎖存在74HC589輸入寄存器中的字符中,此時(shí)再次用bit1。字符串其后的字符再次選通bit7低態(tài)和高態(tài),選通U3a(圖1)并送其Q輸出為1。U3a的Q和*Q輸出信號(hào)控制74HC589器件的*SLOAD輸入和LTC1286的*CS輸入。它也去除來自U4的復(fù)位信號(hào),允許工作直到其Q9輸出變邏輯1為止,通過U3b復(fù)位U3a。當(dāng)U4工作時(shí),其Q4輸出提供16個(gè)時(shí)鐘沿來選通來自LTC1286的數(shù)據(jù)輸入。此信號(hào)經(jīng)反相器也選通74HC589(圖2)和USB模塊的*WR輸入。74HC589和LTC1286 ADC(圖3)在時(shí)鐘沿的不同極性轉(zhuǎn)換數(shù)據(jù),而電路能確保USB模塊在有效時(shí)鐘沿之間的中間狀態(tài)接收數(shù)據(jù)。
來自USB模塊的模擬和數(shù)字?jǐn)?shù)據(jù)分別從模塊返回字符串中bit6和bit4獲得。在*CS有效之后,ADC在第4個(gè)時(shí)鐘脈沖給出其輸出的最高有效位(D11),其他位緊隨其后,在第15個(gè)時(shí)時(shí)脈沖輸出最低有效位(D0)。為了與數(shù)字輸入具有共性,電路中給出第16個(gè)時(shí)鐘脈沖;在第16個(gè)脈沖期間,ADC再一次輸出D1。因此,軟件除去USB所接收的轉(zhuǎn)換數(shù)據(jù)最后1位,并轉(zhuǎn)送剩余的其他正確位。
因?yàn)闀r(shí)鐘率必須低于單純數(shù)字情況下的時(shí)鐘率,所以,不需要來自USB模塊的*TXE信號(hào)。在此采用4MHz振蕩器連率,需要選擇U4的不同輸出以獲得ADC所用的低于200KHz時(shí)鐘率。
在ADC之前有一個(gè)1增益運(yùn)放,提供高輸入阻抗并使ADC所產(chǎn)生的噪聲與輸入隔離。電位器(圖3)補(bǔ)償放大器漂移并設(shè)置到零輸入電壓時(shí)ADC讀出零。本文所用ADC是12位器件,其輸出碼是:4096×Vin/Vref,其中Vref是由LM3852-2.5提供的2.5V電壓。
軟件
軟件分為三部分:
·專用于本系統(tǒng)的Visnal Basic碼;
·碼編譯版本;
·包含動(dòng)態(tài)鏈路數(shù)據(jù)庫(kù)(DLL)的.Zip文件,這可使Visual Basic存取需要控制USB模塊的函數(shù)并能驅(qū)動(dòng)此模塊。這可從Future Technology Devices International公司的網(wǎng)站(http://www.ftdichip.com)下載。■
評(píng)論