線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1547
推到 Plurk!
推到 Facebook!

多通道數位轉換

答題得分者是:ScottWang
huskyang
一般會員


發表:2
回覆:8
積分:2
註冊:2010-06-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-08-04 21:45:01 IP:140.122.xxx.xxx 訂閱
大家好,請問一下,數位轉換可同時讀取多個通道嗎???

目前是用ADC0804單一通道,後來因實驗需求所以再加上一個CD4052多工器

LABVIEW<--8051<--ADC0804<--CD4052<--兩組待測電壓訊號

LABVIEW可以選擇通道1或2讀取轉換後的電壓!!

但是如果"同時"選擇兩個通道,程式會突然LAG,讀取的電壓值會跳來跳去

所以想用ADC0809試著改良看看,是ADC無法同時轉換兩組電壓訊號才會發生這種情形

或者是8051無法同時讀取轉換後的兩個數值!!!

------
=.=
kib72377
高階會員


發表:1
回覆:217
積分:238
註冊:2004-11-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-08-04 22:50:14 IP:211.73.xxx.xxx 未訂閱
A/D轉換要時間,
程式執行&資料傳輸要時間要時間,
當A/D轉換時間遠小於你一段程式執行的時間,可以把它當成可同時執行數道轉換.
多通道ADC以此原則來推,因為它核心其實也是只有1個ADC.

如果不能接受,
那就多加顆ADC.
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-08-04 23:24:46 IP:59.115.xxx.xxx 訂閱
>數位轉換可同時讀取多個通道嗎?
多個通道的數位轉換,是以循序串聯式的方式進行,也就是一個ch做完,再做下一個ch,不能以並行式的方式,否兩個不同的電壓同時輸入,那麼ADC0804的輸入端不知以那個電壓為基準,就會亂掉了,輸出端當然也會跟著亂.

以NS的ADC0804為例,在Clock=640Khz時,轉換時間在103~114 us之間,取中間值109us,等於9.174Khz,以單一電壓點的取樣來說,已經算快了,但是若要做為波形的取樣就變成慢了.
http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS005671.PDF
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流,
中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓,
標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器.
接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備,
另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A.
http://hvpower.myweb.hinet.net/
huskyang
一般會員


發表:2
回覆:8
積分:2
註冊:2010-06-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-08-05 17:49:54 IP:140.122.xxx.xxx 訂閱
不能同時轉換的話,自己有想到一個方法!!

用陣列來儲存轉換後的值!!

EX:宣告一個1x2的陣列

通道1轉換後的值放到array[0],通道2轉換後的值放到array[1]

然後再將array放到sbuf裡面,由LABVIEW讀取後再拆開!!

目前程式上遇到的問題是...

$MOD51
.data ;編譯後出現ERROR #8: Illegal assembly line
testarray db 2 dup(?) ;ERROR #23: Illegal or missing directive
mov ax,08h ; Undefined symbol

mov si,0
mov testarray[si 0],ax ; Undefined symbol

mov bx,01h ; Undefined symbol

mov testarray[si 1],bx ; Undefined symbol

mov A,testarray ; Undefined symbol


mov sbuf,a

end

請問是我的編譯器選錯嗎??用asm51,asem,masm,keil編譯都錯!!!

或者忘記宣告什麼之類的??

謝謝!!!

------
=.=
kib72377
高階會員


發表:1
回覆:217
積分:238
註冊:2004-11-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-08-05 22:05:53 IP:211.73.xxx.xxx 未訂閱
 51跟x86的組語混插....

清醒點.

huskyang
一般會員


發表:2
回覆:8
積分:2
註冊:2010-06-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-08-06 02:06:07 IP:140.122.xxx.xxx 訂閱
=.= 我是豬頭!!

那再請問一下

1.assembler for 8051有辦法宣告陣列嗎??

2.假設我把轉換後的第一個電壓值變成字串,再把第二個電壓值變成字串

然後合併兩個字串變成一個字串,再放到SBUF裡面,8051有辦法做到嗎??

謝謝!!!
------
=.=
kib72377
高階會員


發表:1
回覆:217
積分:238
註冊:2004-11-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2010-08-06 13:37:39 IP:218.170.xxx.xxx 未訂閱
組語無所不能,
請先學好51組語,
如果想學51c語言,也無妨.
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#8 引用回覆 回覆 發表時間:2010-08-06 15:24:33 IP:218.161.xxx.xxx 訂閱
你可以把你的資料由8051以下列的方式傳送:

01 88 02 99 03 AA 04 BB 05 CC 06 DD 07 EE 08 FF

01 ~ 08 為第1筆 ~ 第8筆電壓代號
88 ~ FF 為第1筆 ~ 第8筆電壓值

這個是有點像RS485的地址判別法.

當你的Labview收到後,再根據前面的資料規則,就可以判別是那一組的電壓了.
------
高壓直流電源供應器,高壓模組,測試LED專用AC LED定電流源,全範圍可調電壓電流,
中低壓直流電源供應器,電壓放大器,電流放大器,帶通濾波器,高精度參考電壓,
標準電壓,恆流源(定電流源),恆壓源(定電壓源),大電流電源供應器.
接受訂製,設計生產各種特殊規格,高精度產品,學校實驗室,研究單位實驗設備,
另可接受其它電子專案設計,HV Power,Vmax=20KV,Imax=2000A.
http://hvpower.myweb.hinet.net/
huskyang
一般會員


發表:2
回覆:8
積分:2
註冊:2010-06-30

發送簡訊給我
#9 引用回覆 回覆 發表時間:2010-08-07 14:00:22 IP:140.122.xxx.xxx 訂閱

之前我是再LABVIEW端設定一個陣列

將接收到的值依續排入陣列後再分別讀取至波形圖,不過效果好像不太好

有時候排序會亂掉

用你的方法,加個代號當條件敘述,順序就算亂掉,也知道是第幾筆的資料

非常感謝!!!

===================引 用 ScottWang 文 章===================
你可以把你的資料由8051以下列的方式傳送:

01 88 02 99 03 AA 04 BB 05 CC 06 DD 07 EE 08 FF

01 ~ 08 為第1筆 ~ 第8筆電壓代號
88 ~ FF 為第1筆 ~ 第8筆電壓值

這個是有點像RS485的地址判別法.

當你的Labview收到後,再根據前面的資料規則,就可以判別是那一組的電壓了.
------
=.=
系統時間:2024-04-24 7:02:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!