CN103995598A - HPS-based OSD interface switching scheme of FPGA - Google Patents
HPS-based OSD interface switching scheme of FPGA Download PDFInfo
- Publication number
- CN103995598A CN103995598A CN201410065748.XA CN201410065748A CN103995598A CN 103995598 A CN103995598 A CN 103995598A CN 201410065748 A CN201410065748 A CN 201410065748A CN 103995598 A CN103995598 A CN 103995598A
- Authority
- CN
- China
- Prior art keywords
- fpga
- hps
- break
- tmp
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
The invention provides an HPS-based OSD interface switching scheme of an FPGA and belongs to the field of computers. According to the scheme, the FPGA with a hardcore (HPS) is used as a control unit, a peripheral module of the hardcore is set up through the FPGA, RGA signals are output, so that pictures are displayed on a display screen through a DA conversion chip, and switching between the pictures is controlled through a keyboard. Through the scheme, power consumption is reduced, the number of chips is reduced, and locating and wiring of a PCB of a management panel can be performed conveniently.
Description
technical field
the present invention relates to computer realm, at multi-unit server.By the blade mainboard that multi-unit server management board OSD interface is called select to operate.
Background technology
In previous multi-unit server, the calling of OSD interface adds OSD chip by single-chip microcomputer and realizes.In whole multi-unit server, the master chip that realize KVM function needs is many, has inconvenience when circuit layout.The size of circuit board while considering circuit design, reduces the quantity of utilizing of chip, needs a kind of new embodiment realize interface and switches.
Summary of the invention
Patent of the present invention is exactly to utilize the FPGA with HPS to replace single-chip microcomputer and OSD chip.Inner at FPGA: to adopt HPS to add that FPGA peripheral module realizes the switching at OSD interface and call.
The invention provides a kind of utilization and with the FPGA of HPS, realize the handover scheme at OSD interface, in solution multi-unit server, management board number of chips is too much, dwindles fabric swatch area.
The technical solution adopted for the present invention to solve the technical problems is:
The first step is at the inner pictorial information needing that gathers of FPGA.The stone of FPGA (HPS) obtains image data by application program under linux system, and the image data obtaining is stored.Second step is that the image data obtaining is delivered in the internal memory of FPGA end by AXI bus, the circuit of building in FPGA inside is to realize the passage of holding FPGA end from the HPS of FPGA, by this IP kernel of Framebuffer, obtain the data of picture, the parameter of the clock video core that configuration VGA output needs.By control DISPLAY ORDER and the displaying contents of picture at HPS part USB keyboard intercepting key assignments.
The present invention proposes the switching of a kind of novel OSD interface to realize thought, utilizes current up-to-date SOC to realize.
The beneficial effect that the present invention produces is:
The present invention can be applied in computer realm, by calling obstructed OSD interface, switches different passages, by main management plate, the channel unit being switched to is managed;
Can be applied in the bands such as computer realm, cloud terminal, internet-of-things terminal, multimedia terminal and consumer terminal with in terminal control field;
Reduce power consumption, saved number of chips, for management board PCB placement-and-routing provides convenience.
Accompanying drawing explanation
Fig. 1 is that overall hardware design block diagram is switched at the OSD interface of the FPGA of HPS of the present invention;
Fig. 2 is that the hardware circuit that qsys is switched at the OSD interface of the FPGA of HPS of the present invention is built;
Fig. 3 is that implement software scheme is switched at the OSD interface of the FPGA of HPS of the present invention;
Fig. 4 is the OSD interface changeover program process flow diagram of the FPGA of HPS of the present invention.
Embodiment
The present invention includes device: PC, hardware sockit development board, virtual machine are for being burnt to SD card, 13.1 pairs of hardware circuits downloads of Quartus to linux3.8 recompile kernel and change, serial ports and network interface by application program.
Fig. 2 is the hardware circuit diagram that present design is built by qsys, utilizes the * .sof file generating after 13.1 pairs of circuit diagram module exampleizations of QuartusII and compiling to download to FPGA.
Fig. 3 is the embodiment of software, under the linux that the present embodiment is is linux3.8 at kernel version, realizes, and compiling kernel is burnt on SD card.Write and realize the application program that switch at OSD interface, compiling generates executable file and is burnt to SD card by network interface and serial ports.
Fig. 4 is program flow diagram, realizes the certain applications program of switching at OSD interface as follows in FPGA inside by USB:
Key assignments function reading:
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_usec = 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.%06lu 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:
if (event.code > BTN_MISC)
{
printf("Button %d %s",
event.code & 0xff,
event.value "press" : "release");
}
else
{
printf("Key %d (0x%x) %s",
event.code & 0xff,
event.code & 0xff,
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_HAT0X: tmp = "HAT0X"; break;
case ABS_HAT0Y: tmp = "HAT0Y"; break;
case ABS_HAT1X: tmp = "HAT1X"; break;
case ABS_HAT1Y: tmp = "HAT1Y"; break;
case ABS_HAT2X: tmp = "HAT2X"; break;
case ABS_HAT2Y: tmp = "HAT2Y"; break;
case ABS_HAT3X: tmp = "HAT3X"; break;
case ABS_HAT3Y: tmp = "HAT3Y"; break;
case ABS_PRESSURE: tmp = "PRESSURE"; break;
case ABS_DISTANCE: tmp = "DISTANCE"; break;
case ABS_TILT_X: tmp = "TILT_X"; break;
case ABS_TILT_Y: tmp = "TILT_Y"; break;
case ABS_MISC: tmp = "MISC"; break;
default: tmp = "UNKNOWN"; break;
}
printf("Absolute %s %d", tmp, event.value);
break;
case EV_MSC: printf("Misc"); break;
case EV_LED: printf("Led"); break;
case EV_SND: printf("Snd"); break;
case EV_REP: printf("Rep"); break;
case EV_FF: printf("FF"); break;
break;
}
printf("\n");
ikey++;
if(ikey==5)
{
key_value=event.code;
printf("event.code is %d\n",event.code);
printf("key_value is %d\n",key_value);
}
if(ikey==6)
{
ikey=0;
printf("key_value is pressed over\n");
printf("event.code is %d\n",event.code);
printf("key_value is %d\n",key_value);
break;
}
}
Picture switching function:
unsigned char bitCountPerPix;
unsigned int width, height;
if(BIT_KEY_3_VALUE==0)
{
GetBmpData(&bitCountPerPix, &width, &height,BmpFile[0],(void *)h2p_memory_vip_frame);
}
else if(BIT_KEY_3_VALUE==1)
{
GetBmpData(&bitCountPerPix, &width, &height,BmpFile[1],(void *)h2p_memory_vip_frame);
}
else if(BIT_KEY_3_VALUE==2)
{
GetBmpData(&bitCountPerPix, &width, &height,BmpFile[2],(void *)h2p_memory_vip_frame);
}
else if(BIT_KEY_3_VALUE==3)
{
GetBmpData(&bitCountPerPix, &width, &height,BmpFile[3],(void *)h2p_memory_vip_frame);
}
After management board powers on, open serial ports, by serial printing information, understand kernel implementation.Find by the executable application program of serial ports and network interface burning, the multi-unit server passage picture that just can show display by USB keyboard after executive utility switches, be switched to after the picture of corresponding mainboard, after pressing enter key, enter the mainboard that multi-unit server is corresponding, then corresponding mainboard is carried out to associative operation.
Claims (1)
1. an OSD interface handover scheme of the FPGA based on HPS, is characterized in that this scheme step is as follows:
The first step is at the inner pictorial information needing that gathers of FPGA; The stone of FPGA (HPS) obtains image data by application program under linux system, and the image data obtaining is stored;
Second step is that the image data obtaining is delivered in the internal memory of FPGA end by AXI bus, the circuit of building in FPGA inside is to realize the passage of holding FPGA end from the HPS of FPGA, by this IP kernel of Framebuffer, obtain the data of picture, the parameter of the clock video core that configuration VGA output needs; By control DISPLAY ORDER and the displaying contents of picture at HPS part USB keyboard intercepting key assignments.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410065748.XA CN103995598A (en) | 2014-02-26 | 2014-02-26 | HPS-based OSD interface switching scheme of FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410065748.XA CN103995598A (en) | 2014-02-26 | 2014-02-26 | HPS-based OSD interface switching scheme of FPGA |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103995598A true CN103995598A (en) | 2014-08-20 |
Family
ID=51309786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410065748.XA Pending CN103995598A (en) | 2014-02-26 | 2014-02-26 | HPS-based OSD interface switching scheme of FPGA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103995598A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109521895A (en) * | 2018-11-27 | 2019-03-26 | 山东超越数控电子股份有限公司 | A kind of control method and device of the peripheral hardware signal switching based on FPGA |
CN110087006A (en) * | 2019-05-17 | 2019-08-02 | 京东方科技集团股份有限公司 | Display control program, method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355690A (en) * | 2007-07-24 | 2009-01-28 | 娄子正 | Additional device and main switching device for remote monitoring system as well as preprocessing method |
CN201886419U (en) * | 2010-12-02 | 2011-06-29 | 山东超越数控电子有限公司 | KVM (K Virtual Machine) device based on OSD chip |
CN202904438U (en) * | 2012-09-11 | 2013-04-24 | 杭州海莱电子科技有限公司 | Novel flat instrument |
CN103076888A (en) * | 2013-01-08 | 2013-05-01 | 浪潮集团有限公司 | KVM (Kernel-based Virtual Machine) equipment and method for calling OSD (On-screen Display) for channel switching by USB (Universal Serial Bus) keyboard in KVM equipment |
-
2014
- 2014-02-26 CN CN201410065748.XA patent/CN103995598A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355690A (en) * | 2007-07-24 | 2009-01-28 | 娄子正 | Additional device and main switching device for remote monitoring system as well as preprocessing method |
CN201886419U (en) * | 2010-12-02 | 2011-06-29 | 山东超越数控电子有限公司 | KVM (K Virtual Machine) device based on OSD chip |
CN202904438U (en) * | 2012-09-11 | 2013-04-24 | 杭州海莱电子科技有限公司 | Novel flat instrument |
CN103076888A (en) * | 2013-01-08 | 2013-05-01 | 浪潮集团有限公司 | KVM (Kernel-based Virtual Machine) equipment and method for calling OSD (On-screen Display) for channel switching by USB (Universal Serial Bus) keyboard in KVM equipment |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109521895A (en) * | 2018-11-27 | 2019-03-26 | 山东超越数控电子股份有限公司 | A kind of control method and device of the peripheral hardware signal switching based on FPGA |
CN110087006A (en) * | 2019-05-17 | 2019-08-02 | 京东方科技集团股份有限公司 | Display control program, method and device |
CN110087006B (en) * | 2019-05-17 | 2022-04-15 | 京东方科技集团股份有限公司 | Display control system, method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106604369B (en) | Terminal equipment with dual-mode switching function | |
US10649878B2 (en) | Recording processor instruction execution cycle and non-cycle count trace events | |
CN111857659A (en) | Data visualization design platform for dragging heterogeneous data source | |
CN104991767A (en) | Information processing method and electronic equipment | |
CN103995598A (en) | HPS-based OSD interface switching scheme of FPGA | |
CN102354275B (en) | Text input box and data processing method thereof | |
CN202720641U (en) | Cloud terminal based on ARM (Advanced RISC Machine) framework | |
CN108564859A (en) | SCM Based Multifunctional experiment development system | |
CN201548951U (en) | Analog device for set-top-box interface | |
CN101290563A (en) | Computer management system and method | |
CN115730541A (en) | Multifunctional verification and demonstration device for packaged chip | |
CN210666698U (en) | KVM switcher for double displays | |
CN210578885U (en) | Multi-channel signal switcher | |
CN207427289U (en) | A kind of high performance gains ring goes out the image control mold | |
CN208589008U (en) | A kind of embedded display equipment | |
CN202145308U (en) | Multi-master module management interface module of severe-environment-resistant computer | |
CN206452485U (en) | Carry touch display screen and support HDMI to input the control system of projecting apparatus | |
CN103024107A (en) | Smart phone expanding platform | |
CN219643912U (en) | Signal generator controlled by mobile phone | |
CN202443042U (en) | Multi-mode modulating signal generator | |
CN204968240U (en) | Printed circuit board circuit | |
CN208987056U (en) | Multipath VGA video switcher | |
CN208805799U (en) | Multifunction display circuit board and display | |
CN219369799U (en) | Multifunctional multiplexing vehicle-mounted display screen testing device | |
CN200994178Y (en) | Mobile phone for conducting display byusing projector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140820 |