作者neo22allen (airallen)
站內Electronics
標題Re: [問題] sdram位址線接錯
時間Sat Jan 24 15:32:21 2009
※ 引述《bighead319 (大頭)》之銘言:
: ※ 引述《screws (screws)》之銘言:
: : 想請問一個問題
: : 如果我不小心把cpu到sdram的address bus接錯了.
: : 假設是a0,a1接錯了,這樣會發生什麼事?
: : 是可以照常存取,還是會出錯呢?
: : 我想了一天,一直覺得不會最後讀取出來的資料不會錯
: : 可是我同事在奸笑...= =真的會讀出錯的資料嗎?
: 基本上沒差,假設是10bit好了,CPU送出的位址為 (a0, a1, ..., a9)
: 不管你接到RAM裡面的順序是(a0,a1,...,a9)或是(a9,a8,...,a0),
: 基本上RAM看到這位址從0-1023的map都是1對1的,事實上就是bit reverse 的關係,
: 即使你想惡搞他,故意把他接成(a1,a3,a5,a7,a9,a0,a2,...,a8),他還是1對1對應,
: 還是不會有問題。
感覺不太對吧。
我看到SAMSUNG 24xx系列的。ARM9 系列的。
如果SDRAM的data bus 是 8bits , 他的位置線,是從A0開始接。
如果是16 bits,他的位置線,是從A1開始接
然後32 bits,則是從A2開始接的。
另外,SDRAM有burst mode,只需要送一次位址 就可以一直連續讀寫下去。
此時,連續寫下去的位址,是SDRAM正確的位址。
而你的CPU的位置線接錯,所對應的位置一定和SDRAM裡面正確的位址是不一樣的。
除非,你每寫一次資料,就重送一次位址。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.138.18
1F:推 pupucar:這一篇比較有道理 02/24 13:59