CN102104508B - 基于m模块的lxi设备中的m模块ll驱动层实现方法 - Google Patents
基于m模块的lxi设备中的m模块ll驱动层实现方法 Download PDFInfo
- Publication number
- CN102104508B CN102104508B CN 201010612211 CN201010612211A CN102104508B CN 102104508 B CN102104508 B CN 102104508B CN 201010612211 CN201010612211 CN 201010612211 CN 201010612211 A CN201010612211 A CN 201010612211A CN 102104508 B CN102104508 B CN 102104508B
- Authority
- CN
- China
- Prior art keywords
- module
- function
- layer
- interface
- dev
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
基于M模块的LXI设备中的M模块LL驱动层实现方法,属于自动测试领域,本发明为解决现有用于LXI设备的M模块驱动软件架构与硬件的无关性问题。本发明方法:M模块硬件接口控制逻辑由FPGA实现,M模块软件架构的LL驱动层驱动:用于实现M模块接口操作函数;HL驱动层驱动:调用LL驱动层的函数;测试功能相关应用层:将HL驱动层提供的函数接口重新封装;测试设备相关应用层:测试功能;LL驱动层分为用户态和内核态两部分架构,用户态采用uClinux应用程序进行FPGA设置及寄存器配置;内核态采用uClinux字符型驱动,进行ARM处理器的设置及寄存器配置;由系统调用及中断用户态和内核态的相应函数。
Description
技术领域
本发明涉及一种基于M模块的LXI设备中的M模块LL驱动层实现方法,属于自动测试领域。
背景技术
LXI设备是构建于众多工业级测试领域中得以验证且应用成熟的标准之上的开放式标准。目前,我所研制的LXI设备采用了M模块规范,将仪器划分为LXI接口载板和功能单元两部分,使得设备在机械结构、电源、硬件架构等方面标准化程度都有很大的提升。软件方面,M模块控制器的软件架构是标准化LXI设备设计重点。
在M接口规范(ANSI/VITA 12-1996)中对驱动函数有详细的说明(参见M接口规范附录A(AnnexA:Driver software interface))。规范推荐两层驱动程序结构,即:low-leveldriver(LL,底层驱动程序)和high-level driver(HL,顶层驱动程序)。LL驱动程序与M模块接口功能有关,包括最基本的渎写、中断处理等控制功能,由M模块接口控制器设计者开发;而HL驱动程序与M模块的具体功能相关,也可包含数据处理等特殊的功能函数,通常由模块的开发人员编写。实际应用中,HL驱动程序通过调用LL驱动程序实现对M模块的操控。下面详细说明两者的功能。
LL驱动程序要具有以下三种功能:
(1)MDIS(MEN Driver Interface,MEN公司驱动接口)的一部分。MIDS是MEN公司定义的一种标准的通用化驱动接口,它是独立于平台和总线系统的,MDIS的驱动代码在其支持的操作系统下是通用的。在1开发M模块的MDIS时,LL驱动可以作为MIDS一部分存在;
(2)用户自定义驱动的一部分;M模块规范不要求所有用户实现同样的驱动模型,用户可以自定义符合自己设计要求的驱动模型,LL驱动也可以作为其中一部分存在;
(3)应用程序直接操作硬件的入口。用户也可以不对LL驱动进一步的封装,直接被应用程序调用,进而实现直接操作硬件的功能。
HL驱动完成以下功能:
(1)系统初始化和中断添加;
(2)设备初始化和重复初始化;
(3)对设备的渎写操作;
(4)分配并管理输入输出缓存;
(5)对输入输出缓冲器的读写操作;
(6)通过信号处理事件的能力。
以上功能是一个参考,在此基础上可以完成更多系统需要的功能。关于HL驱动更详细的内容请参考M接口规范(ANSI/VITA 12-1996)附录A中“Driver functions of thelow-level driver”一节。
现有用于LXI设备的M模块驱动软件架构与硬件之间是无关的,M模块LL驱动程序与具体M模块HL驱动程序无法分离,造成M模块LL驱动程序的通用性差。
发明内容
本发明目的是为了解决现有用于LXI设备的M模块驱动软件架构与硬件的无关性问题,实现M模块LL驱动程序与具体M模块HL驱动程序分离,使得M模块LL驱动程序具有良好的通用性。本发明提供了基于M模块的LXI设备中M模块LL驱动程序的实现方法。
本发明所述基于M模块的LXI设备中的M模块LL驱动层实现方法,M模块硬件接口控制逻辑由FPGA实现,M模块软件架构包括LL驱动层、HL驱动层、测试功能相关应用层和测试设备相关应用层,
LL驱动层驱动:用于实现M模块接口操作函数,并保证对所有符合M模块规范的M/MA接口的兼容性;LL驱动层实现的函数用于HL驱动层驱动和测试功能相关应用层调用;
HL驱动层驱动:调用LL驱动层的函数,还通过对测试功能相关应用层的寄存器的读写把设备可以实现的功能封装成函数接口,并将所述函数接口给测试功能相关应用层调用;
测试功能相关应用层:属于PC端M模块应用程序的第一层,将HL驱动层提供的函数接口重新根据测试功能进行封装,并把封装好的函数接口提供给测试设备相关应用层调用;
测试设备相关应用层:属于PC端M模块应用程序的顶层,为测试软件层,用于把用户需要的测试流程分解成具体的测试功能,再去调用测试功能相关应用层提供的接口函数完成相关功能;
LL驱动层分为用户态和内核态两部分架构,用户态采用uClinux应用程序,用户态与M模块控制器相关,进行FPGA设置及寄存器配置;内核态采用uClinux字符型驱动,内核态与M模块载板的ARM处理器的硬件资源相关,进行ARM处理器的设置及寄存器配置;由系统调用及中断用户态和内核态的相应函数。
本发明的优点:本发明将M模块LL驱动程序与具体M模块功能驱动程序相分离,M模块LL驱动程序仅与M模块接口的控制逻辑相关,也即仅与M模块接口与处理器芯片间的转换电路相关,而与具体M模块功能无关,在M模块接口硬件平台不变的情况下,LL驱动程序对于所有的M模块操作来说是通用的;M模块驱动程序与具体M模块功能相关,通过调用M模块LL驱动程序的标准接口函数实现对模块具体功能的操作,解决了现有技术中M模块驱动程序标准化的问题。
本发明给出基于M模块的LXI载板设计时一种通用的LL层驱动实现方法,利用此方法,可以规范LL驱动设计流程,节省M模块的LXI载板及设计及升一级时间。。
附图说明
图1是本发明M模块控制器驱动的软件架构图;
图2是本发明所述的LL驱动层架构图;
图3是本发明M模块控制器的结构框图;
图4是函数apis_readblock()与函数apis_writeblock()实现框图;
图5是函数apis_readblock()与函数apis_writeblock()的实现方法流程图。
具体实施方式
具体实施方式一:下面结合图1至图5说明本实施方式,本实施方式所述基于M模块的LXI设备中的M模块LL驱动层实现方法,M模块硬件接口控制逻辑由FPGA实现,M模块软件架构包括LL驱动层、HL驱动层、测试功能相关应用层和测试设备相关应用层,
LL驱动层驱动:用于实现M模块接口操作函数,并保证对所有符合M模块规范的M/MA接口的兼容性;LL驱动层实现的函数用于HL驱动层驱动和测试功能相关应用层调用;
HL驱动层驱动:调用LL驱动层的函数,还通过对测试功能相关应用层的寄存器的读写把设备可以实现的功能封装成函数接口,并将所述函数接口给测试功能相关应用层调用;
测试功能相关应用层:属于PC端M模块应用程序的第一层,将HL驱动层提供的函数接口重新根据测试功能进行封装,并把封装好的函数接口提供给测试设备相关应用层调用;
测试设备相关应用层:属于PC端M模块应用程序的顶层,为测试软件层,用于把用户需要的测试流程分解成具体的测试功能,再去调用测试功能相关应用层提供的接口函数完成相关功能;
LL驱动层分为用户态和内核态两部分架构,用户态采用uClinux应用程序,用户态与M模块控制器相关,进行FPGA设置及寄存器配置;内核态采用uClinux字符型驱动,内核态与M模块载板的ARM处理器的硬件资源相关,进行ARM处理器的设置及寄存器配置;由系统调用及中断用户态和内核态的相应函数。
M模块规范中对M/MA接口规定了12个函数,分别为:<dev>_open()、<dev>_init()、<dev>_close()、<dev>_read()、<dev>_write()、<dev>_block_read()、<dev>_block_write()、<dev>_read_fifo()、<dev>_write_fifo、<dev>_irqinstall()、<dev>_irqremove()和<dev>_getversion()。
本发明以标准化LXI设备研究为背景,采用M模块规范设计LXI接口单元与仪器功能单元连接,使得LXI仪器在机械结构、供电、软、硬件开发框架等方面都实现了标准化设计,更重要的是仪器的接口单元与功能单元的设计、开发、维护和升级做到了完全的独立,从而简化了LXI仪器的设计,增加仪器应用的通用性和灵活性。M模块具有丰富的数据传输模式和较高的传输速率,可靠的机械结构,简单实用的接口电路,支持中断、触发等异步事件功能,是目前仪器领域使用最为广泛的一种小背板规范。
对于基于M模块的LXI设备载板,虽然利用M模块实现了硬件上的可互换性,软件上还没有统一的标准。目前在开发基于M模块的LXI设备载板软件时,对每一个M模块都需要开发一套专用的程序才能使用这个M模块,开发周期很长,而且缺少通用性。
利用本发明提出的软件架构,可以使基于M模块的LXI设备载板软件部分开发过程通用,用户在更换M模块时,只需要更新HL驱动程序即可让新的M模块正常地工作。
本发明这种架构涉及的M模块控制器的结构如图2所示,将M模块控制器驱动程序与具体M模块驱动程序分离,这样,M模块控制器驱动程序仅与M模块控制器相关,也即仅与M模块控制器硬件逻辑和处理器芯片相关,而与具体M模块无关,M模块控制器硬件平台不变的情况下,这一层驱动程序对于所有的M模块来说是通用的;M模块驱动程序与具体M模块功能相关,通过调用M模块控制器驱动的标准接口函数实现具体功能,解决了现有技术中对于不同M模块需具备不同的层驱动的问题。
M模块控制器开发任务主要由M模块控制器固件设计和M模块接口驱动程序两部分内容。硬件设计主要通过FPGA内部固件设计实现,驱动程序可由ARM处理器下运行的嵌入式Linux操作系统下完成。
本设计中,ARM处理器主要完成M模块的管理及控制功能。本设计中ARM处理器使用的是S3C4510B芯片。S3C4510B是三星公司针对嵌入式网络控制和通信领域应用推出的16/32位嵌入式处理器。S3C4510B内核采用在嵌入式领域取得广泛应用的ARM7TDMI,芯片内集成10Mbps/100Mbps自适应的以太网控制器,具有低成本和高性能的特点,在嵌入式网络控制领域得到了极其广泛的应用。
M模块控制器相关的硬件逻辑全部在FPGA上实现,采用模块设计思想,本设计中硬件逻辑主要由以下四部分构成,参见图3所示:
(1)M模块控制器配置逻辑。主要完成处理器对M模块控制器的参数配置或者通过此配置空间处理器可以完成对处理器接口与M模块接口之间时序转换时所需的配置;
(2)处理器接口逻辑。实现S3C4510B外设之间的读写操作;
(3)M模块控制逻辑。实现FPGA与M模块之间的数据传递、中断传输等;
(4)胶连逻辑。处理器接口逻辑和M模块控制逻辑之间的胶连逻辑,完成两种接口的转换,在两种接口较简单的数据传输(例如单次渎写),两种接口之间可以直接传递数据,而不一定需要胶连逻辑,因此,图1-10中处理器接口逻辑和M模块控制逻辑可以直接转换而不一定需要中间的胶连逻辑。
驱动软件采用层次化设计方法,将M模块控制器驱动程序与具体M模块驱动程序分离,这样,M模块控制器驱动程序仅与M模块控制器相关,也即仅与M模块控制器硬件逻辑和处理器芯片相关,而与具体M模块无关,M模块控制器硬件平台不变的情况下,这一层驱动程序对于所有的M模块来说是通用的;M模块驱动程序与具体M模块功能相关,通过调用M模块控制器驱动的标准接口函数实现具体功能,一般来说对于不同M模块这一层驱动是不同的。
本发明采用的软件模型应具有以下特性:与已购买的M/MA接口给出的上层驱动兼容;与M模块接口规范给出的驱动要求兼容。
LL驱动层驱动:LL驱动层驱动即为M/MA接口里规定的必须要实现的9个函数,再加上为了与现有M模块兼容而实现的其它一些函数,LL驱动层只与总线的操作相关而与功能子板的功能无关,因此,对所有的功能子板来说,LL驱动层应该是通用的。从另外一个角度来说,LL驱动层驱动即为M接口底板的驱动,它的目的是屏蔽底板操作细节,让底板对用户透明;
HL驱动层驱动:这一层驱动调用LL驱动层,并通过对与设备相关的寄存器的读写,把设备可以实现的功能封装成一些函数接口,给上层应用程序使用,这一层相当于仪器功能库,HL驱动层才是真正意义上的M模块的驱动;
测试功能相关应用层:这一层是应用程序的第一层,它把HL驱动层提供的函数接口再根据测试功能进行封装,并把封装好的函数接口提供给顶层,这样,应用层2所能看到的函数接口只与测试功能相关,而与具体设备功能无关。而且,如果用户对于硬件足够了解,应用层1可以直接把LL驱动层提供的一些寄存器操作接口函数进行封装,这样,实际上就是把HL驱动层包含在了应用层1中;
测试设备相关应用层:这是测试软件层,它只是把用户需要的测试流程分解成一些具体的测试功能,再去调用应用层1提供的接口函数即可。
在此结构下,对所有模块及测试任务都通用的一层是LL驱动层,即M接口驱动层;对于同一个测试任务来说,通用的一层是应用层1和应用层2。对于不同载板上挂载的不同的M模块,在测试任务不变的前提下,只需要改变HL驱动层驱动即可。通过这种方法,大大简化了整个测试软件的开发难度,并且,通过的各层之间有着固定的软件接口,因此,各层程序可以独立的进行升级,使用测试软件的可维护能力显著增强。
LL层在M模块规范附录中已有相应的推荐做法,在实际实现时可以参考此推荐做法,并根据这些内容实现实际需要的其它的一些功能函数即可。这些函数与具体的M模块无关,只与M模块接口本身有关,应包括M模块的全部功能(如中断、突发传输、DMA等),因此,这一层驱动可以理解为M接口的驱动。
本发明中推荐的LL层必须实现的函数如表1所示:
表1本发明驱动程序必须要实现的函数
本发明中的LL驱动是由uClinux中一部分应用程序和一个字符型驱动构成的。
实际上,在uClinux操作系统中,驱动程序与应用程序之间的界限并不明显,因为没有MMU(内存管理单元),uClinux操作系统允许应用程序合法地访问所有的物理地址,从而使应用程序具有直接操作硬件的能力。但本发明中还是采用了这种层次化的设计方法,最主要的考虑是使大部分代码具有一定的平台移植能力,例如,如果日后操作系统变为Linux硬件平台也所有改变,则只需要重新修改一下M模块控制器的驱动程序即可,其应用程序部分是不需要改变的,而这部分代码是实现具体功能的,代码量很大,这部分不需要有所改变的话就可以很明显提高系统开发效率,并方便系统升级。
LL驱动应用程序部分:
LL驱动需要实现的函数已经由表1给出,因此,这部分运行在uClinux用户态的应用程序的顶层函数接口即为表1给出的LL驱动程序函数接口。这部分应用程序的作用是通过系统调用,调用内核态字符型驱动,并把字符型驱动对物理的访问通过一定的操作最终实现这些函数。
这部分应用程序只与FPGA上M模块控制器及其它寄存器相关,而与S3C4510B硬件无关,与S3C4510B硬件相关的部分全部都在内核中的驱动程序中完成,这样就使系统具有一个很好的特性:内核与硬件逻辑可以独立地升级。
字符型设备驱动:
在uCLinux操作系统下有两类主要的设备文件类型,一种是字符设备,另一种是块设备。
字符设备是顺序的数据流设备,对这种设备的读写是按字符进行的,而且这些字符是连续地形成一个数据流。不具备缓冲区,所以对这种设备的读写是实时的。而块设备则利用一块系统内存作为缓冲区,不具有实时操作特性,一般针对慢速设备如磁盘等设计的,以免消耗CPU过多的等待时间,从而提高系统效率。
本发明中M模块控制器显然作为系统的一个字符型设备存在。
在Linux系统(包括uClinux)中,为屏蔽硬件细节,给应用程序提供一个统一的编程接口,引入了设备驱动这种于段,即无论底层硬件有何不同,都通过设备驱动程序的方式,将具体设备抽象为设备文件(网络设备例外,它抽象为接口)。应用程序可以像读写普通文件一样打开设备并通过系统调用直接调用字符设备驱动中实现的函数。
本发明中M模块控制器驱动所用到的系统调用函数有:
(1)open():open()的主要任务是确定硬件处在就绪状态、验证次设备号的合法性、控制使用设备的进程数、根据执行情况、返回状态码(0表示成功,负数表示存在错误)等;
(2)release():release函数的主要任务是清理未结束的输入/输出操作、释放资源、用户自定义排他标志的复位等;
(3)read()函数:用来从设备中读取数据。当该函数指针被赋为NULL值时,将导致read系统调用出错并返回-EINVAL(“Invalid argument,非法参数”)。函数返回非负值表示成功渎取的字节数(返回值为“signed size”数据类型,通常就是目标平台上的固有整数类型);
(4)write()函数:向设备发送数据。如果没有这个函数,write系统调用会向调用程序返回一个-EINVAL。如果返回值非负,则表示成功写入的字节数;
(5)llseek()函数该函数用来修改文件的当前读写位置,并将新位置作为(正的)返回值返回。本发明中用此函数实现M模块物理地址的运算并寻址;
(6)ioctl()函数:该函数是特殊的控制函数,可以通过它向设备传递控制信息或从设备取得状态信息。本发明中用此函数配置S3C4510B的GDMA控制器,从而实现S3C4510B的DMA功能;
(7)fasync()函数:向指定进程实现异步信号传递的函数,在驱动程序中的中断处理一节会详细介绍。
这些函数在驱动程序中的file_operations{}结构体中被注册,并与驱动中实现的用户函数对应:
开发M模块控制器字符型驱动的过程实际上就是将上述函数按照具体需求实现的过程。值得注意的,对S3C4510B外设地址空间的扩展及地址的修正是在此字符型驱动中完成的。
驱动函数实现:
下面以相对较复杂的apis_readblock()函数和apis_writeblock()函数的实现实现过程说明LL驱动函数的实现过程。
如图4所示,图中左侧为apis_read()和apis_write()函数的实现过程:每执行一次读写的过程时,首先调用系统调用函数llseek()函数,将需要访问的物理地址经过运算传递出去,然后再调用read()或者write()函数将数据读出或者写入。
LL层其它函数的实现过程与此过程类似。
apis_readblock()函数和apis_writeblock()函数的实现流程如图5所示,图5中左侧的部分即为图4中apis_readblock()函数和apis_writeblock()函数调用apis_read()和apis_write()函数实现对FPGA中burst逻辑的具体配置,配置完成后启动对M模块的突发;图4右侧部分为apis_readblock()函数和apis_writeblock()函数配置S3C4510B GDMA控制器的具体操作,从图4可以看到,这个过程是由apis_readblock()函数和apis_writeblock()函数调用ioctrl()系统调用实现的。通过以上两过程,启动了FPGA上burst逻辑和S3C4510B GDMA控制器,两者通过缓冲的FIFO即可以实现数据的快速传输。
Claims (2)
1.基于M模块的LXI设备中的M模块LL驱动层实现方法,M模块硬件接口控制逻辑由FPGA实现,M模块软件架构包括LL驱动层、HL驱动层、测试功能相关应用层和测试设备相关应用层,
LL驱动层驱动:用于实现M模块接口操作函数,并保证对所有符合M模块规范的M/MA接口的兼容性;LL驱动层实现的函数用于HL驱动层驱动和测试功能相关应用层调用;
HL驱动层驱动:调用LL驱动层的函数,还通过对测试功能相关应用层的寄存器的渎写把设备可以实现的功能封装成函数接口,并将所述函数接口给测试功能相关应用层调用;
测试功能相关应用层:属于PC端M模块应用程序的第一层,将HL驱动层提供的函数接口重新根据测试功能进行封装,并把封装好的函数接口提供给测试设备相关应用层调用;
测试设备相关应用层:属于PC端M模块应用程序的顶层,为测试软件层,用于把用户需要的测试流程分解成具体的测试功能,再去调用测试功能相关应用层提供的接口函数完成相关功能;
其特征在于,LL驱动层分为用户态和内核态两部分架构,用户态采用uClinux应用程序,用户态与M模块控制器相关,进行FPGA设置及寄存器配置;内核态采用uClinux字符型驱动,内核态与M模块载板的ARM处理器的硬件资源相关,进行ARM处理器的设置及寄存器配置;由系统调用及中断用户态和内核态的相应函数。
2.基于权利要求1所述的基于M模块的LXI设备中的M模块LL驱动层实现方法,其特征在于,M模块的M/MA接口中规定的12个函数为<dev>_open()、<dev>_init()、<dev>_close()、<dev>_read()、<dev>_write()、<dev>_block_read()、<dev>_block_write()、<dev>_read_fifo()、<dev>_write_fifo、<dev>_irqinstall()、<dev>_irqremove()和<dev>_getversion()。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010612211 CN102104508B (zh) | 2010-12-29 | 2010-12-29 | 基于m模块的lxi设备中的m模块ll驱动层实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010612211 CN102104508B (zh) | 2010-12-29 | 2010-12-29 | 基于m模块的lxi设备中的m模块ll驱动层实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102104508A CN102104508A (zh) | 2011-06-22 |
CN102104508B true CN102104508B (zh) | 2012-12-26 |
Family
ID=44157052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010612211 Expired - Fee Related CN102104508B (zh) | 2010-12-29 | 2010-12-29 | 基于m模块的lxi设备中的m模块ll驱动层实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102104508B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656844B (zh) * | 2018-12-03 | 2022-02-22 | 郑州云海信息技术有限公司 | 一种AT24xx EEPROM驱动方法和装置 |
CN112306912B (zh) * | 2019-07-30 | 2023-07-14 | 西安诺瓦星云科技股份有限公司 | 串行接口设备驱动装置、嵌入式处理器和视频控制器 |
CN110635569A (zh) * | 2019-09-24 | 2019-12-31 | 南京智联达科技有限公司 | 一种基于Linux的配电终端设计架构及方法 |
CN111309386B (zh) * | 2020-01-19 | 2022-11-11 | 苏州浪潮智能科技有限公司 | 一种交换机硬件驱动系统和交换机 |
CN112782467A (zh) * | 2020-12-25 | 2021-05-11 | 北京智芯微电子科技有限公司 | 基于嵌入式操作系统的智能电表 |
CN114860640B (zh) * | 2022-04-07 | 2023-06-06 | 湖南艾科诺维科技有限公司 | 用于FPGA与ARM通信的FlexSPI接口驱动方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101029917A (zh) * | 2007-03-21 | 2007-09-05 | 华为技术有限公司 | 一种线路状态模拟装置及被测设备功能测试系统 |
CN101087313A (zh) * | 2006-12-31 | 2007-12-12 | 武汉大学 | 一种lxi总线接口 |
CN201134819Y (zh) * | 2007-10-31 | 2008-10-15 | 武汉大学 | 基于arm的lxi接口电路 |
-
2010
- 2010-12-29 CN CN 201010612211 patent/CN102104508B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087313A (zh) * | 2006-12-31 | 2007-12-12 | 武汉大学 | 一种lxi总线接口 |
CN101029917A (zh) * | 2007-03-21 | 2007-09-05 | 华为技术有限公司 | 一种线路状态模拟装置及被测设备功能测试系统 |
CN201134819Y (zh) * | 2007-10-31 | 2008-10-15 | 武汉大学 | 基于arm的lxi接口电路 |
Non-Patent Citations (2)
Title |
---|
利用M模块扩展VXI总线I/O和功能选择;彭玉 等;《国外电子测量技术》;20010430;第20卷(第4期);全文 * |
彭玉 等.利用M模块扩展VXI总线I/O和功能选择.《国外电子测量技术》.2001,第20卷(第4期),全文. |
Also Published As
Publication number | Publication date |
---|---|
CN102104508A (zh) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102104508B (zh) | 基于m模块的lxi设备中的m模块ll驱动层实现方法 | |
US5113500A (en) | Multiple cooperating and concurrently operating processors using individually dedicated memories | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
JP5608243B2 (ja) | 仮想化環境においてi/o処理を行う方法および装置 | |
CN103034524B (zh) | 半虚拟化的虚拟gpu | |
CN106062714B (zh) | 虚拟通用i/o控制器 | |
CN103678201B (zh) | 具有逻辑设备能力的pci express切换器 | |
JP6458959B2 (ja) | 協調設計されたプロセッサ用動的言語アクセラレータ | |
CN103092810B (zh) | 处理器、对处理器编程的方法以及电子设备 | |
US20080307154A1 (en) | System and Method for Dual-Ported I2C Flash Memory | |
US10289785B1 (en) | Platform architecture creation for a system-on-chip | |
US20090265708A1 (en) | Information Processing Apparatus and Method of Controlling Information Processing Apparatus | |
US6260081B1 (en) | Direct memory access engine for supporting multiple virtual direct memory access channels | |
US7958293B2 (en) | Virtualized serial attached SCSI adapter | |
CN101630343B (zh) | 仿真方法及系统 | |
CN101777005A (zh) | 重定向物理设备控制器的中断而提供多个虚拟设备控制器 | |
US20060224372A1 (en) | Systems, methods, and media for simulation of integrated hardware and software designs | |
CN102063113A (zh) | 基于m模块的lxi设备标准化软件架构 | |
CN102253884B (zh) | 模拟单板软件运行环境的方法及装置 | |
CN101281507A (zh) | Usb接口型dsp实时仿真开发系统 | |
CN103678244A (zh) | 一种不使用应用处理器的智能设备 | |
CN102508750A (zh) | Soc内部模块检测装置及方法 | |
US8996772B1 (en) | Host communication device and method with data transfer scheduler | |
TWI640869B (zh) | 配置一積體電路無線電通訊裝置的方法及積體電路無線電通訊裝置 | |
Intel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121226 Termination date: 20131229 |