<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Blackfin DSP的液晶接口設計

          基于Blackfin DSP的液晶接口設計

          作者: 時間:2010-12-16 來源:網絡 收藏


          2 系統(tǒng)總體設計
          該液晶屏的輸入格式為RGB666格式,而ABF532的PPI接口數(shù)據線只有16位,根據人眼的視覺特性(對綠色最敏感),將紅色和藍色的最高位和最低位分別接在一起,其他數(shù)據線對應連接。
          液晶所需的同步信號HS和VS分別由ABF532的定時器1和定時器2產生。通過配置ABF532定時器的相關寄存器可以精確地控制輸出PWM
          波的有效沿,周期和占空比,完全匹配液晶時序。
          顯示所用的時鐘信號可以由外部的獨立晶振產生,分別輸入液晶和DSP的PPI口。也可以由DSP的輸出時鐘分頻產生,再分別輸入液晶和DSP的PPI口。本系統(tǒng)使用獨立的25 MHz晶振將時鐘信號直接輸給液晶和PPI。
          該液晶內部沒有顯存,因此在使用時系統(tǒng)需要擴展SDRAM,在SDRAM中開辟一塊區(qū)域作為顯示緩存,將需要顯示的數(shù)據寫入緩存,再由DMA傳送到PPI口進行顯示。
          系統(tǒng)總體設計框圖如圖3所示。
          b.JPG

          在外部25MHz時鐘的驅動下DSP按照寄存器的配置輸出相應的同步信號,同時將SDRAM對應區(qū)域中的數(shù)據從PPI口輸出。

          3 軟件設計
          (1)顯示緩存數(shù)據的存儲。
          該液晶每行800點,每個點對應16位數(shù)據,因此每行需要800×2 bit。每屏需要525行,包括前消隱23行,中間480行有效數(shù)據,后消隱22行,因此開辟顯示緩存大小為525×800×2 bit。為了操作方便,可定義一個二維數(shù)組,二維數(shù)組中的數(shù)據與TFTLCD上的點具有對應關系(數(shù)組中每兩個字節(jié)對應LCD上的一個點)。由于需要將顯示緩存定義在SDRAM中,因此在工程中需要添加ldf文件,將顯示緩存指定存儲在SDRAM中。
          緩存數(shù)組的定義如下
          section(“SDRAM0”)char DisplayBuffer[525][800*2]
          (2)定時器初始化。
          使用定時器1和定時器2分別作為行同步信號和場同步信號,根據液晶時序配置定時器寄存器,包括輸出時鐘周期,脈沖寬度,有效沿,PWM模式輸出等。為了與液晶同步,使用PPI的輸入時鐘驅動定時器。
          Blackfin定時器寄存器設置如下
          c.JPG

          (3)PPI初始化。
          使用通用模式(GP模式)輸出數(shù)據,兩個外部幀同步信號,PPI_FS1和PPI_FS2下降沿有效,PPI_DEIAY設置延時時鐘個數(shù)(行同步變高到數(shù)據輸出間的時鐘個數(shù))。


          關鍵詞: DSP

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();