掃描二維碼
隨時隨地手機看文章
1 系統(tǒng)硬件設(shè)計
1.1 系統(tǒng)硬件組成
整個系統(tǒng)的硬件結(jié)構(gòu)如圖l所示。AT89C52為主控單片機,負責控制A/D轉(zhuǎn)換、上傳采集數(shù)據(jù)、接收并執(zhí)行主機的命令。CY7C68013為USB接口芯片。A/D轉(zhuǎn)換芯片采用TI公司生產(chǎn)的TLC549,AD780是一款高精度參考電壓芯片,可為TLC549提供2.5 V或 者3.0 V的參考電壓。系統(tǒng)+5 V電源由主機的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è)計成能通過三態(tài)輸出與微處理器或外圍設(shè)備串行接VI。TLC549用輸入/輸出時鐘(I/O CLOCK)和芯片選擇(CS)輸入作數(shù)據(jù)控制,轉(zhuǎn)換結(jié)果由DATAOUT引腳輸出。I/o CLOCK端的最高頻率可達1.1 MHz。TLC一549片內(nèi)系統(tǒng)時鐘工作在4 MHz(不需要外部時鐘)。片內(nèi)系統(tǒng)時鐘使內(nèi)部器件的操作獨立于串行輸入/輸出時序并允許TLC549像許多軟件和硬件所要求的那樣工作。I/O CLOCK和內(nèi)部系統(tǒng)時鐘可以實現(xiàn)高速數(shù)據(jù)傳送,使得TLc549可實現(xiàn)40 kHz的采樣頻率。TLC549具有通用控制邏輯及自動工作或在微處理器控制下工作的片內(nèi)采樣/保持電路,差分高阻抗基準電壓輸入端,易于實現(xiàn)比例轉(zhuǎn)換的高速轉(zhuǎn)換器,定標及隔離電路。整個開關(guān)電容逐次逼近轉(zhuǎn)換器電路的設(shè)計允許在小于17μs的時間內(nèi),以最大誤差±0.5為最低有效位的精度實現(xiàn)轉(zhuǎn)換。
1.3 CY7(368013及其固件程序
EZ—USB FX2系列芯片CY7C68013是業(yè)界第一個支持USB2.0,同時向下兼容USBl.1規(guī)范的單片機,為描述方便以下簡稱該芯片為FX2。FX2支持全速傳輸(12 Mb/s)和高速傳輸(480 Mb/s),該芯片將USB2.O收發(fā)器、串行接口引擎SIE、增強的8051內(nèi)核、GPIF等集成于一體。FX2內(nèi)含4 KB的端點緩沖區(qū)F1FO,可以被配置為具有不同大小緩沖區(qū)的IN或OUT端點(EP2,EP4,EP6,EP8),具有USB協(xié)議所規(guī)定的4種傳輸方式,即控制方式、中斷方式、批量傳輸、和同步傳輸方式。Cypress公司為FX2提供了完善的軟件開發(fā)工具包,降低了開難度,加快了開發(fā)進度。
FX2可以工作在3種不同的模式下完成USB數(shù)據(jù)的傳輸,即:Ports模式、GPIF模式和Slave FIFO模式。Ports模式下其uSB數(shù)據(jù)的傳輸主要在FX2的8051內(nèi)核參與下完成,數(shù)據(jù)傳輸通過執(zhí)行指令實現(xiàn),因此數(shù)據(jù)的傳輸率比較低,對大批量數(shù)據(jù)傳輸一般采用后兩種方式。GPIF方式,稱為通用可編程接口方式,在此模式下,F(xiàn)X2的FIFO是由內(nèi)部的GPIF控制的,F(xiàn)X2利用由軟件編程輸出讀寫控制波形讀取FIFO標志,控制FIFO的選通,并且對外部設(shè)備提供了用戶專用接口,可以對許多通用總線接口進行訪問,如ASIC,DSP和存儲器等。文獻利用FX2的GPIF方式構(gòu)建了LISB數(shù)據(jù)傳輸通道。Slave FIFO方式是將FX2的FIFO作為外部控制器(如FPGA或單片機)的從屬FIFO,外部控制器可像普通FIFO操作一樣對FX2的FIFO進行讀寫,而不考慮該包的大小,傳輸速率可明顯提高,文中FX2在Slave FIFO模式下工作。FX2有3種封裝形式:128引腳、100引腳和56引腳,這里選用FX2的56引腳的封裝形式。
FX2芯片在使用時必須先下載固件程序,固件程序主要負責完成芯片初始化,對芯片進行必要的配置、處理設(shè)備請求、進行數(shù)據(jù)傳輸?shù)认鄳ぷ?。用戶通過編寫適當?shù)墓碳绦蛲瓿蓪X2的設(shè)置。Cypress公司提供了一個固件程序開發(fā)框架可以大大簡化FX2芯片固件程序的開發(fā)難度。通過編寫用戶初始化函數(shù)TD_Init(),用戶可以規(guī)定各種端點資源的使用以及配置外圍接口的輸入/輸出等。其主要配置語句如下:
固件程序?qū)X2配置為異步Slave FIFl0模式,總線寬度8位,在4個端點中,EP4和:EP8未被使用,EP2和EP6的配置如表1所示。由于采用自動輸入/輸出模式,主機和單片機通過旁路FX2的CPU直接連接,所有數(shù)據(jù)被直接通過FIFO管道提交,不需固件程序干預。在FX2的slave FIF0模式下,F(xiàn)IFOADR[1:0]引腳作為地址線選擇某個端點,SLCS相當于片選信號,SLwR(寫)與單片機的wR引腳相連,SLRD(讀)和SLOE(輸出使能)與單片機的RD引腳相連。單片機通過訪問地址為0x00的外部存儲器的方式就可以實現(xiàn)對EP2的訪問,同理可訪問EP6端點。
單片機通過FX2的3個標志引腳(FALGA,F(xiàn)LAGB,F(xiàn)LAGC)來全面掌握FX2的各端點FIFO的狀況。FLAGA定義為輸入端點EP6的滿標志,當輸入數(shù)據(jù)滿時該引腳為低電平;FLAGB被定義為輸出端點EP2的空標志,當主機傳來的數(shù)據(jù)被讀空時該引腳為低電平;FLAGC定義為當EP2端點整個FIF0中的字節(jié)數(shù)大于等于1時為低電平。假設(shè)當前主機沒有傳送命令,則FLAGC為高電平,當主機發(fā)送命令后,EP2的字節(jié)數(shù)大于等于1,則FLAGC變?yōu)榈碗娖?。這樣在FALGC引腳上產(chǎn)生了一個下降沿,將此引腳與單片機的INTO引腳相連,則當主機發(fā)送命令后單片機會觸發(fā)INT0中斷,在INTO的中斷處理程序中單片機讀取并執(zhí)行傳來的命令。
2 系統(tǒng)軟件設(shè)計
2.1 驅(qū)動程序
在EZ—USB FX2開發(fā)包中,提供有通用的驅(qū)動程序包,對該程序包稍加修改就可生成一個具有下載固件并完成設(shè)備重枚舉功能的設(shè)備驅(qū)動程序。文獻對驅(qū)動程序的開發(fā)步驟有詳細的記述,這里采用的就是這個通用驅(qū)動程序(GPD)。
2.2 主機應用程序
主機應用程序主要實現(xiàn)向設(shè)備發(fā)送命令數(shù)據(jù)包,接收設(shè)備傳送的數(shù)據(jù)并進行顯示,主機應用程序通過通用驅(qū)動程序來完成對設(shè)備的控制和通信。應用程序采用VC6.O編寫,與設(shè)備通信時,首先通過調(diào)用win32函數(shù)CreateFile()來取得訪問設(shè)備驅(qū)動程序的句柄。該函數(shù)的語句實例如下:
用戶得到設(shè)備句柄后,就可以使用win32函數(shù)DevicelontroI()來向設(shè)備提交相應的IOCTL控制碼,進行讀寫和控制操作,完成相應操作后應用程序通過Win32函數(shù)CloseHandle()關(guān)閉設(shè)備句柄結(jié)束1次操作。以下是部分操作的代碼實例:
應用程序中有兩個線程,輔助線程為采樣線程,采樣線程的流程如圖2所示。
采樣線程負責從設(shè)備讀取數(shù)據(jù),并通過消息傳送機制與主線程通信;主線程負責采樣數(shù)據(jù)的顯示、存盤,向設(shè)備發(fā)送命令數(shù)據(jù)包,以及啟動/停止采樣線程。當執(zhí)行啟動采樣命令時,主線程先向設(shè)備發(fā)送啟動命令數(shù)據(jù)包,然后啟動采樣線程準備接收數(shù)據(jù);當執(zhí)行停止采樣命令時,主線程先向設(shè)備發(fā)送停止命令數(shù)據(jù)包,然后停止采樣線程結(jié)束數(shù)據(jù)的接收。命令數(shù)據(jù)包大小為4 B.包含有命令字和采樣間隔時間參數(shù)等信息。
2.3 單片機程序
如上所述,單片機的INTO中斷一旦觸發(fā),表示主機有命令數(shù)據(jù)包傳送到。在INTO的中斷處理程序中,單片機讀取EP2端點的數(shù)據(jù)直到EP2端點為空(FLAGB為低電平),獲得上位機發(fā)送的命令數(shù)據(jù)包。若接收到啟動命令,則根據(jù)命令數(shù)據(jù)包的采樣間隔時間參數(shù)來設(shè)置計數(shù)變量和定時器T0的初值并啟動T0;若接收到的命令為停止命令,則停止定時器TO。在TO的中斷處理程序中若相應的計數(shù)變量達到設(shè)定值,則完成A/D轉(zhuǎn)換、讀取數(shù)據(jù)以及將數(shù)據(jù)寫入EP6端點的操作。計數(shù)變量和TO的初值均根據(jù)命令數(shù)據(jù)包的參數(shù)進行設(shè)置,因此設(shè)備的采樣間隔時間可以由主機程序進行調(diào)整。
3 結(jié) 語
工作于Slave FIFo方式下的FX2相當于在外部控制和主機之間構(gòu)造了一個的數(shù)據(jù)管道。通過對FX2的FIFO標志引腳FLAGA,F(xiàn)ALGB,F(xiàn)LAGc的配置,使該芯片可以方便地與單片機進行連接,單片機通過外部中斷獲知主機數(shù)據(jù)的到達,通過其他標志引腳獲得端點FIFO的信息,單片機和主機通信時,感覺不到FX2的存在。基于單片機和Fx2的數(shù)據(jù)采集系統(tǒng)擴展方便、編程簡單、無需外接電源、采樣間隔時間由主機調(diào)整,實現(xiàn)了數(shù)據(jù)采集系統(tǒng)的小型化和便攜化,在現(xiàn)場信號采集,教學實驗,儀器儀表等領(lǐng)域具有一定的應用前景。
大家好,我是鲏。認識我的朋友都知道,我是一個實踐派,相比研究枯燥的理論知識,我更喜歡做自己想做的項目,用技術(shù)來實現(xiàn)自己的想法的感覺真的很棒。所以從大學期間一直到現(xiàn)在,除了工作中的項目外,我依然保持著自己做項目的習慣,有堅...
關(guān)鍵字: 系統(tǒng)設(shè)計 技術(shù)選型 需求分析(全球TMT2022年8月30日訊)近日,在2022英特爾中國數(shù)據(jù)中心合作伙伴技術(shù)峰會上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設(shè)計參考》白皮書,分享冷板液冷技術(shù)關(guān)鍵部件的最...
關(guān)鍵字: 系統(tǒng)設(shè)計 英特爾 數(shù)據(jù)中心 生態(tài)系統(tǒng)北京2022年8月30日 /美通社/ -- 近日,在2022英特爾中國數(shù)據(jù)中心合作伙伴技術(shù)峰會上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設(shè)計參考》白皮書,分享冷板液冷技術(shù)關(guān)鍵部...
關(guān)鍵字: 系統(tǒng)設(shè)計 英特爾 數(shù)據(jù)中心 電量摘要:近年來,受人類活動的影響,各大水域的水質(zhì)污染問題越來越嚴重,大部分水資源受到嚴重污染,水質(zhì)處理問題亟需解決。分析水體污染情況對改進水質(zhì)有著重要意義,目前水質(zhì)監(jiān)測主要采用人工或無人船的方式。人工監(jiān)測方式工作量大,影響...
關(guān)鍵字: 水質(zhì)監(jiān)測 無人機 系統(tǒng)設(shè)計摘要:根據(jù)饒平縣高堂水閘重建工程建設(shè)實際需求,對高堂水閘運行管理進行實時在線式監(jiān)控與監(jiān)測,通過閘門控制、視頻監(jiān)控、水情測報、安全監(jiān)測和網(wǎng)絡(luò)通信等系統(tǒng)的設(shè)計,為高堂水閘的水工建筑物安全、防洪調(diào)度和自動化管理提供技術(shù)支持,以...
關(guān)鍵字: 管理信息系統(tǒng) 水利工程 系統(tǒng)設(shè)計湖州2022年7月26日 /美通社/ -- 近日,浙江省科技創(chuàng)新大會在浙江省人民大會堂隆重舉行。大會正式頒布2021年度浙江省科學技術(shù)進步獎,隆重表彰為浙江科技創(chuàng)新事業(yè)和經(jīng)濟社會發(fā)展做出突出貢獻的科技工作者及團隊。...
關(guān)鍵字: 電梯 檢測技術(shù) 系統(tǒng)設(shè)計 零部件摘要:簡要介紹了柴油發(fā)電機組和重油發(fā)電機組的構(gòu)成和主要特點,以某發(fā)電廠重柴油發(fā)電機組系統(tǒng)設(shè)計為例,重點分析了重油發(fā)電機組燃油系統(tǒng)、潤滑油系統(tǒng)、循環(huán)冷卻水系統(tǒng)、壓縮空氣系統(tǒng)的設(shè)計要點,以提高柴油、重油發(fā)電機組的運行效率和運...
關(guān)鍵字: 重油發(fā)電機組 特性 系統(tǒng)設(shè)計摘要:針對一種小型消費級水下機器人,分析了其系統(tǒng)總體設(shè)計及各關(guān)鍵子系統(tǒng)(推進系統(tǒng)、通信系統(tǒng)、控制系統(tǒng)及其他系統(tǒng)等)設(shè)計的要點和方法,舉例介紹了一種五推進器小型消費級水下機器人。經(jīng)驗證,該設(shè)計方法可以用于同類型水下機器人的...
關(guān)鍵字: 推進器 系統(tǒng)設(shè)計 五推進器提供全面高效的電源管理建模,適用于汽車和工業(yè)應用領(lǐng)域 加州山景城2022年5月24日 /美通社/ -- 新思科技(納斯達克股票代碼:SNPS)和Analog Devices, Inc. 近日宣布達成合作,通過...
關(guān)鍵字: ADI 電源系統(tǒng) 系統(tǒng)設(shè)計 新思科技摘要:PLC以其體積小、占用空間小、輔助設(shè)施投入少、工作可靠和維修簡單等優(yōu)點,被廣泛應用于各個領(lǐng)域?,F(xiàn)介紹了一款可對鐵、鋁及顏色進行材料分揀的裝置,分析了該分揀裝置的總體結(jié)構(gòu)設(shè)計、硬件設(shè)計和軟件系統(tǒng)設(shè)計要點。該分揀裝置成...
關(guān)鍵字: 自動分揀 PLC 系統(tǒng)設(shè)計