CN1821982A - 一种在单板中对外围器件进行片选的方法和系统 - Google Patents
一种在单板中对外围器件进行片选的方法和系统 Download PDFInfo
- Publication number
- CN1821982A CN1821982A CN 200610072048 CN200610072048A CN1821982A CN 1821982 A CN1821982 A CN 1821982A CN 200610072048 CN200610072048 CN 200610072048 CN 200610072048 A CN200610072048 A CN 200610072048A CN 1821982 A CN1821982 A CN 1821982A
- Authority
- CN
- China
- Prior art keywords
- peripheral components
- pld
- programmable logic
- logic device
- label
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000002093 peripheral effect Effects 0.000 title claims description 241
- 238000010586 diagram Methods 0.000 description 12
- 230000007812 deficiency Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开了一种在单板中对外围器件进行片选的方法和系统。为不同的外围器件分配共同的地址空间;中央处理器(CPU)将可标识当前需片选的外围器件的信息输出至可编程逻辑器件;可编程逻辑器件根据接收到的可标识当前需片选的外围器件的信息,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件;当前需片选的外围器件根据接收到的片选信号确定自身为片选对象。本发明为不同的外围器件分配共同的地址空间,这样,即使外围器件的数量再多,每一个外围器件均可以分配到地址空间,因此,从根本上解决了CPU地址空间不足的问题。
Description
技术领域
本发明涉及单板技术,特别是涉及一种在单板中对需通过可编程逻辑器件访问的外围器件进行片选的方法和系统。
背景技术
目前,在一个单板中,如印刷电路板(PCB),中央处理器(CPU)通常利用可编程逻辑器件来对单板中需通过可编程逻辑器件访问的外围器件,比如各控制器件和各存储器件等功能芯片,进行片选。
图1是在现有技术中实现对外围器件进行片选的示意图。图2是在现有技术中实现对外围器件进行片选的流程图。参见图1和图2,在现有技术中,在一个单板中,CPU对外围器件进行片选的过程包括以下步骤:
步骤201:预先为不同的外围器件分配不同的地址空间。
步骤202:当需要片选一个外围器件时,CPU通过本地总线(Local Bus)中的地址线将需片选的地址信息输出至可编程逻辑器件中的逻辑处理单元。
步骤203:可编程逻辑器件中的逻辑处理单元根据接收到的地址信息确定当前需片选的外围器件。
步骤204:可编程逻辑器件中的逻辑处理单元产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
步骤205:在各个外围器件中,当前需片选的外围器件根据接收到的片选信号确定自身为当前的片选对象。
至此,则实现了片选外围器件的过程。此后,确定自身为当前片选对象的外围器件则可通过Local Bus中的地址线,接收CPU所需访问的地址信息,并根据所接收到的地址信息在自身的对应地址中执行相应的读数据或写数据操作。
由以上描述可以看出,为了实现对特定外围器件的片选,现有技术为不同的外围器件分配了不同的地址空间,而此种作法会极大地消耗CPU的地址空间,往往会导致CPU中的地址空间不足。由于为许多外围器件,比如介质访问控制(MAC)芯片,分配的地址空间中包括有为该外围器件预留的地址空间,而该预留的地址空间为空闲的地址空间通常不被使用,因此,当CPU中地址空间不足时,现有技术的解决方法为:对各个外围器件所占用的地址空间进行压缩,也就是说,根据各个外围器件实际应占用的地址空间重新为各个外围器件分配地址空间,释放出每个外围器件占用的空闲地址空间,从而增加CPU中可用的地址空间。
但是,现有技术压缩地址空间的作法也仅仅是释放出每个外围器件占用的空闲地址空间,因此,所释放出的地址空间的大小非常有限,无法从根本上解决CPU地址空间不足的问题。另外,由于在压缩地址空间后,外围器件对应的地址空间发生了变化,因此,必须相应地修改底层驱动代码,重新进行外围器件与地址空间的映射,从而增加了软件实现的复杂度。
发明内容
有鉴于此,本发明的主要目的在于提供一种在单板中对外围器件进行片选的方法和系统,本发明的另一目的在于提供一种可编程逻辑器件,以便从根本上解决CPU中地址空间不足的问题。
为了达到上述目的,本发明的技术方案是这样实现的:
一种在单板中对外围器件进行片选的方法,为不同的外围器件分配共同的地址空间,该方法还包括:
A、CPU将可标识当前需片选的外围器件的信息输出至可编程逻辑器件;
B、可编程逻辑器件根据接收到的可标识当前需片选的外围器件的信息,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件;
C、当前需片选的外围器件根据接收到的片选信号确定自身为片选对象。
该方法进一步包括:为不同的外围器件设置不同的标号,建立每一个外围器件与为其分配的标号之间的第一对应关系;
所述步骤A包括:CPU根据所建立的第一对应关系,查找到与当前需片选的外围器件对应的标号,将所查找到的标号信息作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件;
在步骤B中,所述可编程逻辑器件产生片选信号的步骤包括:可编程逻辑器件根据所建立的第一对应关系,查找到与所接收到的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号。
该方法进一步包括:在可编程逻辑器件中设置标号寄存器;
在步骤A中,所述将所查找到的标号信息输出至可编程逻辑器件的步骤包括:CPU将所查找到的标号信息作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件中的标号寄存器,由该标号寄存器进行保存;
在步骤B中,所述可编程逻辑器件产生片选信号的步骤包括:可编程逻辑器件中的逻辑处理单元从标号寄存器中读取标号信息,根据所建立的第一对应关系,查找到与所读取的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号。
在步骤A中,所述CPU将所查找到的标号信息输出给标号寄存器的步骤包括:CPU通过本地总线Local Bus中的数据线,将所查找到的标号信息作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件中的标号寄存器。
该方法进一步包括:将CPU上的通用输入输出IO口与可编程逻辑器件中的逻辑处理单元相连,并建立CPU上通用IO口输出的不同信号与各个外围器件之间的第二对应关系;
所述步骤A包括:CPU根据所建立的第二对应关系查找到与当前需片选的外围器件对应的通用IO口输出的信号,通过自身的通用IO口,将所查找到的信号作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件中的逻辑处理单元;
在步骤B中,所述可编程逻辑器件产生片选信号的步骤包括:可编程逻辑器件中的逻辑处理单元根据所建立的第二对应关系,查找到与所接收到的通用IO口输出的信号对应的外围器件,产生对应于所查找到外围器件的片选信号。
为不同的外围器件所分配的共同地址空间的大小等于或大于各个外围器件实际应占用的各地址空间中的最大值。
所述可编程逻辑器件为复杂可编程逻辑器件CPLD或现场可编程门阵列FPGA。
在步骤C之后进一步包括:当前需片选的外围器件通过Local Bus中的地址线,接收CPU所需访问的地址信息,并根据所接收到的地址信息在自身的对应地址中执行相应的读数据或写数据操作。
该方法进一步包括:CPU对当前执行片选的进程进行软件加锁。
一种在印刷电路板(PCB)中对功能芯片进行片选的方法,应用于网络存储领域,为不同的功能芯片分配共同的地址空间,并为不同的功能芯片设置不同的标号,建立每一个功能芯片与为其分配的标号之间的第一对应关系,该方法还包括:
a1、CPU根据所建立的第一对应关系,查找到与当前需片选的功能芯片对应的标号,将所查找到的标号信息作为可标识当前需片选的功能芯片的信息输出至可编程逻辑器件;
b1、可编程逻辑器件根据所建立的第一对应关系,查找到与所接收到的标号信息对应的功能芯片,产生对应于所查找到功能芯片的片选信号,并将所产生的片选信号输出至各个功能芯片;
c1、当前需片选的功能芯片根据接收到的片选信号确定自身为片选对象。
一种在PCB中对功能芯片进行片选的方法,应用于网络存储领域,为不同的功能芯片分配共同的地址空间,并将CPU上的通用IO口与可编程逻辑器件中的逻辑处理单元相连,建立CPU上通用IO口输出的不同信号与各个功能芯片之间的第二对应关系;
a2、CPU根据所建立的第二对应关系查找到与当前需片选的功能芯片对应的通用IO口输出的信号,通过自身的通用IO口,将所查找到的信号作为可标识当前需片选的功能芯片的信息输出至可编程逻辑器件中的逻辑处理单元;
b2、可编程逻辑器件中的逻辑处理单元根据所建立的第二对应关系,查找到与所接收到的通用IO口输出的信号对应的功能芯片,产生对应于所查找到功能芯片的片选信号,并将所产生的片选信号输出至各个功能芯片;
c2、当前需片选的功能芯片根据接收到的片选信号确定自身为片选对象。
一种在单板中对外围器件进行片选的系统,该系统包括:CPU、可编程逻辑器件和多个外围器件,其中,多个外围器件占用共同的地址空间,并且,
CPU,用于将可标识当前需片选的外围器件的信息输出至可编程逻辑器件;
可编程逻辑器件,用于根据接收到的可标识当前需片选的外围器件的信息,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件;
各个外围器件中,当前需片选的外围器件根据接收到的片选信号确定自身为片选对象,其它外围器件根据接收到的片选信号确定自身并非当前的片选对象。
所述可编程逻辑器件内部包括逻辑处理单元和标号寄存器,并且,
CPU,用于根据自身中保存的外围器件与标号的对应关系,查找到与当前需片选的外围器件对应的标号,将所查找到的标号信息输出至可编程逻辑器件中的标号寄存器;
标号寄存器,用于保存所接收到的标号信息;
逻辑处理单元,用于从标号寄存器中读取标号信息,并在自身所保存的外围器件与标号的对应关系中,查找到与所读取的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
所述CPU用于通过Local Bus中的数据线将所查找到的标号信息输出至可编程逻辑器件中的标号寄存器。
所述可编程逻辑器件内部包括逻辑处理单元,且CPU上的通用IO口与可编程逻辑器件中的逻辑处理单元相连,其中,
CPU,用于在自身所保存的外围器件与通用IO口输出信号的对应关系中,查找到与当前需片选的外围器件对应的信号,并通过自身的通用IO口将所查找到的信号输出至可编程逻辑器件中的逻辑处理单元;
逻辑处理单元,用于在自身所保存的外围器件与通用IO口输出信号的对应关系中,查找到与所接收到的信号对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
一种可编程逻辑器件,该可编程逻辑器件内部包括逻辑处理单元和标号寄存器,并且,
标号寄存器,用于接收CPU所输出的标号信息,并保存该标号信息;
逻辑处理单元,用于从标号寄存器中读取标号信息,并在自身所保存的外围器件与标号的对应关系中,查找到与所读取的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至外部的各个外围器件。
一种可编程逻辑器件,该可编程逻辑器件内部包括逻辑处理单元,且该逻辑处理单元通过CPU上的通用IO口与CPU相连,并且,
逻辑处理单元,用于接收CPU通过通用IO口所输出的信号,在自身所保存的外围器件与通用IO口输出信号的对应关系中,查找到与所接收到的信号相对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至外部的各个外围器件。
由此可见,本发明具有以下优点:
1、本发明为不同的外围器件分配共同的地址空间,即使外围器件的数量再多,每一个外围器件均可以分配到地址空间,因此,从根本上解决了CPU中地址空间不足的问题。
2、在本发明中,外围器件对应的地址空间是固定的无需进行修改,因此,无需进行现有技术中复杂的修改底层驱动代码,重新进行外围器件与地址空间映射的软件实现过程,降低了软件实现的复杂度。
3、在现有技术中,由于在压缩地址空间后,外围器件对应的地址空间发生了变化,因此,必须相应地修改外围器件硬件地址线的连接,从而增加了硬件实现的复杂度。而在本发明中,当使用不同的标号来标识出不同的外围器件实现片选时,在解决地址空间不足问题的同时,CPU与可编程逻辑器件以及各个外围器件之间的硬件地址线连接无需进行任何的修改,因此,大大简化了硬件实现的复杂度。
附图说明
图1是在现有技术中实现对外围器件进行片选的示意图。
图2是在现有技术中实现对外围器件进行片选的流程图。
图3A是本发明系统的一种具体结构示意图。
图3B是本发明系统的另一种具体结构示意图。
图4是本发明实施例1的流程图。
图5是本发明实施例2的流程图。
具体实施方式
在现有技术中,由于是为不同的外围器件分配不同的地址空间,因此,即使采用压缩地址空间的作法,也无法从根本上解决地址空间不足的问题。而如果不同的外围器件能够分配共同的地址空间,那么,即使外围器件的数量再多,也不会出现地址空间不足的问题。针对这一特点,本发明提出了一种在单板中对外围器件进行片选的方法,其核心思想是:为不同的外围器件分配共同的地址空间;CPU将可标识当前需片选的外围器件的信息输出至可编程逻辑器件;可编程逻辑器件根据接收到的可标识当前需片选的外围器件的信息,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件;各个外围器件中,当前需片选的外围器件根据接收到的片选信号确定自身为片选对象。
为了区分出占用共同地址空间的不同外围器件,本发明可以预先为不同的外围器件设置不同的标号,即使用不同的标号来标识出不同的外围器件。这样,上述可标识当前需片选的外围器件的信息则为当前需片选的外围器件的标号。
或者,本发明也可以预先为不同的外围器件分配不同的CPU上的通用输入输出(IO)口输出信号,即使用不同的通用IO口输出信号来标识出不同的外围器件。这样,上述可标识当前需片选的外围器件的信息则为通用IO口所输出的、对应于当前需片选的外围器件的信号。
本发明还提出了一种在单板中对外围器件进行片选的系统。本发明系统包括:CPU、可编程逻辑器件和多个外围器件,其中,多个外围器件占用共同的地址空间,并且,
CPU,用于将可标识当前需片选的外围器件的信息输出至可编程逻辑器件;
可编程逻辑器件,用于根据接收到的可标识当前需片选的外围器件的信息,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件;
各个外围器件中,当前需片选的外围器件根据接收到的片选信号确定自身为片选对象,其它外围器件根据接收到的片选信号确定自身并非当前的片选对象。
图3A是本发明系统的一种具体结构示意图。参见图3A,在本发明系统中,可编程逻辑器件内部可以包括逻辑处理单元和标号寄存器,并且,
CPU,用于根据自身中保存的外围器件与标号的对应关系,查找到与当前需片选的外围器件对应的标号,将所查找到的标号信息输出至可编程逻辑器件中的标号寄存器;
标号寄存器,用于保存所接收到的标号信息;
逻辑处理单元,用于从标号寄存器中读取标号信息,并在自身中保存的外围器件与标号的对应关系中,查找到与所读取的标号信息对应的当前需片选的外围器件,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
图3B是本发明系统的另一种具体结构示意图。参见图3B,在本发明系统中,可编程逻辑器件内部可以只包括逻辑处理单元,并且,CPU上的通用IO口与可编程逻辑器件中的逻辑处理单元相连,并且,
CPU,用于在自身中保存的外围器件与通用IO口输出信号的对应关系中,查找到与当前需片选的外围器件对应的信号,并通过自身的通用IO口将所查找到的信号输出至可编程逻辑器件中的逻辑处理单元;
逻辑处理单元,用于在自身中保存的外围器件与通用IO口输出信号的对应关系中,查找到与所接收到的信号对应的当前需片选的外围器件,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
下面针对使用不同的标号来标识出不同的外围器件、以及使用不同的通用IO口输出信号来标识出不同的外围器件两种方式,分别举一个具体实施例来详细说明本发明的实现过程。
实施例1:
图4是本发明实施例1的流程图。参见图3A和图4,利用本发明的系统,针对使用不同的标号来标识出不同外围器件的方式,本实施例1实现在单板中对外围器件进行片选的过程包括以下步骤:
步骤401:预先为不同的外围器件分配共同的地址空间。
这里,为了确保能够对任意一个外围器件进行片选,所分配的地址空间的大小等于或大于各个外围器件实际应占用的各地址空间中的最大值。比如,存在3个外围器件,外围器件1为MAC芯片,实际应占有256字节的地址空间,外围器件2为电擦除只读存储器(EEPROM),实际应占有128字节的地址空间,外围器件3为I2C控制器,实际应占有64字节的地址空间,那么,在本步骤中,为该3个外围器件分配共同的地址空间,并且,所分配的地址空间的大小为256字节或大于256字节。
步骤402:预先为不同的外围器件设置不同的标号,建立每一个外围器件与为其分配的标号之间的第一对应关系,并将所建立的第一对应关系分别保存在CPU和可编程逻辑器件内的逻辑处理单元中。
步骤403:预先在可编程逻辑器件中设置标号寄存器。
步骤404:当需要片选一个外围器件时,CPU从所建立的第一对应关系中查找到与需片选外围器件对应的标号。
步骤405:CPU通过Local Bus中的数据线将所查找到的标号信息输出至可编程逻辑器件中的标号寄存器,该标号寄存器保存所接收到的标号信息。
步骤406:在可编程逻辑器件中,逻辑处理单元读取标号寄存器中保存的标号信息。
步骤407:可编程逻辑器件中的逻辑处理单元在所建立的第一对应关系中查找到与所读取的标号信息对应的外围器件,将所查找到的外围器件确定为当前需片选的外围器件。
步骤408:可编程逻辑器件中的逻辑处理单元产生对应于所查找到的外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
步骤409:在各个外围器件中,当前需片选的外围器件根据接收到的片选信号确定自身为当前的片选对象,其它外围器件根据接收到的片选信号确定自身并非当前的片选对象。
至此,则实现了片选外围器件的过程。此后,确定自身为当前片选对象的外围器件则可通过Local Bus中的地址线,接收CPU所需访问的地址信息,并根据所接收到的地址信息在自身的对应地址中执行相应的读数据或写数据操作。
实施例2:
图5是本发明实施例2的流程图。参见图3B和图5,利用本发明的系统,针对使用不同的通用IO口输出信号来标识出不同的外围器件的方式,本实施例2实现在单板中对外围器件进行片选的过程包括以下步骤:
步骤501的所有描述与步骤401的所有描述完全相同。
步骤502:预先将CPU上的通用IO口与可编程逻辑器件中的逻辑处理单元相连。
步骤503:预先建立CPU上通用IO口输出的不同信号与各个外围器件之间的第二对应关系,并将所建立的第二对应关系分别保存在CPU和可编程逻辑器件内的逻辑处理单元中。
这里,建立所述的第二对应关系是为了通过不同的信号标识不同的外围器件。比如,建立CPU上通用IO口输出的0001对应外围器件1,输出的0010对应外围器件2等。
步骤504:当需要片选一个外围器件时,CPU从所建立的第二对应关系中查找到与需片选外围器件对应的信号。
步骤505:CPU通过通用IO口将所查找到的信号输出至可编程逻辑器件中的逻辑处理单元。
步骤506:可编程逻辑器件中的逻辑处理单元在所建立的第二对应关系中,查找到与所接收到的信号对应的外围器件,将所查找到的外围器件确定为当前需片选的外围器件。
步骤507:可编程逻辑器件中的逻辑处理单元产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
步骤508:在各个外围器件中,当前需片选的外围器件根据接收到的片选信号确定自身为当前的片选对象,其它外围器件根据接收到的片选信号确定自身并非当前的片选对象。
至此,则实现了片选外围器件的过程。此后,确定自身为当前片选对象的外围器件则可通过Local Bus中的地址线,接收CPU所需访问的地址信息,并根据所接收到的地址信息在自身的对应地址中执行相应的读数据或写数据操作。
需要说明的是,在本发明中,由于各个外围器件占用共同的地址空间,因此,在同一时间,应只允许对一个外围器件进行片选,从而保证在同一时间只允许一个外围器件在各外围器件占用共同的地址空间中执行自身的读写操作。因此,在上述实施例1和实施例2中,当CPU需要片选一个外围器件时,CPU还可以进一步对当前执行片选的进程进行软件加锁,从而在操纵系统支持多进程时,防止其它的进程同时对其它的外围器件进行片选。其中,CPU对进程进行软件加锁的过程为现有技术,但可简单描述为:CPU在当前执行片选的进程中,将可标识是否已软件加锁的变量的值设置为已加锁状态。
在本发明中,所述的可编程逻辑器件可以是任意一个具有可编程能力,能够在内部通过编程实现寄存器逻辑功能的器件,比如,可以是复杂可编程逻辑器件(CPLD)或现场可编程门阵列(FPGA)等。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1、一种在单板中对外围器件进行片选的方法,其特征在于,为不同的外围器件分配共同的地址空间,该方法还包括:
A、中央处理器CPU将可标识当前需片选的外围器件的信息输出至可编程逻辑器件;
B、可编程逻辑器件根据接收到的可标识当前需片选的外围器件的信息,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件;
C、当前需片选的外围器件根据接收到的片选信号确定自身为片选对象。
2、根据权利要求1所述的方法,其特征在于,该方法进一步包括:为不同的外围器件设置不同的标号,建立每一个外围器件与为其分配的标号之间的第一对应关系;
所述步骤A包括:CPU根据所建立的第一对应关系,查找到与当前需片选的外围器件对应的标号,将所查找到的标号信息作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件;
在步骤B中,所述可编程逻辑器件产生片选信号的步骤包括:可编程逻辑器件根据所建立的第一对应关系,查找到与所接收到的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号。
3、根据权利要求2所述的方法,其特征在于,该方法进一步包括:在可编程逻辑器件中设置标号寄存器;
在步骤A中,所述将所查找到的标号信息输出至可编程逻辑器件的步骤包括:CPU将所查找到的标号信息作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件中的标号寄存器,由该标号寄存器进行保存;
在步骤B中,所述可编程逻辑器件产生片选信号的步骤包括:可编程逻辑器件中的逻辑处理单元从标号寄存器中读取标号信息,根据所建立的第一对应关系,查找到与所读取的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号。
4、根据权利要求3所述的方法,其特征在于,在步骤A中,所述CPU将所查找到的标号信息输出给标号寄存器的步骤包括:CPU通过本地总线LocalBus中的数据线,将所查找到的标号信息作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件中的标号寄存器。
5、根据权利要求1所述的方法,其特征在于,该方法进一步包括:将CPU上的通用输入输出IO口与可编程逻辑器件中的逻辑处理单元相连,并建立CPU上通用IO口输出的不同信号与各个外围器件之间的第二对应关系;
所述步骤A包括:CPU根据所建立的第二对应关系查找到与当前需片选的外围器件对应的通用IO口输出的信号,通过自身的通用IO口,将所查找到的信号作为可标识当前需片选的外围器件的信息输出至可编程逻辑器件中的逻辑处理单元;
在步骤B中,所述可编程逻辑器件产生片选信号的步骤包括:可编程逻辑器件中的逻辑处理单元根据所建立的第二对应关系,查找到与所接收到的通用IO口输出的信号对应的外围器件,产生对应于所查找到外围器件的片选信号。
6、根据权利要求1至5中任意一项所述的方法,其特征在于,为不同的外围器件所分配的共同地址空间的大小等于或大于各个外围器件实际应占用的各地址空间中的最大值。
7、根据权利要求1至5中任意一项所述的方法,其特征在于,所述可编程逻辑器件为复杂可编程逻辑器件CPLD或现场可编程门阵列FPGA。
8、根据权利要求1至5中任意一项所述的方法,其特征在于,在步骤C之后进一步包括:当前需片选的外围器件通过Local Bus中的地址线,接收CPU所需访问的地址信息,并根据所接收到的地址信息在自身的对应地址中执行相应的读数据或写数据操作。
9、根据权利要求1至5中任意一项所述的方法,其特征在于,该方法进一步包括:CPU对当前执行片选的进程进行软件加锁。
10、一种在印刷电路板PCB中对功能芯片进行片选的方法,应用于网络存储领域,其特征在于,为不同的功能芯片分配共同的地址空间,并为不同的功能芯片设置不同的标号,建立每一个功能芯片与为其分配的标号之间的第一对应关系,该方法还包括:
a1、CPU根据所建立的第一对应关系,查找到与当前需片选的功能芯片对应的标号,将所查找到的标号信息作为可标识当前需片选的功能芯片的信息输出至可编程逻辑器件;
b1、可编程逻辑器件根据所建立的第一对应关系,查找到与所接收到的标号信息对应的功能芯片,产生对应于所查找到功能芯片的片选信号,并将所产生的片选信号输出至各个功能芯片;
c1、当前需片选的功能芯片根据接收到的片选信号确定自身为片选对象。
11、一种在PCB中对功能芯片进行片选的方法,应用于网络存储领域,其特征在于,为不同的功能芯片分配共同的地址空间,并将CPU上的通用IO口与可编程逻辑器件中的逻辑处理单元相连,建立CPU上通用IO口输出的不同信号与各个功能芯片之间的第二对应关系;
a2、CPU根据所建立的第二对应关系查找到与当前需片选的功能芯片对应的通用IO口输出的信号,通过自身的通用IO口,将所查找到的信号作为可标识当前需片选的功能芯片的信息输出至可编程逻辑器件中的逻辑处理单元;
b2、可编程逻辑器件中的逻辑处理单元根据所建立的第二对应关系,查找到与所接收到的通用IO口输出的信号对应的功能芯片,产生对应于所查找到功能芯片的片选信号,并将所产生的片选信号输出至各个功能芯片;
c2、当前需片选的功能芯片根据接收到的片选信号确定自身为片选对象。
12、一种在单板中对外围器件进行片选的系统,其特征在于,该系统包括:CPU、可编程逻辑器件和多个外围器件,其中,多个外围器件占用共同的地址空间,并且,
CPU,用于将可标识当前需片选的外围器件的信息输出至可编程逻辑器件;
可编程逻辑器件,用于根据接收到的可标识当前需片选的外围器件的信息,产生对应于当前需片选外围器件的片选信号,并将所产生的片选信号输出至各个外围器件;
各个外围器件中,当前需片选的外围器件根据接收到的片选信号确定自身为片选对象,其它外围器件根据接收到的片选信号确定自身并非当前的片选对象。
13、根据权利要求12所述的系统,其特征在于,所述可编程逻辑器件内部包括逻辑处理单元和标号寄存器,并且,
CPU,用于根据自身中保存的外围器件与标号的对应关系,查找到与当前需片选的外围器件对应的标号,将所查找到的标号信息输出至可编程逻辑器件中的标号寄存器;
标号寄存器,用于保存所接收到的标号信息;
逻辑处理单元,用于从标号寄存器中读取标号信息,并在自身所保存的外围器件与标号的对应关系中,查找到与所读取的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
14、根据权利要求13所述的系统,其特征在于,所述CPU用于通过Local Bus中的数据线将所查找到的标号信息输出至可编程逻辑器件中的标号寄存器。
15、根据权利要求12所述的系统,其特征在于,所述可编程逻辑器件内部包括逻辑处理单元,且CPU上的通用IO口与可编程逻辑器件中的逻辑处理单元相连,其中,
CPU,用于在自身所保存的外围器件与通用IO口输出信号的对应关系中,查找到与当前需片选的外围器件对应的信号,并通过自身的通用IO口将所查找到的信号输出至可编程逻辑器件中的逻辑处理单元;
逻辑处理单元,用于在自身所保存的外围器件与通用IO口输出信号的对应关系中,查找到与所接收到的信号对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至各个外围器件。
16、一种可编程逻辑器件,其特征在于,该可编程逻辑器件内部包括逻辑处理单元和标号寄存器,并且,
标号寄存器,用于接收CPU所输出的标号信息,并保存该标号信息;
逻辑处理单元,用于从标号寄存器中读取标号信息,并在自身所保存的外围器件与标号的对应关系中,查找到与所读取的标号信息对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至外部的各个外围器件。
17、一种可编程逻辑器件,其特征在于,该可编程逻辑器件内部包括逻辑处理单元,且该逻辑处理单元通过CPU上的通用IO口与CPU相连,并且,
逻辑处理单元,用于接收CPU通过通用IO口所输出的信号,在自身所保存的外围器件与通用IO口输出信号的对应关系中,查找到与所接收到的信号相对应的外围器件,产生对应于所查找到外围器件的片选信号,并将所产生的片选信号输出至外部的各个外围器件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100720489A CN100386748C (zh) | 2006-04-04 | 2006-04-04 | 一种在单板中对外围器件进行片选的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100720489A CN100386748C (zh) | 2006-04-04 | 2006-04-04 | 一种在单板中对外围器件进行片选的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1821982A true CN1821982A (zh) | 2006-08-23 |
CN100386748C CN100386748C (zh) | 2008-05-07 |
Family
ID=36923352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100720489A Expired - Fee Related CN100386748C (zh) | 2006-04-04 | 2006-04-04 | 一种在单板中对外围器件进行片选的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100386748C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881378A (zh) * | 2015-05-15 | 2015-09-02 | 深圳市双翼科技有限公司 | Local Bus和外围设备之间的数据总线和地址总线处理方法 |
CN106371345A (zh) * | 2015-07-21 | 2017-02-01 | 钜泉光电科技(上海)股份有限公司 | 一种多芯片uart片选系统及方法 |
CN111078596A (zh) * | 2019-11-28 | 2020-04-28 | 杭州华澜微电子股份有限公司 | Flash芯片控制方法、设备、系统及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870410A (en) * | 1996-04-29 | 1999-02-09 | Altera Corporation | Diagnostic interface system for programmable logic system development |
CN100442254C (zh) * | 2003-06-13 | 2008-12-10 | Ut斯达康(中国)有限公司 | 对多个可编程逻辑器件进行在线加载的方法和装置 |
CN1318973C (zh) * | 2003-10-31 | 2007-05-30 | 华为技术有限公司 | Cpu外部总线的保护方法与装置 |
CN100373369C (zh) * | 2005-07-19 | 2008-03-05 | 杭州华三通信技术有限公司 | 控制器及多个可编程逻辑器件的组合访问装置及方法 |
-
2006
- 2006-04-04 CN CNB2006100720489A patent/CN100386748C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881378A (zh) * | 2015-05-15 | 2015-09-02 | 深圳市双翼科技有限公司 | Local Bus和外围设备之间的数据总线和地址总线处理方法 |
CN106371345A (zh) * | 2015-07-21 | 2017-02-01 | 钜泉光电科技(上海)股份有限公司 | 一种多芯片uart片选系统及方法 |
CN111078596A (zh) * | 2019-11-28 | 2020-04-28 | 杭州华澜微电子股份有限公司 | Flash芯片控制方法、设备、系统及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100386748C (zh) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1652253A (zh) | 存储卡和半导体器件 | |
CN1230829C (zh) | 快速可电擦写可编程只读存储器系统中的数据处理方法 | |
CN1099678C (zh) | 非易失性半导体磁盘装置 | |
CN100346285C (zh) | 处理器芯片与存储控制系统及方法 | |
CN1637724A (zh) | 用于闪速存储器的数据管理装置和方法 | |
CN1795437A (zh) | 用于块内页面分组的方法及设备 | |
CN1701513A (zh) | 数据存储系统内的符号频率校平 | |
CN1661583A (zh) | 协议转换和仲裁电路、系统及转换和仲裁信号的方法 | |
CN1767054A (zh) | 存储器装置 | |
CN1748204A (zh) | 编码写屏蔽 | |
CN1920780A (zh) | 访问临界区的方法和系统 | |
CN1525391A (zh) | 非易失性存储卡 | |
CN1311366C (zh) | 快闪存储器的平行双轨使用方法 | |
CN1212400A (zh) | 数据处理装置 | |
CN1804799A (zh) | 单片机在线加载升级方法及系统 | |
CN1538456A (zh) | 闪存存取装置及方法 | |
CN1763729A (zh) | 用于闪速存储器的数据处理设备和方法 | |
CN1819544A (zh) | 一种基于bitmap表的缓存管理方法 | |
CN101051524A (zh) | 半导体存储器装置的数据输出电路及其控制方法 | |
CN1652088A (zh) | 用于闪速存储器的数据管理设备和方法 | |
CN1287259C (zh) | 在通信设备中操作多个i2c从器件的装置及其方法 | |
CN1821982A (zh) | 一种在单板中对外围器件进行片选的方法和系统 | |
CN1395175A (zh) | 规定存取属性的存储器保护方法和电路 | |
CN1207851C (zh) | 在移动台中交接调制解调器和存储器的设备和方法 | |
CN1172228C (zh) | 数据处理装置及其数据处理方法 |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080507 |
|
CF01 | Termination of patent right due to non-payment of annual fee |