數據輸出電路的優化基理方案解析
圖3 SPI 模式下的L ED 大屏幕控制電路圖
級聯計數器的個數根據RAM 的容量大小,即地址線的數目來確定。微處理器通過驅動器連接SPI 串行存儲器, 驅動器可以選擇7407 或7417 的型號。RM_MODE 用來區別不同的讀寫操作方式。當RM_MODE = 1 時,是普通讀寫外部存儲器的方式,當RM_MODE = 0 時,就可以讓主機作為主器件,串行FLASH 存儲器作為從器件,兩者以SPI 方式進行通信,利用此時產生的SPSCK信號對存儲器進行高速讀數據操作。同時SPSCK信號經過變換與延時處理,可以供給LED做SCK 移位信號用。在計數脈沖的輸入端,可以使用跳線做加、減方式的選擇處理。當脈沖接于計數器UP 端時, 為加計數方式, 接于DOWN 時,為減計數方式。圖3 也可擴展并接多組計數器,多組RAM.
減計數器方式的運用大大增強了數據輸出的靈活性。在LED大屏幕顯示中,加、減計數器配合使用,可以使相同一塊控制卡輸出數據的顯示長度提高一倍。當使用減計數器方式時,為了與使用加方式時LED大屏幕上顯示的圖文一致,必須對與減計數器連接的RAM 的數據進行上、下半屏交換處理,并且在輸出時要在程序中改變數據的起始點,給出的行控制信號(RCK) 也應做倒序處理(見圖4).
圖4 加、減法模式下的數據組織與顯示
4 本方式使用時的注意事項
本方式使用時要注意計數器及RAM 芯片的讀寫速度必須與SPSCK 相匹配。SPI 方式的速率比較高,電路各器件讀取速度越高,數據出錯的幾率就會越小。
此外還有其他一些原因也會引起讀數據時的錯誤。如軟件編寫不當導致數據地址超出RAM空間,電路設計未重視計數器高速工作時發熱對周邊器件與布線帶來的影響等。
使用SPSCK 信號讀取外部儲存器時,同樣會產生SPI 主、從模式下的溢出錯誤,即連續傳輸多個數據時, 后一個數據覆蓋了前一個數據而產生的錯誤。這種錯誤產生的原因是從器件的傳輸標志SPIF從相對于主器件的傳輸標志SPIF主有一定的滯后,在主器件連續發送數據時,會導致從器件的傳輸標志和主器件下一個數據的傳輸標志相重疊,而利用SPSCK 觸發計數器使地址遞加讀取數據,第一個收到的數據也會被覆蓋。
DIY機械鍵盤相關社區:機械鍵盤DIY
評論