全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2638
推到 Plurk!
推到 Facebook!

80S51與高速ADC晶片溝通問題

缺席
kokalin
一般會員


發表:13
回覆:19
積分:6
註冊:2004-07-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-02 22:29:08 IP:140.112.xxx.xxx 未訂閱
假若我使用的ADC晶片取樣頻率可以到達1MHz 但是我使用的89S51其最高時脈為33MHz(所以機械週期為2.75MHz) 請問我有辦法讓89S51趕上ADC的速度,將ADC後的資料存入外部的RAM嗎? PS.光MOVX這指令就要2個機械週期了阿,有沒有辦法克服阿?

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-02 22:50:32 IP:220.134.xxx.xxx 未訂閱
請問你是用那一顆ADC? ADC的動作是你在控制的,一般的A/D還要讓MCU等.你這樣會有什麼問題 我不知道耶... 還有取樣率並不是轉換時間,有的A/D會做sample and hold然後再做轉換. 如果(取樣 轉換)它都比MCU快,那應該沒問題才對.且這樣的A/D一定不便宜..
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
kokalin
一般會員


發表:13
回覆:19
積分:6
註冊:2004-07-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-02 23:00:56 IP:140.112.xxx.xxx 未訂閱
我打算要用TI的ADC,型號是TLC5510 http://www-s.ti.com/sc/ds/tlc5510.pdf 這顆ADC最高的sample rate可以到20MSPS(mega-samples per second) 不過目前只打算用1MHz 話說這顆ADC我跟代理商買花了100元,我想應該還算合理吧

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-02 23:12:40 IP:220.134.xxx.xxx 未訂閱
放心吧,51程式寫好就ok了! A/D是你在控制的,你/OE Low它才會輸出data,不用擔心51跟不上.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
kokalin
一般會員


發表:13
回覆:19
積分:6
註冊:2004-07-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-03 10:23:45 IP:140.112.xxx.xxx 未訂閱
倘若ADC頻率1MHz,也就是說我89S51必須在1us內處理完ADC資料, 才能保證資料不miss 但我需要把ADC資料存放於外部的RAM中,算一算應該趕不上阿 我的算法如下: 假設晶片的OE已經為low了,而預定要存放ADC資料於外部RAM的起始位置也已經設定好了,因此我可以寫指令把ADC讀進MCU再存放到外部RAM,程式碼區段大概如下
    READC:  MOVX    A,@R0        ;讀入ADC資料
        MOVX    @DPTR,A      ;將讀到ADC的結果存入外部RAM
        INC     DPL          ;調整下一筆資料於外部RAM的存放位置
        AJMP    READC        ;重新讀取    
上面的指令算一算共需7個machine cycle,而89S51極速為2.75MHz,換算起來MCU處理一筆資料約要費時7*(1/(2.75*10^6))=2.55us >< MCU處理速度完全趕不上ADC 到底有沒有方法可以克服呢? 還是有沒有方法可以直接將ADC結果不經MCU就存入外部RAM呢? 有點快想破頭了 發表人 -
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-03 11:41:25 IP:211.21.xxx.xxx 未訂閱
A/DC Sample Rate = 1MHz 每秒有1MByte的資料 這 要嘛使用更高速的8051或是DSP 要嘛 就使用純硬體 ADC輸出直接接RAM資料輸入 ADC的CLK接N位(視RAM容量而定)同步計數器 計數器的輸出接RAM的位址線 ------------------- 美好的事物 稍縱即逝 發表人 - 阿信 於 2005/06/03 11:42:49
kokalin
一般會員


發表:13
回覆:19
積分:6
註冊:2004-07-29

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-03 12:01:52 IP:140.112.xxx.xxx 未訂閱
先感謝一下樓上兩位大大的幫忙(呼!差點就疏忽了!) 不過如果按照這樣接的話 那80S51應該就沒辦法去控制外部RAM了? 因為我還需要將外部RAM的值取進80S51來處理阿 難道真的只能走上更高速MCU的路了嗎 ><

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-06-03 12:42:40 IP:211.22.xxx.xxx 未訂閱
你是用A/D來轉換什麼?有需要到1us轉換一次?應用在那? 如果不須要那麼快...再強調一點...A/D是你在控制的 你要它將資料輸出它才會輸出...51不會跟不上 如果真有須要這麼快的轉換,只能用更快速的MCU了....
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
kokalin
一般會員


發表:13
回覆:19
積分:6
註冊:2004-07-29

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-06-06 17:36:39 IP:140.112.xxx.xxx 未訂閱
倘若我的MCU的ROM是Flash Memory形式 請問有可能將AD後的結果直接存放於MCU內部ROM中嗎? 發表人 - kokalin 於 2005/06/06 17:38:27

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-06-06 18:49:47 IP:211.22.xxx.xxx 未訂閱
存幾個沒問題,太多還是請你外接memory~~~
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
kokalin
一般會員


發表:13
回覆:19
積分:6
註冊:2004-07-29

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-06-06 22:30:01 IP:140.112.xxx.xxx 未訂閱
存幾個指的是什麼呢?存200bytes夠嗎? 倘若真的要存,存取的方法為何,或者是要到哪找資料呢?
kokalin
一般會員


發表:13
回覆:19
積分:6
註冊:2004-07-29

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-06-20 20:39:24 IP:140.112.xxx.xxx 未訂閱
之前為了這個問題搞了好一段時間 經過板上好幾位高手的幫忙,才得以讓我有解決的方法 本來是打算要用DMA controller的,不過由於種種因素......所以放棄    新的方法仍然是沿用DMA controller的概念 不過是利用counter來實現,我的電路圖如下 雖然電路複雜了些,但使用上僅需要兩條89S52控制線就可以實現 使用方法: 1.利用S52的P1.1腳LOW來清除counter,清除後恢復HIGH 2.利用S52的P1.0腳LOW啟動TLC510、將外部RAM設為寫入狀態,並同時啟動counter來定址 如此一來資料就可以順利的由ADC直接送入外部RAM拉 不過值得注意的是:我的設計是適用我自己的題目(包括資料存放位置、數據處理方法...等),因此可能不太適合大眾使用! 不過算是給需要MCS51和高速ADC溝通的人一個概念吧! 最後提出這系統可能會發生的問題 1.利用ALE來推三個IC可能會不太夠力,或許要加上外部提升電阻 2.根據我量測,當89S52沒有做外部資料溝通時,RD和WR腳位是high Z,因此才可以利用S52的P1.0來控制外部RAM的RD 3.據我的估算,利用這些IC來做定址其delay time應當是可以足夠使用,不過詳細還要測試過後才能確定 最後小小抱怨一下教授 我只是一個機械所固體力學組且今年打算要畢業的學生 所謂隔行如隔山,求求你不要在折磨我,趕快讓我畢業吧 最後感謝板上各位高手的建議與幫忙,我會加油的!
系統時間:2024-05-19 6:00:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!