新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于cyclone EP1C6的LED大屏設計方案

        基于cyclone EP1C6的LED大屏設計方案

        作者: 時間:2009-03-19 來源:網絡 收藏

        主控板結構如圖3所示,上位機發送的數據通過雙絞傳送到RS422接收模塊[2],經轉換后送至,由的IOB7口以UART中斷的方式接收上位機發送的數據。將接收的串口數據以兩個字節為單位逐一寫入內置的FLASH中。單片機內部的2K字SRAM在此作為一個緩存區,每次單片機要向中寫一屏新的數據時,先按特定的地址從FLASH中讀出數據并存放到SRAM中,再將SRAM的數據并行寫到中。
        在其內部配置一個緩存單片機寫入的數據,同時將這些數據按照的結構和掃描電路的特點,從中有選擇性地讀出,并將讀出的數據由并轉串,按照一定的時序對點陣進行、列掃描,這個時序也是由FPGA產生的。掃描數據和時序控制信號從FPGA的I/O口輸出后,經過一個由74LS245構成的隔離驅動電路送至幕。
        2.3FPGA的雙口RAM的配置
        FPGA的雙口RAM的配置是本的獨特之處。RAM作為中介將單片機送來的數據在電子屏上顯示出來,由于數據顯示是一種動態掃描方式,若采用一個RAM 區,單片機在寫RAM 時,FPGA只能處于等待狀態,FPGA讀RAM時,單片機寫數據也無法同時進行,導致屏幕刷新頻率降低,動態掃描不連續,影響屏幕的顯示效果。因此了兩個同樣大小的RAM 區:A區和B區。當單片機寫A區時, FPGA讀B區的數據,單片機寫B區時,FPGA讀A區的數據。此外,由于FPGA掃描模塊可以達到很高的掃描速率,而單片機的運行速率則相對較低,且兩個模塊間有大量的數據交換,為此選擇高速雙口RAM,一方面保證單片機和FPGA同時讀寫數據,另一方面保證了數據的處理速度。
        提供了20個具有異步p雙端口p帶寄存器輸入口p可選擇的帶寄存器輸出口的存儲模塊―M4K模塊,每個M4K模塊的存儲容量為4Kbit。在QUARTUS軟件中進行簡單的設置,就可以將M4K模塊配置成雙口RAM,數據和地址的位寬可根據實際需要進行選擇。本文的RAM可容納兩屏的數據,數據位寬為16位,地址為12位,其中地址的最高位作RAM分區用,每個區存儲一屏的數據,兩屏讀寫同時進行,雙口RAM的配置如圖4所示。

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

        其中wren是單片機往FPGA中寫入數據的寫使能信號,wraddress[11..0]是寫的地址信號, wrclock是寫時鐘,data[15..0]是寫的數據,rdaddress[11..0]是讀的地址信號,rdclock是讀數據的時鐘信號,q[15..0]是讀出的數據。
        2.4FPGA的獨立掃描單元
        點陣模塊是紅色共陰模塊,4塊16×16點陣模塊連接成64×16點陣作為一個單元進行控制,整個大屏有3×8個這樣的單元。將的公共接口作為行控制,行掃描信號同時控制著一行中多個LED的通斷,以每個LED流過的電流為10mA計算,一個單元有64列,行掃描信號至少得提供1A左右的電流,因此,在掃描信號送到LED之前必須經過一個三極管以提高驅動能力。三極管選用高速中功率達林頓管TIP127,它的集電極吸收電流最大可達5A,保證行驅動能力。由于點陣的每行需要一個三極管驅動,所以一個64×16的單元塊需要16個TIP127。行掃描電路采用帶鎖存的移位寄存器74LS595來控制,每片74LS595控制 8行點陣的選通與否。由于采用的掃描方式為每隔8行數據同時掃描,一片74LS595每次只能點亮一行的數據,每行點亮的時間相等即占空比為1/8,因此屏幕亮度非常均衡。
        列掃描電路的功能是把要顯示的行對應的列數據送到LED的陰極,列掃描也是由74LS595控制的。本文設計的屏幕的硬件結構特點是:每8行LED的陰極是連在一起的,每片74LS595控制8列數據,每隔8行同時掃描,對于一個64×16的點陣單元,共需要8×2個74LS595控制,每行上的74LS595都是級聯起來的。每完成一次列掃描,FPGA都要輸出一個鎖存信號給74LS595以鎖存列數據,接著輸出行掃描信號點亮對應的行,再對行掃描數據進行鎖存,如此循環往復實現整個大屏幕的動態實時顯示功能[4]。
        由于FPGA在行列掃描之前已經對數據進行并串轉換,數據都是串行輸出的,每隔8行同時掃描,整個屏幕行掃描只需占用1個I/O口,列掃描只需占用16個I/O口,從而大大減少了對I/O的占用。采用FPGA設計掃描邏輯,掃描的關鍵不在是硬件連接,而是對芯片資源的配置。
        3 軟件設計
        系統的軟件設計由三部分組成:上位機圖象/文字編輯與發送軟件設計,單片機控制單元軟件設計,FPGA控制單元軟件設計。
        3.1 上位機軟件設計
        上位機的圖象/文字編輯與發送軟件由Visual Basic編寫,只須在界面中將屏幕大小設置為192×128,串口選擇COM1或COM2,波特率設置為9600,設置每屏起始地址和要發送的屏數,調入包含相關信息的文件,點擊“發送”按鈕即可。該軟件適用于任何大小彩色/單色屏,提供了豐富的圖形/文字編輯p修改功能,也可以直接調用WINDOWS中的16色畫圖文件(*.bmp)。
        3.2 單片機控制單元軟件設計
        單片機控制單元的軟件設計主要實現三大功能:串行數據接收和存儲、數據輸出和圖象顯示方式變換。串行數據接收部分主要是通過UART中斷接收并保存數據。圖象顯示方式變換部分實現圖象的變換如上移、下移、左移、右移等以實現豐富多彩的圖象顯示效果。單片機軟件設計是在凌陽科技的集成開發環境unSP IDE下完成的,主要由一個C文件和一個ASM文件組成,C文件包括5屏數據的循環送顯和圖像顯示方式變換,匯編文件包括中斷服務子程序和其他函數調用的子程序。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 博白县| 视频| 公安县| 屯昌县| 长岭县| 茶陵县| 巩义市| 山丹县| 新乡市| 桦甸市| 崇礼县| 涿州市| 兴文县| 汉中市| 益阳市| 隆子县| 阳山县| 微山县| 临江市| 顺义区| 纳雍县| 沈丘县| 乾安县| 屯留县| 兴文县| 辽阳县| 嘉峪关市| 宜黄县| 玛曲县| 临沭县| 临潭县| 丹阳市| 北碚区| 桓仁| 铜鼓县| 云浮市| 聂拉木县| 普洱| 兴隆县| 丹东市| 缙云县|