
圖3 雙口RAM配置
其中wren是單片機(jī)往FPGA中寫入數(shù)據(jù)的寫使能信號(hào),wraddress[11..0]是寫地址信號(hào), wrclock是寫時(shí)鐘,data[15..0]是寫數(shù)據(jù),rdaddress[11..0]是讀地址信號(hào),rdclock是讀數(shù)據(jù)的時(shí)鐘信號(hào),q[15..0]是讀出的數(shù)據(jù)。對(duì)于這個(gè)雙口RAM而言,只有q[15..0]是輸出端口,其它均為輸入端口。與寫數(shù)據(jù)相關(guān)的信號(hào)全部由單片機(jī)產(chǎn)生,讀數(shù)據(jù)的所有信號(hào)由FPGA產(chǎn)生。其中讀寫地址的最高位可實(shí)現(xiàn)RAM分區(qū)。
點(diǎn)陣驅(qū)動(dòng)電路
本系統(tǒng)中LED的灰度等級(jí)是采用調(diào)制占空比的方法來實(shí)現(xiàn)的,由于大屏幕是單色點(diǎn)陣,主要用來顯示文字信息,所以要求亮度高且均衡。根據(jù)這一特點(diǎn),采用了模塊化的隔8行掃描方式。每隔8行點(diǎn)陣同時(shí)進(jìn)行掃描,則每行的占空比是1/8,使屏幕亮度得到保證。
點(diǎn)陣的驅(qū)動(dòng)電路分為行驅(qū)動(dòng)和列驅(qū)動(dòng),列驅(qū)動(dòng)采用串行數(shù)據(jù)傳輸方式,易于模塊化。列驅(qū)動(dòng)電路由74LS595組成,行驅(qū)動(dòng)電路由74LS595和與之配套的反相器7406、PNP達(dá)林頓功率三極管TIP127組成。所有作為行驅(qū)動(dòng)74LS595的數(shù)據(jù)時(shí)鐘信號(hào)、數(shù)據(jù)鎖存信號(hào)、掃描數(shù)據(jù)、時(shí)鐘、鎖存信號(hào)都在一起,所有作為列驅(qū)動(dòng)74LS595的數(shù)據(jù)時(shí)鐘信號(hào)、數(shù)據(jù)鎖存信號(hào)、掃描數(shù)據(jù)、時(shí)鐘、鎖存信號(hào)也是在一起的,這樣可以實(shí)現(xiàn)大屏幕的同步顯示。
軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)由3部分組成:上位機(jī)圖像/文字編輯與發(fā)送軟件設(shè)計(jì)、單片機(jī)控制單元軟件設(shè)計(jì),以及FPGA控制單元軟件設(shè)計(jì)。
上位機(jī)軟件設(shè)計(jì)
上位機(jī)的圖像/文字編輯與發(fā)送軟件由Visual Basic編寫,只須在界面中將屏幕大小設(shè)置為192×128,串口選擇COM1或COM2,波特率設(shè)置為9600,并設(shè)置每屏的起始地址和要發(fā)送的屏數(shù),調(diào)入包含相關(guān)信息的文件,點(diǎn)擊“發(fā)送”按鈕即可。數(shù)據(jù)流經(jīng)符合RS-422標(biāo)準(zhǔn)的雙絞線傳輸?shù)街骺匕。該軟件適用于任何大小的彩色/單色屏,提供了豐富的圖形/文字編輯、修改功能。也可以直接調(diào)用Windows中的16色畫圖文件(*.bmp),從而可以利用Windows或基于Windows的各種作圖工具設(shè)計(jì)出豐富多彩的圖像。
單片機(jī)控制單元軟件設(shè)計(jì)
單片機(jī)控制單元的軟件設(shè)計(jì)主要實(shí)現(xiàn)3大功能:串行數(shù)據(jù)接收、數(shù)據(jù)輸出和圖像顯示方式變換。設(shè)計(jì)流程如圖4所示。串行數(shù)據(jù)接收部分主要是通過UART中斷接收并保存位圖文件。圖像顯示方式變換部分實(shí)現(xiàn)圖像的變換,如上移、下移、左移、右移等,以實(shí)現(xiàn)豐富多彩的圖像顯示效果。

圖4 主程序流程圖和中斷程序流程圖
FPGA控制單元軟件設(shè)計(jì)
FPGA控制單元是在QUARTUSII環(huán)境下開發(fā)的,主要功能是配置雙口RAM、傳送數(shù)據(jù)和相應(yīng)的驅(qū)動(dòng)信號(hào),以實(shí)現(xiàn)串行數(shù)據(jù)的顯示。串行數(shù)據(jù)顯示是軟件設(shè)計(jì)的核心,該單元的軟件設(shè)計(jì)模塊如圖5所示。雙端口RAM的配置完全由軟件實(shí)現(xiàn),F(xiàn)PGA讀雙口RAM的A區(qū)還是B區(qū)是由單片機(jī)的HIGHADR引腳控制的。FPGA按照顯示驅(qū)動(dòng)的要求讀出相應(yīng)的數(shù)據(jù)后,還要將這些數(shù)據(jù)由串轉(zhuǎn)并送至列驅(qū)動(dòng)的74LS595上。掃描控制信號(hào)則在數(shù)據(jù)送到顯示驅(qū)動(dòng)的過程中產(chǎn)生,用于實(shí)現(xiàn)行、列驅(qū)動(dòng)。

圖5 FPGA控制單元軟件設(shè)計(jì)框圖
結(jié)語
本文提出的基于Cyclone EP1C6和SPCE061A 的LED 大屏幕方案已應(yīng)用于現(xiàn)場。其基于FPGA的雙口RAM 和掃描控制設(shè)計(jì)使得系統(tǒng)穩(wěn)定可靠。實(shí)踐證明,本系統(tǒng)能以多種播出方式顯示各種字體和型號(hào)的文字和圖形信息,與同類設(shè)計(jì)相比,畫面清晰、性能穩(wěn)定、操作使用簡單,具有很好的應(yīng)用前景。





