2009-07-21 53 views
2

我正在尋找接口慢速設備(一個ADC - 〜1.2MHz的)的方式來我mcf5270微控制器,這是一個相當快的設備(〜150MHz的)。我正在使用ADC0817,並嘗試了以下操作:GPIO讀取數據線,存儲器映射訪問(因爲adc與uP兼容)。接口慢速設備的MCF5270微控制器

當映射爲在存儲器中的位置中,我使用的最大等待狀態(15ws,約爲107ns)。如果不使用總線模型(ADC不支持這種模式),mcf5270不支持進一步等待。

使用GPIO,只讀取垃圾值。

注意:ADC實際上正在工作,除讀取數據外,其接口功能正常。我正在使用C/C++和程序集。

總之,我期待的建議方式,以嘗試讀取數據從ADC0817。

評論與反饋,非常感謝。

+0

中斷是來自ADC的稱爲計算結束(EOC)的信號。輸出使能引腳驅動爲高電平後,輸出僅在最小125ns至最大250ns內有效。中斷只是讓我開始閱讀(這涉及持有OE高點)。 不幸的是,我沒有邏輯分析儀。我的示波器在我的旅程中略微落後於我 - 所以我用萬用表「讀」信號。嘗試和調試不是一個特別理想的情況。 – Viashimo 2009-07-21 05:09:43

回答

0

我覺得內存映射應該工作 - 通常我會等待來自ADC中斷,然後在指定的地址讀取的字節。由於你得到一箇中斷,所以不需要等待狀態。我錯過了什麼嗎? GPIO也應該工作。你怎麼知道ADC正在工作?您能否在邏輯分析儀的數據&中斷上證明ADC正在產生正確的輸出?

1

你可以通過一些GPIO觸發ADC,做NOP的適當數量,然後讀取值。此外,您需要在執行此操作時禁用中斷。

0

我認爲他所說的MMIO不會工作,因爲他需要超過總線上等待狀態的最大數量才能使膠合邏輯響應 - 即A/D不會設置其總線引腳很快就足以讓uC開心。有時候這是個問題。

但是GPIO方法應該可以工作。如果正在讀取垃圾值,我假設你沒有遵循提供的時序圖。在數據有效之前發出讀取信號後,您必須能夠等待一定的時間。查看數據表以瞭解具體情況。