LED大屏幕輸出電路的優化設計
圖4 加、減法模式下的數據組織與顯示
4 本方式使用時的注意事項
本方式使用時要注意計數器及RAM 芯片的讀寫速度必須與SPSCK 相匹配。SPI 方式的速率比較高,電路各器件讀取速度越高,數據出錯的幾率就會越小。
此外還有其他一些原因也會引起讀數據時的錯誤。如軟件編寫不當導致數據地址超出RAM空間,電路設計未重視計數器高速工作時發熱對周邊器件與布線帶來的影響等。
使用SPSCK 信號讀取外部儲存器時,同樣會產生SPI 主、從模式下的溢出錯誤,即連續傳輸多個數據時, 后一個數據覆蓋了前一個數據而產生的錯誤。這種錯誤產生的原因是從器件的傳輸標志SPIF從相對于主器件的傳輸標志SPIF主有一定的滯后,在主器件連續發送數據時,會導致從器件的傳輸標志和主器件下一個數據的傳輸標志相重疊,而利用SPSCK 觸發計數器使地址遞加讀取數據,第一個收到的數據也會被覆蓋。
這種傳輸錯誤可以用軟、硬件的方法進行改進。在本文的設計中,后期在軟件編寫上采用了如下解決方法:先啟動SPI 模式,再進入計數器讀并行RAM ,浪費一個時序。或是在RAM 中存入數據時,全部存到它后一位的地址單元上,再用SPI 方式產生的脈沖去讀RAM ,就可得到正確的數據。
理論上本文方式可使顯示數據的輸出速度高至fOSC的1/ 4 ,但實際運用時卻受到了RAM、鎖存器等輸出電路器件的參數限制。SPSCK 的速率設定要根據所選擇RAM 的參數確定,即要滿足RAM 最小的地址有效時間與數據有效時間的要求。

圖5 主、從SPIF 時序下的數據溢出錯誤
5 結 語
在LED大屏幕的顯示過程中,讀取數據頻繁,且隨著顯示面積的增加與色彩變化的豐富,對數據輸出速度的要求越來越高。普通方式讀取一個字節的RAM 數據,至少需要兩個機器周期,即24 T (時鐘周期)。而使用SPI 方式,數據的輸出速度由SPSCK(最高可設置為f OSC的1/ 4) 決定,而普通方式讀RAM 的速度只有1/ 24 f OSC ,即在SPI 模式下,此LED大屏幕電路的數據輸出速度最大可提高6 倍。通過此方法對輸出電路進行改造,可極大地使原有控制系統滿足數據高速輸出的要求。本文給出的例子雖是基于LED大屏幕應用的,但在LCD 或是其他對數據有高速輸出要求的系統中,同樣具有借鑒運用意義。
DIY機械鍵盤相關社區:機械鍵盤DIY
評論