有人使用過DMA controller嗎? |
答題得分者是:mymj
|
kokalin
一般會員 發表:13 回覆:19 積分:6 註冊:2004-07-29 發送簡訊給我 |
|
addn
高階會員 發表:64 回覆:221 積分:202 註冊:2005-03-21 發送簡訊給我 |
|
kokalin
一般會員 發表:13 回覆:19 積分:6 註冊:2004-07-29 發送簡訊給我 |
我是已經查到了8237的data sheet,不過看完還是不會使用 ><
看起來這似乎是顆要寫程式來運作的controller 阿...我沒有萬用燒錄器 @@ 我還是清楚的描述一下我的問題好了
我要利用89S52來接受高速ADC的輸出
詳細情節可參閱:89S51與高速ADC晶片溝通問題
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=72368
我需要的是ADC的高速轉換結果(只需要約300bytes)
因此我著重的是速度,而非大量的A/DC轉換結果
我是有想到一個爛方法:利用兩顆89S51來操作(一顆當主控制器、另一顆當DMA控制器)
其電路接法大致如下:
但這似乎是個滿浪費的方法,因此我才會想找真的DMA controller來使用 最後想請問addn:
針對Dual-Port Static Memory可以麻煩你再做清楚一點的描述嗎?
或者是有相關網頁及書籍可以參閱呢?(我去查了一下,都只找到販賣的規格 ><)
感激不盡 謝謝你 :)
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
引言: 我是已經查到了8237的data sheet,不過看完還是不會使用 >< 看起來這似乎是顆要寫程式來運作的controller 阿...我沒有萬用燒錄器 @@它不用燒程式。自己再去讀一次規格。把每個字都查字典。 引言: 我要利用89S52來接受高速ADC的輸出 詳細情節可參閱:89S51與高速ADC晶片溝通問題你在小題大做啦。 你把ADC拿到的資料做什麼處理? 是不是要等51來處理? 就算你用了什麼怪方法把資料放入RAM中。那有什麼意義呢? 因為還是沒被運算用到呀。 因為運算是51的程式在做。 即使要用來做DISPLAY 還是51 在做呀。 那”多出來的動作”是無意義的。 這樣你懂了沒有? |
mymj
版主 發表:132 回覆:486 積分:608 註冊:2002-10-25 發送簡訊給我 |
|
kokalin
一般會員 發表:13 回覆:19 積分:6 註冊:2004-07-29 發送簡訊給我 |
關於8237的部分我會在細心的看一遍
會說他要用燒的是因為我看UM8237AE-5時,
(http://www.tiking.com/compment.asp?compment=ETC\UM8237AE-5.pdf55555555UM)
datasheet上面描述是Programmable DMA Controller,因此才會做如此錯誤的判斷
我會好好的再留心看一遍 關於暗黑板主的第二建議部分,就如mymj板主所言
我是要做即時處理,只要ADC的值有在需要的時間內取得(這部分訊號稍縱即逝阿><)
我有足夠充裕的時間來做後續的處理
因此我才會如此大費周章的要把資料存到外部RAM阿 發表人 - kokalin 於 2005/06/12 19:57:38
|
mymj
版主 發表:132 回覆:486 積分:608 註冊:2002-10-25 發送簡訊給我 |
|
kokalin
一般會員 發表:13 回覆:19 積分:6 註冊:2004-07-29 發送簡訊給我 |
|
mymj
版主 發表:132 回覆:486 積分:608 註冊:2002-10-25 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
kokalin
一般會員 發表:13 回覆:19 積分:6 註冊:2004-07-29 發送簡訊給我 |
回應mymj板主:
我所使用的ADC晶片為TI的ADC,型號是TLC5510
http://www-s.ti.com/sc/ds/tlc5510.pdf
因為其時脈是利用89S51的ALE腳位所提供,因此時序部分是在掌握之中的 ^^ 另外想問mymj板主,之前在我PO的另一篇文章提到
可以用ADC的CLK接N位(視RAM容量而定)同步計數器
計數器的輸出接RAM的位址線
若我使用的外部RAM為2K的(UM6116k-2),有什麼型號的同步計數器可以用呢?
感覺這樣應該會比DMA controller省錢阿,所以也想嘗試看看 回應暗黑板主:
我MCU(89S52)處理一次完整的運算有8.5ms的時間可以用
但是我ADC需要的取樣頻率為1MHz才能合乎我的要求
(我的類比信號約每8.5ms出現350us)
就是因為我需要把ADC的結果存下來,可是MCU趕不上處理速度
我才會如此大費周章的要用DMA阿
我....也是有苦難言阿 >< 最後,謝謝各位的幫忙,等我研究出使用方法及結果,我在PO出來 謝謝你們 ^^
|
阿信
版主 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
mymj
版主 發表:132 回覆:486 積分:608 註冊:2002-10-25 發送簡訊給我 |
|
kokalin
一般會員 發表:13 回覆:19 積分:6 註冊:2004-07-29 發送簡訊給我 |
我要做的東西應該算是產品吧
波形圖大致如下
MCU藉由抓取350us內的資料,而後演算並判斷出我要的結果 我也有打算直接找IC來做定址
Dual 4 bit binary counters:
http://www.tiking.com/compment.asp?compment=HITACHI\HD74LS373.pdf55555555HD
可是卡在我需要至少11個bit,但這顆IC無法表示溢位
只要...只要他溢位時可以表示,那一切問題就解決了阿 ><
|
mymj
版主 發表:132 回覆:486 積分:608 註冊:2002-10-25 發送簡訊給我 |
|
kokalin
一般會員 發表:13 回覆:19 積分:6 註冊:2004-07-29 發送簡訊給我 |
謝謝mymj版主的建議,我使用HD74LS161A來組裝出我的電路了
(雖然我還是不太懂74161和74163有什麼太大差異)
因為主題和之前的"MCS51與高速ADC的溝通問題"比較有相關性
所以打算把方法放在那篇上 會放棄使用8237是因為89S52需要太多控制線來控制DMA(這應該不是設計來讓8051使用的)
而且使用前還要先利用bus來規劃DMA使用
此外我只需使用一個DMA的channel,而且只要將I/O資料寫入外部RAM的功能
說來實在太浪費了 不過看這DMA的datasheet之前有點被困住,所以搞了好一段時間
有空再把使用方法PO上來讓大家研究一下吧
(不過應該要等我趕快把論文寫完在說吧 ><) 最後,感謝大家的幫忙 :)
|
bigbird
一般會員 發表:3 回覆:7 積分:2 註冊:2002-04-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |