一種基于hps的fpga的osd界面切換方案的制作方法
【專利摘要】本發(fā)明提供一種基于HPS的FPGA的OSD界面切換方案,屬于計算機領(lǐng)域,本發(fā)明利用帶有硬核(HPS)的FPGA作為控制單元,F(xiàn)PGA搭建硬核的外設模塊,輸出RGA信號通過DA轉(zhuǎn)換芯片在顯示屏上顯示圖片,通過鍵盤來對圖片切換進行控制。降低功耗、節(jié)省了芯片數(shù)量,為管理板PCB布局布線提供了方便。
【專利說明】—種基于HPS的FPGA的OSD界面切換方案
[0001]【技術(shù)領(lǐng)域】
本發(fā)明涉及計算機領(lǐng)域,用于在多單元服務器中。通過對多單元服務器管理板OSD界面調(diào)用來選擇將要操作的刀片主板。
【背景技術(shù)】
[0002]在先前的多單元服務器中,OSD界面的調(diào)用是通過單片機加OSD芯片來實現(xiàn)的。在整個多單元服務器中,要實現(xiàn)KVM功能需要的主芯片比較多,在電路布局時存在不便??紤]到電路設計時電路板的大小,減少芯片的利用數(shù)量,需要一種新的實施方案來實現(xiàn)界面切換。
【發(fā)明內(nèi)容】
[0003]本發(fā)明專利就是利用帶有HPS的FPGA來取代單片機和OSD芯片。在FPGA內(nèi)部:采用HPS加上FPGA外設模塊來實現(xiàn)OSD界面的切換和調(diào)用。
[0004]本發(fā)明提供一種利用帶有HPS的FPGA來實現(xiàn)OSD界面的切換方案,解決多單元服務器中管理板芯片數(shù)量過多,縮小布板面積。
[0005]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
第一步在FPGA內(nèi)部采集需要的圖片信息。FPGA的硬核(HPS)在Iinux系統(tǒng)下通過應用程序來獲取圖片數(shù)據(jù),將獲取的圖片數(shù)據(jù)存儲起來。第二步是將獲取的圖片數(shù)據(jù)通過AXI總線送到FPGA端的內(nèi)存中,在FPGA內(nèi)部搭建的電路是實現(xiàn)從FPGA的HPS端到FPGA端的通道,通過Framebuffer這個IP核獲得圖片的數(shù)據(jù),配置VGA輸出需要的clock video核的參數(shù)。通過在HPS部分USB鍵盤截取鍵值來控制圖片的顯示順序和顯示內(nèi)容。
[0006]本發(fā)明是提出一種新型的OSD界面切換實現(xiàn)思想,利用當前最新的SOC來實現(xiàn)。
[0007]本發(fā)明所產(chǎn)生的有益效果是:
本發(fā)明可以應用在計算機領(lǐng)域,通過調(diào)用不通的OSD界面來切換不同的通道,通過主管理板來對切換到的通道設備進行管理;
可以應用在計算機領(lǐng)域、云終端、物聯(lián)網(wǎng)終端、多媒體終端以及消費類終端等帶用終端控制領(lǐng)域中;
降低功耗、節(jié)省了芯片數(shù)量,為管理板PCB布局布線提供了方便。
【專利附圖】
【附圖說明】
[0008]圖1是本發(fā)明所述HPS的FPGA的OSD界面切換總體硬件設計框圖;
圖2是本發(fā)明所述HPS的FPGA的OSD界面切換qsys的硬件電路搭建;
圖3是本發(fā)明所述HPS的FPGA的OSD界面切換軟件實施方案;
圖4是本發(fā)明所述HPS的FPGA的OSD界面切換程序流程圖。
【具體實施方式】[0009]本發(fā)明包括裝置:PC機、硬件SOCkit開發(fā)板、虛擬機用于對linux3.8內(nèi)核編譯和更改、串口和網(wǎng)口將應用程序燒錄到SD卡、Quartus 13.1對硬件電路下載。
[0010]圖2是本設計方案通過qsys搭建的硬件電路圖,利用QuartusII 13.1對電路圖模塊例化和編譯后生成的*.sof文件下載到FPGA。
[0011]圖3是軟件的實施方案,本實施方案是在內(nèi)核版本為linux3.8的Iinux下實現(xiàn)的,編譯內(nèi)核燒錄到SD卡上。編寫實現(xiàn)OSD界面切換的應用程序,編譯生成可執(zhí)行文件通過網(wǎng)口和串口燒錄到SD卡。
[0012]圖4是程序流程圖,在FPGA內(nèi)部通過USB來實現(xiàn)OSD界面切換的部分應用程序如下:
鍵值讀取函數(shù):
if ((fdkey = open (name, O—RDWR,0)) >=0)
{
printf(〃%s: open, fdkey = %d\n〃,name, fdkey);
for (ikey = 0; ikey < LED_MAX; ikey++)
{
event, time, tv—sec = time (0);
event, time, tv—usee = 0;
event.type = EV—LED;
event, code = ikey;
event, value =0;
write (fdkey, &event, sizeof (event));
}
ikey=0;
while ((rc = read (fdkey, &event, sizeof (event))) >0)
{
printf (〃%_24.24s.%061u type 0x%04x; code 0x%04x; 〃
〃 value 0x%08x;",
ctime(&event.time.tv_sec),
event, time, tv—usec,
event, type, event, code, event, value);
switch (event, type)
{
case EV—KEY:1f (event, code > BTN—MISC)
{
printf("Button %d %s〃,
event, code & Oxffj
event, value ? 〃press〃: 〃release〃);
}else
{
printf ("Key %d (Ox%x) %s",
event, code & Oxffj
event, code & Oxffj
event, value ? 〃press〃: 〃release〃);
}
break;case EV_REL:switch (event, code)
{
case REL_X: tmp = 〃X〃; break; case REL_Y: tmp = 〃Y〃; break; case REL—HWHEEL: tmp = "HWHEEL"; break; case REL—DIAL: tmp = 〃DIAL〃; break; case REL—WHEEL: tmp = 〃WHEEL〃; break; case REL—MISC: tmp = "MISC"; break; default: tmp = "UNKNOWN"; break;
}
printf ("Relative %s %d〃,tmp, event.value);break;case EV_ABS:switch (event, code)
{
case ABS—X: tmp = 〃X〃; break; case ABS—Y: tmp = 〃Y〃; break; case ABS_Z: tmp = 〃Z〃; break; case ABS_RX: tmp = 〃RX〃; break; case ABS—RY: tmp = 〃RY〃; break; case ABS_RZ: tmp = 〃RZ〃; break; case ABS—THROTTLE: tmp = "THROTTLE"; break; case ABS—RUDDER: tmp = "RUDDER"; break; case ABS—WHEEL: tmp = "WHEEL"; break; case ABS—GAS: tmp = "GAS"; break; case ABS—BRAKE: tmp = "BRAKE"; break; case ABS—HATOX: tmp = 〃HAT0X〃; break; case ABS—HATOY: tmp = 〃HAT0Y〃; break; case ABS—HATIX: tmp = "HATIX"; break; case ABS—HATlY: tmp = "HAT1Y"; break;
【權(quán)利要求】
1.一種基于HPS的FPGA的OSD界面切換方案,其特征在于該方案步驟如下: 第一步在FPGA內(nèi)部采集需要的圖片信息;FPGA的硬核(HPS)在Iinux系統(tǒng)下通過應用程序來獲取圖片數(shù)據(jù),將獲取的圖片數(shù)據(jù)存儲起來; 第二步是將獲取的圖片數(shù)據(jù)通過AXI總線送到FPGA端的內(nèi)存中,在FPGA內(nèi)部搭建的電路是實現(xiàn)從FPGA的HPS端到FPGA端的通道,通過Framebuffer這個IP核獲得圖片的數(shù)據(jù),配置VGA輸出需要的clock video核的參數(shù);通過在HPS部分USB鍵盤截取鍵值來控制圖片的顯示順序和顯示內(nèi)容。
【文檔編號】G06F3/14GK103995598SQ201410065748
【公開日】2014年8月20日 申請日期:2014年2月26日 優(yōu)先權(quán)日:2014年2月26日
【發(fā)明者】張孝飛, 劉強, 金長新 申請人:山東超越數(shù)控電子有限公司