LED大屏幕輸出電路的優(yōu)化設(shè)計
圖4 加、減法模式下的數(shù)據(jù)組織與顯示
4 本方式使用時的注意事項
本方式使用時要注意計數(shù)器及RAM 芯片的讀寫速度必須與SPSCK 相匹配。SPI 方式的速率比較高,電路各器件讀取速度越高,數(shù)據(jù)出錯的幾率就會越小。
此外還有其他一些原因也會引起讀數(shù)據(jù)時的錯誤。如軟件編寫不當導(dǎo)致數(shù)據(jù)地址超出RAM空間,電路設(shè)計未重視計數(shù)器高速工作時發(fā)熱對周邊器件與布線帶來的影響等。
使用SPSCK 信號讀取外部儲存器時,同樣會產(chǎn)生SPI 主、從模式下的溢出錯誤,即連續(xù)傳輸多個數(shù)據(jù)時, 后一個數(shù)據(jù)覆蓋了前一個數(shù)據(jù)而產(chǎn)生的錯誤。這種錯誤產(chǎn)生的原因是從器件的傳輸標志SPIF從相對于主器件的傳輸標志SPIF主有一定的滯后,在主器件連續(xù)發(fā)送數(shù)據(jù)時,會導(dǎo)致從器件的傳輸標志和主器件下一個數(shù)據(jù)的傳輸標志相重疊,而利用SPSCK 觸發(fā)計數(shù)器使地址遞加讀取數(shù)據(jù),第一個收到的數(shù)據(jù)也會被覆蓋。
這種傳輸錯誤可以用軟、硬件的方法進行改進。在本文的設(shè)計中,后期在軟件編寫上采用了如下解決方法:先啟動SPI 模式,再進入計數(shù)器讀并行RAM ,浪費一個時序?;蚴窃赗AM 中存入數(shù)據(jù)時,全部存到它后一位的地址單元上,再用SPI 方式產(chǎn)生的脈沖去讀RAM ,就可得到正確的數(shù)據(jù)。
理論上本文方式可使顯示數(shù)據(jù)的輸出速度高至fOSC的1/ 4 ,但實際運用時卻受到了RAM、鎖存器等輸出電路器件的參數(shù)限制。SPSCK 的速率設(shè)定要根據(jù)所選擇RAM 的參數(shù)確定,即要滿足RAM 最小的地址有效時間與數(shù)據(jù)有效時間的要求。
圖5 主、從SPIF 時序下的數(shù)據(jù)溢出錯誤
5 結(jié) 語
在LED大屏幕的顯示過程中,讀取數(shù)據(jù)頻繁,且隨著顯示面積的增加與色彩變化的豐富,對數(shù)據(jù)輸出速度的要求越來越高。普通方式讀取一個字節(jié)的RAM 數(shù)據(jù),至少需要兩個機器周期,即24 T (時鐘周期)。而使用SPI 方式,數(shù)據(jù)的輸出速度由SPSCK(最高可設(shè)置為f OSC的1/ 4) 決定,而普通方式讀RAM 的速度只有1/ 24 f OSC ,即在SPI 模式下,此LED大屏幕電路的數(shù)據(jù)輸出速度最大可提高6 倍。通過此方法對輸出電路進行改造,可極大地使原有控制系統(tǒng)滿足數(shù)據(jù)高速輸出的要求。本文給出的例子雖是基于LED大屏幕應(yīng)用的,但在LCD 或是其他對數(shù)據(jù)有高速輸出要求的系統(tǒng)中,同樣具有借鑒運用意義。
DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY
評論