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

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 地鐵列車LED顯示屏的設(shè)計

          地鐵列車LED顯示屏的設(shè)計

          作者: 時間:2012-05-14 來源:網(wǎng)絡(luò) 收藏

          摘要:根據(jù)車輛CAN智能總線通訊的要求了一種先進的多功能屏,其特點是采用多模塊化,可根據(jù)需要對系統(tǒng)的總線通訊模塊和測溫模塊進行更換,實現(xiàn)了對多種動態(tài)文字和靜態(tài)圖形的顯示和車內(nèi)外的溫度和濕度的監(jiān)測。該的刷新頻率可以達到61.6Hz,動態(tài)顯示的換幀頻率達到26.2Hz.文章從組成框圖、硬件以及邏輯控制流程等幾方面介紹了該的驅(qū)動電路,給出了硬件接口電路圖。驅(qū)動電路的核心部分采用單片機77E58來控制的顯示,大大降低了LED的成本,優(yōu)化了LED顯示器件的驅(qū)動電路。

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

          1引言

          LED中作為一種面向公眾的信息顯示終端,有著非常廣泛的民用和商用價值。

          目前在國內(nèi)運行的車輛普遍都配備了LED顯示屏,但附加功能較少,屏幕顯示內(nèi)容單一。為了配合新型地鐵旅客信息系統(tǒng)的使用,我們設(shè)計了一種全新的多總線式LED顯示動態(tài)屏。

          該顯示屏在外部通訊時不但具有多種總線接口,在內(nèi)部控制電路設(shè)計中還采用了單總線和I2C總線器件。

          地鐵上的LED屏分兩種:一種放置于車廂外側(cè),用于顯示運行區(qū)間、運行方向和當(dāng)前到站站名,中英文兼容顯示;也可根據(jù)運行需要顯示其他服務(wù)信息;文字顯示可選靜止、滾動、平移、瀑布、動畫等多種效果,最大顯示字符數(shù)為16×16點陣字符12個。另一種為終點LED顯示屏,放置于車內(nèi),終點站LED顯示屏可按運營要求預(yù)置終點站,并實時顯示當(dāng)前的終點站,同時還能顯示目前車內(nèi)溫度,最大顯示字符數(shù)為16×16點陣字符8個。

          2系統(tǒng)構(gòu)成

          LED顯示系統(tǒng)屏由單片機控制單元和顯示單元兩部分組成,單個顯示單元可顯示16×16的漢字4個,若制作生產(chǎn)一定尺寸的LED圖文顯示屏系統(tǒng),只要用若干智能顯示單元,采用搭積木的方法即可實現(xiàn),系統(tǒng)中各顯示單元之間采用串行通信聯(lián)系??刂茊卧素撠?zé)控制顯示單元和傳輸上位機的指令和信號外,還內(nèi)嵌了單總線數(shù)字溫度傳感器18B20。得益于控制電路的模塊設(shè)計,若對濕度測量也有要求的情況下,18b20可升級為Dallas公司的DS2438和Honeywell公司的HIH23610構(gòu)成的模塊電路。為了滿足整車的通訊需要,上位機與車內(nèi)的各控制單元之間采用CAN總線方式通訊。

          圖1  系統(tǒng)結(jié)構(gòu)圖

          圖1系統(tǒng)結(jié)構(gòu)圖

          3硬件設(shè)計

          顯示單元由LED顯示面板和顯示電路兩部分組成,LED顯示面板是由4塊點陣模塊組成的16×64點陣通用智能顯示單元,單個顯示單元全屏可以顯示4個16×16點陣漢字或符號,系統(tǒng)中各顯示單元之間采用串行通信聯(lián)系,從而使得整個系統(tǒng)的工作協(xié)調(diào)統(tǒng)一。顯示電路由兩個16針排線口、兩個74H245三態(tài)總線驅(qū)動器、一個74HC04D六反相器、兩個74H138八譯碼器以及8個74HC595移位鎖存器組成。控制電路核心為WINBOND的高速單片機77E58,晶振頻率為24MHz.AT29C020A為256K的ROM,用于存貯16×16點陣的漢字庫和16×8點陣的ASCII碼表。AT24C020是基于I2C串行總線的EP2ROM,其存儲預(yù)設(shè)定的語句,例如地鐵站點名稱、問候語等。車內(nèi)溫度通過單總線式數(shù)字溫度傳感器18b20測量。SJA1000和TJA1040分別為CAN總線控制器和收發(fā)器。

          3.1控制電路單元設(shè)計

          整個系統(tǒng)以winbond的動態(tài)單片機77E58為核心,77E58采用了重新設(shè)計的微處理器內(nèi)核,其指令兼容51系列,但由于時鐘周期僅為4個周期,在相同的時鐘頻率下,其運行速度一般比傳統(tǒng)8051提高2~3倍,因此很好地解決了大容量漢字動態(tài)顯示時對單片機的頻率要求,另外還自帶看門狗。77E58通過鎖存器74LS373控制閃速存儲器AT29C020,大小為256K.由于存儲器容量大于64K,因此在設(shè)計中采用了分頁尋址的方法,即用P1.1和P1.2對閃存器進行頁選,共分4頁,每頁的尋址大小為64K,P1.5除了用于對AT29C020片選外,還保證了P1.1和P1.2在16針的排線接口上復(fù)用時不對AT29C020造成誤操作。CAN控制器為通訊的關(guān)鍵部分,為了提高抗干擾能力,在CAN控制器SJA1000和CAN收發(fā)器TJA1040之間加接6N137高速光耦,單片機通過P3.0對CAN控制器SJA1000進行片選。18B20為單總線器件,該器件與單片機接口僅需占用一個I/O端口,可直接將溫度轉(zhuǎn)化成數(shù)字信號,并以9位數(shù)字碼方式串行輸出,在控制電路中選用P1.4完成對18B20的片選和數(shù)據(jù)傳輸功能。AT24C020的時鐘線SCL和雙向數(shù)據(jù)線SDA分別接單片機的P1.6和P1.7.16針的排線接口是控制電路和顯示電路的接口部分??刂齐娐返挠布B接圖如圖2。

          圖2  控制電路硬件連接圖

          圖2控制電路硬件連接圖

          3.2顯示單元連接與控制

          顯示電路部分通過16針排線(1)口與控制電路部分的16針排線口相連,16針排線口(1)將單片機的指令和數(shù)據(jù)傳輸?shù)絃ED顯示電路,16針排線(2)用于多個顯示屏幕的級聯(lián),它的連線和16針排線口(1)基本一樣,但是要注意其R端連接的是圖2從左至右的第8個74H595的DS端,在級聯(lián)的時候它將與下一塊顯示屏的16針排線(1)口串接(如圖1)。CLK為時鐘信號端,STR為行鎖存端,R為數(shù)據(jù)端,G(GND)、LOE為行點亮使能端,A、B、C、D為行選端。各端口具體作用如下:A、B、C、D為行選擇端,用于控制將來自上位機數(shù)據(jù)具體送至顯示面板上的指定行,R為數(shù)據(jù)端,接受單片機傳輸?shù)臄?shù)據(jù)。LED顯示單元的工作時序如下:CLK時鐘信號端在R端收到一個數(shù)據(jù)后,由控制電路人為地給一個脈沖上升沿,STR在一行數(shù)據(jù)(16×4)64個數(shù)據(jù)全部傳送完后,給出一個脈沖上升沿以鎖存數(shù)據(jù);LOE由單片機置1將該行點亮。顯示電路原理圖如圖3。

          圖3  顯示電路原理圖

          圖3顯示電路原理圖

          4模塊化設(shè)計

          地鐵車輛根據(jù)實際情況對LED顯示屏有不同的要求,因此我們在設(shè)計電路時對此做了充分考慮,即在保證主要功能和結(jié)構(gòu)不變的情況下,可以對特定模塊進行互換。該結(jié)構(gòu)使得LED控制電路具有良好的擴展性和易用性。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 設(shè)計 顯示屏 LED 列車 地鐵

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();