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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CPLD的DSP人機接口模塊的設計

          基于CPLD的DSP人機接口模塊的設計

          作者: 時間:2012-10-31 來源:網(wǎng)絡 收藏

          本文引用地址:http://www.ex-cimer.com/article/148289.htm

          電平轉(zhuǎn)換芯片的選擇

          由于為3.3V的器件,而LCD是5V的器件。所以為了和LCD之間的電平匹配,需要借助電平轉(zhuǎn)換芯片來完成從3.3V到5V之間的相互轉(zhuǎn)換。選擇的電平轉(zhuǎn)換芯片是TI公司的SN74LVC4245A芯片,這個芯片的數(shù)據(jù)傳輸方向是雙向的,在引腳DIR的作用下,既可以實現(xiàn)從3.3v向5v轉(zhuǎn)換,也可以實現(xiàn)從5v向3.3v轉(zhuǎn)換。

          為了液晶能夠正確的工作,液晶需要上電復位。本中采用的字體是8×8點,所以在硬件電路時將FS引腳拉低。

          在硬件時,我們需要注意的問題是:

          (1)在VDD對地(Vss)間接0.1u左右電容去耦,接10u或20u電容濾波;

          (2)的復位腳/RST接一個復位電路,而且我們也將/RST與相連,這樣我們也可以利用對其進行復位,使得可以是液晶進行定時刷新,預防一些其他干擾;

          (3)在做實驗時,F(xiàn)G(鐵框地線、不能懸空,暫時與數(shù)字地連接。

          鍵盤硬件設計

          鍵盤在信號采集系統(tǒng)中是一個很關健的部件,它能向系統(tǒng)輸入數(shù)據(jù)、傳送命令等功能,是人工干預系統(tǒng)的主要手段,本系統(tǒng)所用鍵盤是常用的4×4矩陣式鍵盤。

          16個鍵盤有0~9數(shù)字鍵,上翻,下翻鍵,編程鍵,輸入鍵,擦除鍵,點號健等。鍵盤的行線和列線分圳連接CPLD的一個I/O引腳。鍵盤的行線上有一個2.7k的上拉電阻將行線所連接的CPLD的I/O引腳上拉直高電平。

          4.jpg

          圖3為鍵盤設計的硬件原理圖。

          鍵盤工作原理

          按鍵設置在行、列線空點上,行、列線分別連接到按鍵開關的兩端。行線通過上拉電阻接到3.3v上。平時無按鍵動作時,行線處于高電平狀態(tài),而當有按鍵按下時,行線的電平狀態(tài)將由與此行線相連的列線電平?jīng)Q定。列線電平如果為低,則行線電平亦為低,列線電平如果為高,則行線電平亦為高。這一點是識別矩陣鍵盤按鍵是否按下的關鍵所存。由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。因此各按鍵彼此將互相影響,所以必須將行、列線信號配合起來并作適當?shù)奶幚?,才能確定閉合鍵的位置。

          結(jié)語

          本文簡單介紹了TI16位控制器與液晶顯示及鍵盤模塊之間的方案.利用了CPLD來進行邏輯轉(zhuǎn)換和控制。提供了一種高速器件和慢速直接的連接方法,通過這個方案研究,為以后系統(tǒng)的開發(fā)提供了一種新的思路。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(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); })();