連續(xù)輸出波形信號(hào)
發(fā)布時(shí)間:2014/6/27 20:20:53 訪問次數(shù):859
當(dāng)波形數(shù)據(jù)太大,緩沖區(qū)放不下,MB16R-1405PX或者它在不斷變化的話,就需要使用循環(huán)緩沖區(qū)輸出數(shù)據(jù)。雖然可以使用易用模擬輸出VI在程序的循環(huán)結(jié)構(gòu)中建立循環(huán)緩沖區(qū)的輸出,但是這樣會(huì)降低程序的效率,因?yàn)橐子肰I每次被調(diào)用時(shí)都要進(jìn)行硬件配置、分配內(nèi)存、釋放內(nèi)存,這就造成數(shù)據(jù)輸出間的時(shí)間中斷。
圖7-36是連續(xù)生成波形的程序框圖。它使用實(shí)用VI-AO Continuous Gen執(zhí)行循環(huán)緩沖區(qū)的模擬輸出。當(dāng)iteration參數(shù)輸入為O時(shí),它進(jìn)行硬件配置,并分配一塊內(nèi)存緩沖區(qū);iteration大于0以后,它使用已有的配置,連續(xù)輸出波形數(shù)據(jù)。執(zhí)行第一次循環(huán)時(shí).My Data Generator VI算出的波形數(shù)據(jù)填滿整個(gè)緩沖區(qū);以后各次循環(huán)中,My DataGenerator VI算出的波形數(shù)據(jù)只有半個(gè)緩沖區(qū)大小。在半個(gè)緩沖區(qū)寫入數(shù)據(jù)的同時(shí),另一半的緩沖區(qū)輸出數(shù)據(jù)。當(dāng)clear generation參數(shù)輸入為TRUE時(shí),它清除硬件配置、釋放計(jì)算機(jī)內(nèi)存。
程序中的Channel List to Number VI將通道表參數(shù)中的通道數(shù)解析出來,以便My DataGenerator VI確定波形數(shù)據(jù)的數(shù)量。
如果需要對(duì)模擬輸出的更多控制,就需要使用圖7-37所示的中級(jí)VI。用這些VI,可以配置另外的刷新時(shí)鐘信號(hào)源,并可監(jiān)視實(shí)際的刷新率。圖中AO Config VI配置輸出通道和緩沖區(qū)的大小。第一個(gè)AO Write VI把波形數(shù)據(jù)放入整個(gè)緩沖區(qū)。AO Start VI按指定的刷新率開始連續(xù)輸出。while循環(huán)中的AO Write VI在每次循環(huán)中把新的波形數(shù)據(jù)寫入半個(gè)緩沖區(qū),另半個(gè)緩沖區(qū)的波形數(shù)據(jù)執(zhí)行輸出,這樣實(shí)現(xiàn)了循環(huán)緩沖的模擬輸出,可以在程序運(yùn)行過程中修改波形數(shù)據(jù)。按下“停止”鍵或出現(xiàn)錯(cuò)誤后,AO ClearVI清除對(duì)硬件的配置,釋放緩沖區(qū),最后用AO Updata Channels VI特輸出通道的電平置零。
當(dāng)波形數(shù)據(jù)太大,緩沖區(qū)放不下,MB16R-1405或者它在不斷變化的話,就需要使用循環(huán)緩沖區(qū)輸出數(shù)據(jù)。雖然可以使用易用模擬輸出VI在程序的循環(huán)結(jié)構(gòu)中建立循環(huán)緩沖區(qū)的輸出,但是這樣會(huì)降低程序的效率,因?yàn)橐子肰I每次被調(diào)用時(shí)都要進(jìn)行硬件配置、分配內(nèi)存、釋放內(nèi)存,這就造成數(shù)據(jù)輸出間的時(shí)間中斷。
圖7-36是連續(xù)生成波形的程序框圖。它使用實(shí)用VI-AO Continuous Gen執(zhí)行循環(huán)緩沖區(qū)的模擬輸出。當(dāng)iteration參數(shù)輸入為O時(shí),它進(jìn)行硬件配置,并分配一塊內(nèi)存緩沖區(qū);iteration大于0以后,它使用已有的配置,連續(xù)輸出波形數(shù)據(jù)。執(zhí)行第一次循環(huán)時(shí).My Data Generator VI算出的波形數(shù)據(jù)填滿整個(gè)緩沖區(qū);以后各次循環(huán)中,My DataGenerator VI算出的波形數(shù)據(jù)只有半個(gè)緩沖區(qū)大小。在半個(gè)緩沖區(qū)寫入數(shù)據(jù)的同時(shí),另一半的緩沖區(qū)輸出數(shù)據(jù)。當(dāng)clear generation參數(shù)輸入為TRUE時(shí),它清除硬件配置、釋放計(jì)算機(jī)內(nèi)存。
程序中的Channel List to Number VI將通道表參數(shù)中的通道數(shù)解析出來,以便My DataGenerator VI確定波形數(shù)據(jù)的數(shù)量。
如果需要對(duì)模擬輸出的更多控制,就需要使用圖7-37所示的中級(jí)VI。用這些VI,可以配置另外的刷新時(shí)鐘信號(hào)源,并可監(jiān)視實(shí)際的刷新率。圖中AO Config VI配置輸出通道和緩沖區(qū)的大小。第一個(gè)AO Write VI把波形數(shù)據(jù)放入整個(gè)緩沖區(qū)。AO Start VI按指定的刷新率開始連續(xù)輸出。while循環(huán)中的AO Write VI在每次循環(huán)中把新的波形數(shù)據(jù)寫入半個(gè)緩沖區(qū),另半個(gè)緩沖區(qū)的波形數(shù)據(jù)執(zhí)行輸出,這樣實(shí)現(xiàn)了循環(huán)緩沖的模擬輸出,可以在程序運(yùn)行過程中修改波形數(shù)據(jù)。按下“停止”鍵或出現(xiàn)錯(cuò)誤后,AO ClearVI清除對(duì)硬件的配置,釋放緩沖區(qū),最后用AO Updata Channels VI特輸出通道的電平置零。
熱門點(diǎn)擊
- 訪問片外ROM/RAM的指令時(shí)序
- 觸發(fā)( TRIG)
- SD卡的速度等級(jí)
- 堆棧指針SP( Stack Pointor)
- 16位特殊功能寄存器sfr16
- “黑焊盤”現(xiàn)象的產(chǎn)生原因
- “VISA讀取”函數(shù)酌主要參數(shù)及功能
- 項(xiàng)目依賴關(guān)系
- 通知器和隊(duì)列
- I/O端口
推薦技術(shù)資料
- DS2202型示波器試用
- 說起數(shù)字示波器,普源算是國內(nèi)的老牌子了,F(xiàn)QP8N60... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究