當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]以Ez—USB FX2作為USB接口芯片設(shè)計(jì)一種數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)應(yīng)用EZ—USB FX2芯片構(gòu)建單片機(jī)和主機(jī)的數(shù)據(jù)管道,接口符合USB2.0協(xié)議。詳細(xì)介紹該系統(tǒng)的硬件組成和軟件設(shè)計(jì),包括FX2的固件設(shè)計(jì)和主機(jī)用戶程序。EZ—USB FX2芯片工作在從屬FIFO方式下,通過(guò)適當(dāng)?shù)呐渲每膳c單片機(jī)方便地進(jìn)行連接,單片機(jī)可以像訪問(wèn)外部存儲(chǔ)器一樣訪問(wèn)FX2的端點(diǎn)。主機(jī)應(yīng)用程序通過(guò)USB接口向設(shè)備發(fā)送相應(yīng)的命令來(lái)控制采樣過(guò)程。該系統(tǒng)硬件擴(kuò)展方便、編程簡(jiǎn)單。

 在工業(yè)生產(chǎn)和科學(xué)技術(shù)研究中,常利用PC或工控機(jī)對(duì)各種數(shù)據(jù)進(jìn)行采集,以獲得所需要的控制信息和實(shí)驗(yàn)數(shù)據(jù)。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)多以ISA,EISA或PCI插卡的形式完成數(shù)據(jù)傳輸,這種方式存在安裝麻煩,受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源限制,可擴(kuò)展性差等缺點(diǎn)。由于通用串行總線(Universal Serial Bus.USB)具有自動(dòng)被系統(tǒng)識(shí)別.自動(dòng)安裝驅(qū)動(dòng)程序、自行進(jìn)行系統(tǒng)配置,以及支持不同速率的同步和異步傳輸方式,支持熱插拔和即插即用(Plug and Play,PNP)等優(yōu)點(diǎn),已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì)。目前實(shí)現(xiàn)USB數(shù)據(jù)傳送多采用專用的USB接口芯片,文獻(xiàn)采用的PDIUSBDl2可支持USBl.1協(xié)議,文獻(xiàn)E37采用的接口芯片為USBl00也僅支持USBl.1協(xié)議,文獻(xiàn)采用CP2102符合USB2.0協(xié)議,其通用的驅(qū)動(dòng)程序可將設(shè)備作為虛擬的COM端口設(shè)備進(jìn)行操作,文獻(xiàn)采用Philips公司ISPl581芯片作為USB2.0的接VI芯片’。這里采用Cypress公司的CY7C68013作為USB接口芯片,設(shè)計(jì)實(shí)現(xiàn)了基于單片機(jī)和USB2.0的數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)可實(shí)現(xiàn)單通道模擬信號(hào)的采集,主機(jī)應(yīng)用程序負(fù)責(zé)啟動(dòng)和停止采樣,采樣間隔時(shí)間由主機(jī)應(yīng)用程序設(shè)置調(diào)整,采樣數(shù)據(jù)傳給主機(jī)應(yīng)用程序顯示并保存。

1 系統(tǒng)硬件設(shè)計(jì)
1.1 系統(tǒng)硬件組成

    整個(gè)系統(tǒng)的硬件結(jié)構(gòu)如圖l所示。AT89C52為主控單片機(jī),負(fù)責(zé)控制A/D轉(zhuǎn)換、上傳采集數(shù)據(jù)、接收并執(zhí)行主機(jī)的命令。CY7C68013為USB接口芯片。A/D轉(zhuǎn)換芯片采用TI公司生產(chǎn)的TLC549,AD780是一款高精度參考電壓芯片,可為TLC549提供2.5 V或 者3.0 V的參考電壓。系統(tǒng)+5 V電源由主機(jī)的USB 接口提供,CY7C68013所需的電源為+3.3 V,由+5 v 電源接穩(wěn)壓芯片APlll7提供,圖中沒有畫出。

1.2 TLC549
    TLC549是以8位開關(guān)電容逐次逼近A/D轉(zhuǎn)換器為基礎(chǔ)而構(gòu)造的CMOS A/D轉(zhuǎn)換器,將其設(shè)計(jì)成能通過(guò)三態(tài)輸出與微處理器或外圍設(shè)備串行接VI。TLC549用輸入/輸出時(shí)鐘(I/O CLOCK)和芯片選擇(CS)輸入作數(shù)據(jù)控制,轉(zhuǎn)換結(jié)果由DATAOUT引腳輸出。I/o CLOCK端的最高頻率可達(dá)1.1 MHz。TLC一549片內(nèi)系統(tǒng)時(shí)鐘工作在4 MHz(不需要外部時(shí)鐘)。片內(nèi)系統(tǒng)時(shí)鐘使內(nèi)部器件的操作獨(dú)立于串行輸入/輸出時(shí)序并允許TLC549像許多軟件和硬件所要求的那樣工作。I/O CLOCK和內(nèi)部系統(tǒng)時(shí)鐘可以實(shí)現(xiàn)高速數(shù)據(jù)傳送,使得TLc549可實(shí)現(xiàn)40 kHz的采樣頻率。TLC549具有通用控制邏輯及自動(dòng)工作或在微處理器控制下工作的片內(nèi)采樣/保持電路,差分高阻抗基準(zhǔn)電壓輸入端,易于實(shí)現(xiàn)比例轉(zhuǎn)換的高速轉(zhuǎn)換器,定標(biāo)及隔離電路。整個(gè)開關(guān)電容逐次逼近轉(zhuǎn)換器電路的設(shè)計(jì)允許在小于17μs的時(shí)間內(nèi),以最大誤差±0.5為最低有效位的精度實(shí)現(xiàn)轉(zhuǎn)換。
1.3 CY7(368013及其固件程序
    EZ—USB FX2系列芯片CY7C68013是業(yè)界第一個(gè)支持USB2.0,同時(shí)向下兼容USBl.1規(guī)范的單片機(jī),為描述方便以下簡(jiǎn)稱該芯片為FX2。FX2支持全速傳輸(12 Mb/s)和高速傳輸(480 Mb/s),該芯片將USB2.O收發(fā)器、串行接口引擎SIE、增強(qiáng)的8051內(nèi)核、GPIF等集成于一體。FX2內(nèi)含4 KB的端點(diǎn)緩沖區(qū)F1FO,可以被配置為具有不同大小緩沖區(qū)的IN或OUT端點(diǎn)(EP2,EP4,EP6,EP8),具有USB協(xié)議所規(guī)定的4種傳輸方式,即控制方式、中斷方式、批量傳輸、和同步傳輸方式。Cypress公司為FX2提供了完善的軟件開發(fā)工具包,降低了開難度,加快了開發(fā)進(jìn)度。
    FX2可以工作在3種不同的模式下完成USB數(shù)據(jù)的傳輸,即:Ports模式、GPIF模式和Slave FIFO模式。Ports模式下其uSB數(shù)據(jù)的傳輸主要在FX2的8051內(nèi)核參與下完成,數(shù)據(jù)傳輸通過(guò)執(zhí)行指令實(shí)現(xiàn),因此數(shù)據(jù)的傳輸率比較低,對(duì)大批量數(shù)據(jù)傳輸一般采用后兩種方式。GPIF方式,稱為通用可編程接口方式,在此模式下,F(xiàn)X2的FIFO是由內(nèi)部的GPIF控制的,F(xiàn)X2利用由軟件編程輸出讀寫控制波形讀取FIFO標(biāo)志,控制FIFO的選通,并且對(duì)外部設(shè)備提供了用戶專用接口,可以對(duì)許多通用總線接口進(jìn)行訪問(wèn),如ASIC,DSP和存儲(chǔ)器等。文獻(xiàn)利用FX2的GPIF方式構(gòu)建了LISB數(shù)據(jù)傳輸通道。Slave FIFO方式是將FX2的FIFO作為外部控制器(如FPGA或單片機(jī))的從屬FIFO,外部控制器可像普通FIFO操作一樣對(duì)FX2的FIFO進(jìn)行讀寫,而不考慮該包的大小,傳輸速率可明顯提高,文中FX2在Slave FIFO模式下工作。FX2有3種封裝形式:128引腳、100引腳和56引腳,這里選用FX2的56引腳的封裝形式。
    FX2芯片在使用時(shí)必須先下載固件程序,固件程序主要負(fù)責(zé)完成芯片初始化,對(duì)芯片進(jìn)行必要的配置、處理設(shè)備請(qǐng)求、進(jìn)行數(shù)據(jù)傳輸?shù)认鄳?yīng)工作。用戶通過(guò)編寫適當(dāng)?shù)墓碳绦蛲瓿蓪?duì)FX2的設(shè)置。Cypress公司提供了一個(gè)固件程序開發(fā)框架可以大大簡(jiǎn)化FX2芯片固件程序的開發(fā)難度。通過(guò)編寫用戶初始化函數(shù)TD_Init(),用戶可以規(guī)定各種端點(diǎn)資源的使用以及配置外圍接口的輸入/輸出等。其主要配置語(yǔ)句如下:

    [!--empirenews.page--]
    固件程序?qū)X2配置為異步Slave FIFl0模式,總線寬度8位,在4個(gè)端點(diǎn)中,EP4和:EP8未被使用,EP2和EP6的配置如表1所示。由于采用自動(dòng)輸入/輸出模式,主機(jī)和單片機(jī)通過(guò)旁路FX2的CPU直接連接,所有數(shù)據(jù)被直接通過(guò)FIFO管道提交,不需固件程序干預(yù)。在FX2的slave FIF0模式下,F(xiàn)IFOADR[1:0]引腳作為地址線選擇某個(gè)端點(diǎn),SLCS相當(dāng)于片選信號(hào),SLwR(寫)與單片機(jī)的wR引腳相連,SLRD(讀)和SLOE(輸出使能)與單片機(jī)的RD引腳相連。單片機(jī)通過(guò)訪問(wèn)地址為0x00的外部存儲(chǔ)器的方式就可以實(shí)現(xiàn)對(duì)EP2的訪問(wèn),同理可訪問(wèn)EP6端點(diǎn)。

    單片機(jī)通過(guò)FX2的3個(gè)標(biāo)志引腳(FALGA,F(xiàn)LAGB,F(xiàn)LAGC)來(lái)全面掌握FX2的各端點(diǎn)FIFO的狀況。FLAGA定義為輸入端點(diǎn)EP6的滿標(biāo)志,當(dāng)輸入數(shù)據(jù)滿時(shí)該引腳為低電平;FLAGB被定義為輸出端點(diǎn)EP2的空標(biāo)志,當(dāng)主機(jī)傳來(lái)的數(shù)據(jù)被讀空時(shí)該引腳為低電平;FLAGC定義為當(dāng)EP2端點(diǎn)整個(gè)FIF0中的字節(jié)數(shù)大于等于1時(shí)為低電平。假設(shè)當(dāng)前主機(jī)沒有傳送命令,則FLAGC為高電平,當(dāng)主機(jī)發(fā)送命令后,EP2的字節(jié)數(shù)大于等于1,則FLAGC變?yōu)榈碗娖?。這樣在FALGC引腳上產(chǎn)生了一個(gè)下降沿,將此引腳與單片機(jī)的INTO引腳相連,則當(dāng)主機(jī)發(fā)送命令后單片機(jī)會(huì)觸發(fā)INT0中斷,在INTO的中斷處理程序中單片機(jī)讀取并執(zhí)行傳來(lái)的命令。

2 系統(tǒng)軟件設(shè)計(jì)
2.1 驅(qū)動(dòng)程序
   
在EZ—USB FX2開發(fā)包中,提供有通用的驅(qū)動(dòng)程序包,對(duì)該程序包稍加修改就可生成一個(gè)具有下載固件并完成設(shè)備重枚舉功能的設(shè)備驅(qū)動(dòng)程序。文獻(xiàn)對(duì)驅(qū)動(dòng)程序的開發(fā)步驟有詳細(xì)的記述,這里采用的就是這個(gè)通用驅(qū)動(dòng)程序(GPD)。
2.2 主機(jī)應(yīng)用程序
    主機(jī)應(yīng)用程序主要實(shí)現(xiàn)向設(shè)備發(fā)送命令數(shù)據(jù)包,接收設(shè)備傳送的數(shù)據(jù)并進(jìn)行顯示,主機(jī)應(yīng)用程序通過(guò)通用驅(qū)動(dòng)程序來(lái)完成對(duì)設(shè)備的控制和通信。應(yīng)用程序采用VC6.O編寫,與設(shè)備通信時(shí),首先通過(guò)調(diào)用win32函數(shù)CreateFile()來(lái)取得訪問(wèn)設(shè)備驅(qū)動(dòng)程序的句柄。該函數(shù)的語(yǔ)句實(shí)例如下:


    用戶得到設(shè)備句柄后,就可以使用win32函數(shù)DevicelontroI()來(lái)向設(shè)備提交相應(yīng)的IOCTL控制碼,進(jìn)行讀寫和控制操作,完成相應(yīng)操作后應(yīng)用程序通過(guò)Win32函數(shù)CloseHandle()關(guān)閉設(shè)備句柄結(jié)束1次操作。以下是部分操作的代碼實(shí)例:

[!--empirenews.page--]
    應(yīng)用程序中有兩個(gè)線程,輔助線程為采樣線程,采樣線程的流程如圖2所示。

    采樣線程負(fù)責(zé)從設(shè)備讀取數(shù)據(jù),并通過(guò)消息傳送機(jī)制與主線程通信;主線程負(fù)責(zé)采樣數(shù)據(jù)的顯示、存盤,向設(shè)備發(fā)送命令數(shù)據(jù)包,以及啟動(dòng)/停止采樣線程。當(dāng)執(zhí)行啟動(dòng)采樣命令時(shí),主線程先向設(shè)備發(fā)送啟動(dòng)命令數(shù)據(jù)包,然后啟動(dòng)采樣線程準(zhǔn)備接收數(shù)據(jù);當(dāng)執(zhí)行停止采樣命令時(shí),主線程先向設(shè)備發(fā)送停止命令數(shù)據(jù)包,然后停止采樣線程結(jié)束數(shù)據(jù)的接收。命令數(shù)據(jù)包大小為4 B.包含有命令字和采樣間隔時(shí)間參數(shù)等信息。
2.3 單片機(jī)程序
   
如上所述,單片機(jī)的INTO中斷一旦觸發(fā),表示主機(jī)有命令數(shù)據(jù)包傳送到。在INTO的中斷處理程序中,單片機(jī)讀取EP2端點(diǎn)的數(shù)據(jù)直到EP2端點(diǎn)為空(FLAGB為低電平),獲得上位機(jī)發(fā)送的命令數(shù)據(jù)包。若接收到啟動(dòng)命令,則根據(jù)命令數(shù)據(jù)包的采樣間隔時(shí)間參數(shù)來(lái)設(shè)置計(jì)數(shù)變量和定時(shí)器T0的初值并啟動(dòng)T0;若接收到的命令為停止命令,則停止定時(shí)器TO。在TO的中斷處理程序中若相應(yīng)的計(jì)數(shù)變量達(dá)到設(shè)定值,則完成A/D轉(zhuǎn)換、讀取數(shù)據(jù)以及將數(shù)據(jù)寫入EP6端點(diǎn)的操作。計(jì)數(shù)變量和TO的初值均根據(jù)命令數(shù)據(jù)包的參數(shù)進(jìn)行設(shè)置,因此設(shè)備的采樣間隔時(shí)間可以由主機(jī)程序進(jìn)行調(diào)整。

3 結(jié) 語(yǔ)
    工作于Slave FIFo方式下的FX2相當(dāng)于在外部控制和主機(jī)之間構(gòu)造了一個(gè)的數(shù)據(jù)管道。通過(guò)對(duì)FX2的FIFO標(biāo)志引腳FLAGA,F(xiàn)ALGB,F(xiàn)LAGc的配置,使該芯片可以方便地與單片機(jī)進(jìn)行連接,單片機(jī)通過(guò)外部中斷獲知主機(jī)數(shù)據(jù)的到達(dá),通過(guò)其他標(biāo)志引腳獲得端點(diǎn)FIFO的信息,單片機(jī)和主機(jī)通信時(shí),感覺不到FX2的存在。基于單片機(jī)和Fx2的數(shù)據(jù)采集系統(tǒng)擴(kuò)展方便、編程簡(jiǎn)單、無(wú)需外接電源、采樣間隔時(shí)間由主機(jī)調(diào)整,實(shí)現(xiàn)了數(shù)據(jù)采集系統(tǒng)的小型化和便攜化,在現(xiàn)場(chǎng)信號(hào)采集,教學(xué)實(shí)驗(yàn),儀器儀表等領(lǐng)域具有一定的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉