MC68332與AT93C46的SPI接口時(shí)序問(wèn)題
在微機自動(dòng)化設計中,隨著(zhù)總線(xiàn)速度越來(lái)越塊,芯片的上升/下降沿越來(lái)越陡,時(shí)序問(wèn)題變得越來(lái)越突出。時(shí)序問(wèn)題在設計中是至關(guān)重要的,尤其是隨著(zhù)時(shí)鐘頻率的提高,留給數據傳輸的有效讀寫(xiě)窗n越來(lái)越小,要想在很短的時(shí)間內,使數據信號從驅動(dòng)端完整地傳送到接收端,就必須進(jìn)行精確的時(shí)序計算和分析。同時(shí),時(shí)序與信號的完整性也是密不可分的,良好的信號質(zhì)量是確保時(shí)序穩定的關(guān)鍵。由于反射、串擾造成的信號質(zhì)量問(wèn)題,都很町能帶來(lái)時(shí)序的偏移和紊亂,導致時(shí)序余量不夠。
1 MC68332與AT93C46的SPI接口
MC68332與串行存儲器AT93C46的硬件接口比較簡(jiǎn)單,如圖1所示。其中,MC68332的CS、CLK(和MOSI腳為SPI輸出;MISO腳為SPI輸入。
2 時(shí)序問(wèn)題提出
在調試過(guò)程中出現批次不同的AT93C46,讀數據都能正確進(jìn)行。但寫(xiě)數據時(shí),有的批次寫(xiě)正確,有的則出現錯誤。下面分析MC68332與AT93C46 SPI接口的寫(xiě)時(shí)序圖(如圖2所示)及參數(見(jiàn)表1)。
圖2中,tDIS為數據建立時(shí)間,AT93C46數據手冊要求其最小值為10Ons;tDIH為數據保持時(shí)間,要求其最小值為100 ns。
MC68332手冊中,tDIS最小值為5Ons,tDIH最小值為50ns。
可見(jiàn)tDIS數據建立時(shí)間不夠,也就是說(shuō)在MC68332寫(xiě)出的數據還沒(méi)有穩定的情況下,SK時(shí)鐘的上升沿已經(jīng)來(lái)到。這時(shí),AT93C46會(huì )將不穩定的數據進(jìn)行鎖存。這樣,大部分情況下鎖存的數據是錯的。
3 時(shí)序問(wèn)題解決
時(shí)序余量不夠一般有兩方面原因:一是系統本身各芯片時(shí)序參數不匹配;二是信號完整性差,導致時(shí)序余量減少。為解決數據建立時(shí)間不夠的問(wèn)題,將MC68332的SPI接口的MISO數據入,MOSI數據出,CLK時(shí)鐘信號接入EPLD中進(jìn)行時(shí)序調整。將CLK信號的上升沿向后平移,下降沿向前平移,使得建立和保持時(shí)間都加長(cháng)。在EPLD中調整建立和保持時(shí)間后,任何批次的AT93C46都能正確讀/寫(xiě)。圖3和圖4分別是時(shí)序調整前后示波器的波形圖。
結語(yǔ)
在微機自動(dòng)化系統的設計中,應將充足的時(shí)序余量設計作為重中之重,這樣才能保證系統穩定、可靠地運行,且不必因芯片速度變快而更改設計。
評論