新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 數據輸出電路的優化基理方案解析

        數據輸出電路的優化基理方案解析

        作者: 時間:2012-05-09 來源:網絡 收藏

        1 引 言

        本文引用地址:http://www.104case.com/article/190398.htm

        在LED大屏幕等顯示系統對速度的要求日益提高的背景下,當前對控制設備進行改造的過程中,首選的辦法是更換更高速率的微處理器,而對硬件的挖潛往往容易被忽視。

        在實踐運用中,建議應先考慮在原有的系統上進行硬件改造,如仍不能滿足顯示要求,可再考慮更換高速率微處理器及用FPGA/ CPLD 器件進行輸出替代處理的。本文以LED 大屏幕控制電路為例,提出了一種在硬件電路改造上提高顯示速度的實現辦法。

        2 電路的優化基理

        由LED大屏幕的顯示原理可知,一個數據顯示在LED大屏幕的過程分為:從存儲器中讀出數據與送入到LED板中顯示兩個步驟。這一過程需要產生如下控制信號:數據地址送入存儲器,存儲器讀信號,鎖存器開通及LED單元板中的行信號、HC595 的SCK 移位、RCK 鎖存、E 使能信號等。這些必需信號的產生增加了數據顯示過程的時間。如果能夠復用其中的信號,勢必減少這一過程的延時。在LED顯示系統中,常把顯示數據按行存儲到外部ROM/ RAM 中的辦法即是一例。該辦法設定存儲器的高位并接到L ED的行控制線上,數據按行儲存,送入數據地址后,按行讀出數據,并同時開通了行控制信號。下面的信號復用也是類似的原理。


        圖1  信號復用示例

        在考查讀外存的MOVX 命令時發現:執行該命令時可產生讀信號(RD # ),即讀外存時不但不需要另外去產生讀信號(RD # ),而且還可以將此信號供給鎖存器74HC273 及LED板上的移位信號SCK使用。這里要注意的是:在數據讀出后,SCK信號才送出,所以RD # 信號不可直接做SCK信號使用,必須做延時處理(最小延時必須要略大于RAM 的讀寫時間tRC與74HC273 的數據鎖存延時tTL H之和)。

        而當連續讀出一塊存儲器數據時,需要通過程序產生新的地址賦值給數據口, 而這些地址都是順序變化的。基于這一特點,設計采用計數器電路用來保存讀數據時的初始地址,利用外部供給的脈沖,只要對計數器的保存地址進行順序增加,即可將數據連續讀出。

        單片機ALE 腳或是利用串行口工作方式也會產生一定頻率的脈沖,但沒有SPI 方式下產生的脈沖頻率高,且這兩種方式的使用均有一定的限制,而啟動SPI 方式比較方便。串行外圍接口(Serial Perip heral Interface , SPI) 總線系統是一種同步串行外設接口,是Motorola 首先在其MC68HCXX 系列處理器上定義的。SPI 系統有4 個I/ O 腳,它們是串行時鐘SPSCK、主機輸入/從機輸出數據線MISO、主機輸出/ 從機輸入數據線MOSI 和低位有效的從機選擇數據線SS.SP2SCK用于同步數據從MOSI 輸入和MISO 的輸出傳送。通過對SPI 控制寄存器SPCR 的設置,SPSCK的頻率最高可以達到振蕩器頻率( fOSC )的1/ 4。

        因為SPI 模式可方便產生出較高頻率脈沖的優點,即采用SPSCK作為計數器的脈沖,利用計數器對存儲器產生連續變化的地址,實現對數據的高速讀出。并且SPSCK 信號經過變換與延時處理,可同時供給LED做SCK移位信號使用。


        圖2  SPI 在讀取存儲器的運用

        3 SPI 運用的實現過程

        從上文可以得到這樣的啟示:在LED控制電路的設計中,可借助于SPI 模式讀取數據,即增加一塊SPI 模式的FLASH 存儲器,一方面可以保存重要文檔,另一方面可以利用SPSCK 產生的信號,通過計數器電路實現對存儲器高速讀數據,并且復用此信號產生屏幕顯示的控制信號。在給定了輸出數據的首地址并啟動SPI 后,此方式使數據的讀出到屏幕顯示這一過程自動進行,同一信號源的全硬件方式大大減少了以往分別產生各控制信號方式時的銜接延時。圖3 為SPI 在LED大屏幕控制電路中的運用示例。

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 3 下一頁

        關鍵詞: 數據輸出 電路 方案

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 清镇市| 旬阳县| 常州市| 吕梁市| 黑山县| 玛纳斯县| 南投县| 彭州市| 汾西县| 肥西县| 晴隆县| 乌鲁木齐县| 天镇县| 五原县| 盱眙县| 延津县| 莆田市| 张家港市| 津市市| 望城县| 长葛市| 高青县| 浦北县| 天门市| 鱼台县| 宁波市| 石河子市| 虹口区| 开原市| 平凉市| 松滋市| 木兰县| 萨迦县| 黑河市| 青河县| 成安县| 漳州市| 绥宁县| 青神县| 石河子市| 阜阳市|