CN113238990A - 多用途外设控制器及其控制方法 - Google Patents

多用途外设控制器及其控制方法 Download PDF

Info

Publication number
CN113238990A
CN113238990A CN202110781894.2A CN202110781894A CN113238990A CN 113238990 A CN113238990 A CN 113238990A CN 202110781894 A CN202110781894 A CN 202110781894A CN 113238990 A CN113238990 A CN 113238990A
Authority
CN
China
Prior art keywords
data
function table
generator
peripheral
instruction
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
Application number
CN202110781894.2A
Other languages
English (en)
Other versions
CN113238990B (zh
Inventor
蔡尚达
陈朋芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bouffalo Lab Nanjing Co ltd
Original Assignee
Bouffalo Lab Nanjing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bouffalo Lab Nanjing Co ltd filed Critical Bouffalo Lab Nanjing Co ltd
Priority to CN202110781894.2A priority Critical patent/CN113238990B/zh
Publication of CN113238990A publication Critical patent/CN113238990A/zh
Application granted granted Critical
Publication of CN113238990B publication Critical patent/CN113238990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明揭示了一种多用途外设控制器及其控制方法,所述多用途外设控制器包括:总线译码器、资料缓存器、位置译码器、功能表格组件、指令产生/接收器、位置产生器、资料产生/接收器、状态机及接口分配器。本发明提出的多用途外设控制器及其控制方法,把不同的外设规格整理成指令、位置、冗余、资料四种参数定义在功能表格内,软件只要写一次驱动即可适配所有外设,大幅减少开发时间,降低开发成本。

Description

多用途外设控制器及其控制方法
技术领域
本发明属于微电子技术领域,涉及一种控制器,尤其涉及一种多用途外设控制器及其控制方法。
背景技术
随着微控制器的发展,系统芯片(SoC)集成的功能变得越来越多,因此SoC要控制的周边元件种类和数量也变多了, 例如闪存(Flash), 摄像头(Camera), 数位类比转换器(DAC),一次性编程的非挥发存储(OTP),等等;衍生而来的是SoC和周边元件的连接数量更多。厂家考量接口连接成本和方便性,一般使用了SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit)等等外设接口来连接,又因为应用的发展对外设接口的传输速度有所提升,因此SPI又衍生出双线SPI(Dual SPI)、四线SPI(QSPI)、八线SPI(OctalSPI)等等外设接口, 这些外设接口虽然原理相同,但是连接线数量和指令各厂家定义都不完全相同。
现有技术针对不同的应用就放不同的外设接口控制器来连接, 例如图1中有一个SoC需要连接QSPI Flash、SPI Camera和I2C OTP,因此SoC就要放一个QSPI控制器、一个SPI控制器和一个I2C控制器。
这种外设接口控制器设计方式不考虑复用来节省成本,需要支持n种控制器,就放n个控制器;因此存在如下缺点和不足之处。
(1)软件开发时间长: 软件因为每一个外设接口控制器设计不同,驱动程序(driver)也就不一样,软件需要更长的开发时间来适应各种控制器。
(2)硬件成本增加: 因为SoC厂家往往要试配各种不同终端客户的应用,因此要以该外设接口应用最多数量来考量其控制器成本,例如终端客户A的应用需要5个QSPI接口和1个SPI接口,终端客户B的应用需要1个QSPI接口和5个SPI接口,虽然控制器总数量只有6个,但因为QSPI控制器和SPI控制器并不兼容,因此需要5个QSPI控制器和5个SPI控制器共10个控制器成本,才能同时满足终端客户应用A和B, 当不同种类外设接口越多,控制器硬件成本增加的就越明显。
(3)接口支援度受限: 各种厂家的周边元件指令定义不完全相同,但是SoC一旦生产之后就没办法修改,所以SoC厂家需要花费很多验证时间去测试每一个厂牌,并且随着市场需求提升,新的周边元件产品也会更新新指令,此时SoC厂家在市场上旧款的芯片就受限没办法支援。
有鉴于此,如今迫切需要设计一种新的外设控制器,以便克服现有外设控制器存在的上述至少部分缺陷。
发明内容
本发明提供一种多用途外设控制器及其控制方法,可大幅减少开发时间,降低开发成本。
为解决上述技术问题,根据本发明的一个方面,采用如下技术方案:
一种多用途外设控制器,所述多用途外设控制器包括:
总线译码器,用以译码总线上的封包信息,把封包内的位置数据传送给位置译码器, 并把封包内的资料数据送给资料缓存器, 或者从资料缓存器接收资料数据。
资料缓存器,用以存储资料数据。
位置译码器,用以利用所述总线译码器传送的位置数据查询所在的区段对应的功能, 把功能标记给状态机,并且把位置数据转换成外设的实体位置数据,把所述实体位置数据送给位置产生器。
功能表格组件,包括至少一功能表格,各功能表格用以记录指令数据、位置数据和资料数据,每一个功能表格对应了一个外设接口的规格。
指令产生/接收器,用以根据所述功能表格的配置信息产生相对应的指令数据,或者从引脚接收指令数据。
位置产生器,用以根据所述功能表格的配置信息把外设实体位置数据转成相对应的位置数据。
资料产生/接收器,用以根据所述功能表格的配置信息从所述资料缓存器抽出相对应的资料数据, 或者从引脚接收资料数据。
状态机,用以根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、资料产生器和接口分配器。
接口分配器,用以把收到的指令数据或/和位置数据或/和资料数据转成字符再送到功能表格配置的引脚, 或者从引脚上接收指令数据或/和位置数据或/和资料数据并反向发回至资料缓存器。
作为本发明的一种实施方式,所述多用途外设控制器还包括:冗余产生器,用以根据所述功能表格的配置信息产生相对应的冗余数据。
各功能表格用以记录指令数据、位置数据、冗余数据和资料数据四种类型的配置信息。
所述状态机用以根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、冗余产生器、资料产生器和接口分配器。
所述接口分配器用以把收到的指令数据、位置数据、冗余数据和资料数据转成字符再送到功能表格配置的引脚, 或者把引脚上的资料数据接收。
作为本发明的一种实施方式,所述多用途外设控制器至少包括n个功能表格,以同时支持n个不同规格的外设接口。
作为本发明的一种实施方式,对于多个相同规格的外设, 使用同一个功能表格记录。
作为本发明的一种实施方式,功能表格配置的引脚数量由需要支持的外设规格来确定。
根据本发明的另一个方面,采用如下技术方案:一种多用途外设控制器的控制方法,所述控制方法包括:总线译码器译码总线上的封包信息,把封包内的位置数据传送给位置译码器, 并把封包内的资料数据送给资料缓存器, 或者从资料缓存器接收资料数据。
位置译码器利用所述总线译码器传送的位置数据查询所在的区段对应的功能,把功能标记给状态机,并且把位置数据转换成外设的实体位置数据,把所述实体位置数据送给位置产生器。
功能表格记录指令数据、位置数据和资料数据,每一个功能表格对应了一个外设接口的规格;
指令产生/接收器根据所述功能表格的配置信息产生相对应的指令数据, 或者从引脚接收指令数据。
位置产生器根据所述功能表格的配置信息把外设实体位置数据转成相对应的位置数据。
资料产生/接收器根据所述功能表格的配置信息从所述资料缓存器抽出相对应的资料数据, 或者从引脚接收资料数据。
状态机根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、资料产生器和接口分配器。
接口分配器把收到的指令数据或/和位置数据或/和资料数据转成字符再送到功能表格配置的引脚, 或者从引脚上接收指令数据或/和位置数据或/和资料数据并反向发回至资料缓存器。
作为本发明的一种实施方式,所述控制方法进一步包括:冗余产生器根据所述功能表格的配置信息产生相对应的冗余数据;各功能表格记录指令数据、位置数据、冗余数据和资料数据四种类型的配置信息;所述状态机根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、冗余产生器、资料产生器和接口分配器;所述接口分配器把收到的指令数据、位置数据、冗余数据、资料数据转成字符再送到功能表格配置的引脚。
作为本发明的一种实施方式,所述多用途外设控制器至少包括n个功能表格,以同时支持n个不同规格的外设接口。
作为本发明的一种实施方式,对于多个相同规格的外设, 使用同一个功能表格记录。
作为本发明的一种实施方式,功能表格配置的引脚数量由需要支持的外设规格来确定。
本发明的有益效果在于:本发明提出的多用途外设控制器及其控制方法,把不同的外设规格整理成指令、位置、冗余、资料四种参数定义在功能表格内(也可以不包括冗余数据), 软件只要写一次驱动即可适配所有外设,大幅减少开发时间,降低开发成本。
SoC厂商以往规划外设控制器要考虑不同外设的接口总数,并且成本也是加总,但是实际应用往往不会全用到,造成成本浪费,本架构可以弹性的分配外设数量,以达到最好的利用率。
本发明的架构只要修改功能表格即可扩充外设规格,不需要重新设计外设控制器,能够延长芯片可贩售的时间。
本发明架构可以灵活的把总线位置转换到实体位置,可以把一个外设接口在总线虚拟成多个独立的外设实体区域,或者在总线连续的位置看到多个不同外设实体区域,有利于软件的应用规划。
附图说明
图1为现有外设控制器的组成示意图。
图2为本发明一实施例中多用途外设控制器的组成示意图。
图3为本发明一实施例中多用途外设控制器共用引脚的示意图。
图4为本发明一实施例中多用途外设控制器总线位置转换到实体位置的示意图。
图5为本发明一实施例中接口分配器进行数据转换的示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
该部分的描述只针对几个典型的实施例,本发明并不仅局限于实施例描述的范围。相同或相近的现有技术手段与实施例中的一些技术特征进行相互替换也在本发明描述和保护的范围内。
说明书中各个实施例中的步骤的表述只是为了方便说明,本申请的实现方式不受步骤实现的顺序限制。
说明书中的“连接”既包含直接连接,也包含间接连接,如通过一些有源器件、无源器件或电传导媒介进行的连接;还可包括本领域技术人员公知的在可实现相同或相似功能目的的基础上通过其他有源器件或无源器件的连接,如通过开关、跟随电路等电路或部件的连接。
本发明揭示了一种多用途外设控制器,图2为本发明一实施例中多用途外设控制器的组成示意图;请参阅图2,所述多用途外设控制器包括:总线译码器(Bus Decoder)1、资料缓存器(Data Buffer)2、位置译码器(Address Decoder)3、功能表格组件4、指令产生/接收器(Command Generator)5、位置产生器(Address Generator)6、冗余产生器(DummyGenerator)7、资料产生/接收器(Data Generator)8、状态机(FSM)9及接口分配器(Interface Distributor)10。当然,多用途外设控制器也可以根据需要不设置冗余产生器(Dummy Generator)7。
总线译码器1用以译码总线上的封包信息,把封包内的位置数据(Address)传送给位置译码器, 并把封包内的资料数据(Data)送给资料缓存器2。资料缓存器2用以存储资料数据。
位置译码器3用以利用所述总线译码器1传送的位置数据查询所在的区段对应的功能, 把功能标记给状态机9,并且把位置数据转换成外设的实体位置数据,把所述实体位置数据送给位置产生器6。
功能表格组件4包括至少一功能表格40,各功能表格40用以记录指令数据、位置数据、冗余数据和资料数据四种类型的配置信息(在不设置冗余产生器7时,功能表格40记录的配置信息中可以不包括冗余数据),每一个功能表格40对应了一个外设接口的规格。在本发明的一实施例中,所述多用途外设控制器至少包括n个功能表格40,以同时支持n个不同规格的外设接口。对于多个相同规格的外设, 使用同一个功能表格40记录。
指令产生/接收器5用以根据所述功能表格40的配置信息产生相对应的指令数据[可以为指令字节(Byte)], 或者从引脚接收指令数据;位置产生器6用以根据所述功能表格40的配置信息把外设实体位置数据转成相对应的位置数据[可以为位置字节(Byte)];冗余产生器7用以根据所述功能表格40的配置信息产生相对应的冗余数据[可以为冗余字节(Byte)];资料产生/接收器8用以根据所述功能表格40的配置信息从所述资料缓存器2抽出相对应的资料数据[可以为资料字节(Byte)], 或者从引脚接收资料数据。
状态机9用以根据位置译码器3解出的外设格式取出对应的功能表格40,利用所述功能表格40的配置来驱动指令产生/接收器5、位置产生器6、资料产生/接收器8和接口分配器10(还可以利用所述功能表格40的配置来驱动冗余产生器7)。
接口分配器10用以把收到的指令数据或/和位置数据或/和冗余数据或/和资料数据转成字符(Bit)再送到功能表格40配置的引脚, 或者从引脚上接收指令数据或/和位置数据或/和冗余数据或/和资料数据并反向发回至资料缓存器2。在一实施例中,功能表格40配置的引脚数量由需要支持的外设规格来确定。
本发明进一步揭示一种多用途外设控制器的控制方法,所述控制方法包括:
【步骤A】总线译码器译码总线上的封包信息,把封包内的位置传送给位置译码器,并把封包内的资料数据送给资料缓存器。
【步骤B】位置译码器利用位置数据查询所在的区段对应的功能, 把功能标记给状态机,并且把位置数据转换成外设的实体位置数据,把所述实体位置数据送给位置产生器。
【步骤C】功能表格记录指令数据、位置数据、冗余数据和资料数据四种类型的配置信息,每一个功能表格对应了一个外设接口的规格。在本发明的一实施例中,所述多用途外设控制器至少包括n个功能表格,以同时支持n个不同规格的外设接口。对于多个相同规格的外设, 使用同一个功能表格记录。
【步骤D】指令产生/接收器根据所述功能表格的配置信息产生相对应的指令数据,或者从引脚接收指令数据。
【步骤E】位置产生器根据所述功能表格的配置信息把外设实体位置数据转成相对应的位置数据。
【步骤F】冗余产生器根据所述功能表格的配置信息产生相对应的冗余数据;在另一实施例中,所述方法可以不包括步骤F。
【步骤G】资料产生/接收器根据所述功能表格的配置信息从所述资料缓存器抽出相对应的资料数据, 或者从引脚接收资料数据。
【步骤H】状态机根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、冗余产生器、资料产生器和接口分配器。
【步骤I】接口分配器把收到的指令数据或/和位置数据或/和冗余数据或/和资料数据转成字符(Bit)再送到功能表格配置的引脚, 或者从引脚上接收指令数据或/和位置数据或/和冗余数据或/和资料数据并反向发回至资料缓存器。在一实施例中,功能表格配置的引脚数量m由需要支持的外设规格来确定。
上述方法的步骤中,部分步骤的先后顺序可以调整,例如步骤D至步骤G,其顺序可以随意调整。
图3为本发明一实施例中多用途外设控制器共用引脚的示意图;请参阅图3,在本发明的一种使用场景下,所述多用途外设控制器支持QSPI x1、SPI x1、I2C x1的连接方式,其中SPI和QSPI的时钟和资料线(时钟引脚和资料引脚)可以共享,只要用不同的CS来驱动即可,而I2C因为和SPI引脚不同,需要使用额外的引脚, 这个应用情况,因为有3种外设接口,所以功能表格的n>=3,而引脚总共使用了9个,即引脚数量m=9。
每一个总线位置转换到实体位置的偏移大小由暂存器来配置,可以针对不同应用灵活调整,图4为一个总线位置转换到实体位置的示意图。总线有4个外设区域,分别对应到QSPI, SPI,和I2C的实体位置,其中外设区域0和外设区域1都对应到了QSPI Flash, 这是因为在一个QSPI Flash区域上可能有多种不同的应用,这个例子有2个需要独立的应用,所以拆分成2个区域。
功能表格中纪录了指令、位置、冗余和资料四种类型的配置, 因为此应用要同时接三种接口,因此功能表格的n>=3, 每一个功能表格的配置是都是可以修改的,针对不同的应用,可以配置不同的接口参数,表格n是控制器能最多同时支援的能力。
图5为本发明一实施例中接口分配器进行数据转换的示意图;请参阅图5,接口分配器会把收到的指令字节、位置字节、冗余字节及资料字节转成字符,以QSPI接口为例,command byte0会转成c0~c7,address byte0~2会转成a0~a23,data byte0~1会转成b0~b15, 并且根据功能表格中的配置,把command bit, address bit, data bit再分配到各个引脚上。在本发明的一实施例中,当QSPI和SPI共享资料引脚时,所述接口分配器10可以动态利用位置切换要使用QSPI或者SPI。
本发明多用途外设控制器可兼容多种外设接口, 软件只要开发一次驱动即可适配多种外设规格,硬件因为有兼容于多种外设接口的特性, 可以减少SoC外设控制器的数量,以达到节省成本的效果;同时因为统一了外设控制器和中央处理器的接口,可以很方便的统一管理外设权限。
综上所述,本发明提出的多用途外设控制器及其控制方法,把不同的外设规格整理成指令、位置、冗余、资料四种参数定义在功能表格内, 软件只要写一次驱动即可适配所有外设,大幅减少开发时间,降低开发成本。
SoC厂商以往规划外设控制器要考虑不同外设的接口总数,并且成本也是加总,但是实际应用往往不会全用到,造成成本浪费,本架构可以弹性的分配外设数量,以达到最好的利用率。
本发明的架构只要修改功能表格即可扩充外设规格,不需要重新设计外设控制器,能够延长芯片可贩售的时间。
本发明架构可以灵活的把总线位置转换到实体位置,可以把一个外设接口在总线虚拟成多个独立的外设实体区域,或者在总线连续的位置看到多个不同外设实体区域,有利于软件的应用规划。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施;例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中;例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现;例如,作为与处理器配合从而执行各个步骤或功能的电路。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。实施例中所涉及的效果或优点可因多种因素干扰而可能不能在实施例中体现,对于效果或优点的描述不用于对实施例进行限制。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。

Claims (10)

1.一种多用途外设控制器,其特征在于,所述多用途外设控制器包括:
总线译码器,用以译码总线上的封包信息,把封包内的位置数据传送给位置译码器,并把封包内的资料数据送给资料缓存器, 或者从资料缓存器接收资料数据;
资料缓存器,用以存储资料数据;
位置译码器,用以利用所述总线译码器传送的位置数据查询所在的区段对应的功能,把功能标记给状态机,并且把位置数据转换成外设的实体位置数据,把所述实体位置数据送给位置产生器;
功能表格组件,包括至少一功能表格,各功能表格用以记录指令数据、位置数据和资料数据,每一个功能表格对应了一个外设接口的规格;
指令产生/接收器,用以根据所述功能表格的配置信息产生相对应的指令数据, 或者从引脚接收指令数据;
位置产生器,用以根据所述功能表格的配置信息把外设实体位置数据转成相对应的位置数据;
资料产生/接收器,用以根据所述功能表格的配置信息从所述资料缓存器抽出相对应的资料数据, 或者从引脚接收资料数据;
状态机,用以根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、资料产生器和接口分配器;
接口分配器,用以把收到的指令数据或/和位置数据或/和资料数据转成字符再送到功能表格配置的引脚, 或者从引脚上接收指令数据或/和位置数据或/和资料数据并反向发回至资料缓存器。
2.根据权利要求1所述的多用途外设控制器,其特征在于:
所述多用途外设控制器还包括:冗余产生器,用以根据所述功能表格的配置信息产生相对应的冗余数据;
各功能表格用以记录指令数据、位置数据、冗余数据和资料数据四种类型的配置信息;
所述状态机用以根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、冗余产生器、资料产生器和接口分配器;
所述接口分配器用以把收到的指令数据、位置数据、冗余数据和资料数据转成字符再送到功能表格配置的引脚, 或者把引脚上的资料数据接收。
3.根据权利要求1所述的多用途外设控制器,其特征在于:
所述多用途外设控制器至少包括n个功能表格,以同时支持n个不同规格的外设接口。
4.根据权利要求1所述的多用途外设控制器,其特征在于:
对于多个相同规格的外设, 使用同一个功能表格记录。
5.根据权利要求1所述的多用途外设控制器,其特征在于:
功能表格配置的引脚数量由需要支持的外设规格来确定。
6.一种多用途外设控制器的控制方法,其特征在于,所述控制方法包括:
总线译码器译码总线上的封包信息,把封包内的位置数据传送给位置译码器, 并把封包内的资料数据送给资料缓存器, 或者从资料缓存器接收资料数据;
位置译码器利用所述总线译码器传送的位置数据查询所在的区段对应的功能, 把功能标记给状态机,并且把位置数据转换成外设的实体位置数据,把所述实体位置数据送给位置产生器;
功能表格记录指令数据、位置数据和资料数据,每一个功能表格对应了一个外设接口的规格;
指令产生/接收器根据所述功能表格的配置信息产生相对应的指令数据, 或者从引脚接收指令数据;
位置产生器根据所述功能表格的配置信息把外设实体位置数据转成相对应的位置数据;
资料产生/接收器根据所述功能表格的配置信息从所述资料缓存器抽出相对应的资料数据, 或者从引脚接收资料数据;
状态机根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、资料产生器和接口分配器;
接口分配器把收到的指令数据或/和位置数据或/和资料数据转成字符再送到功能表格配置的引脚, 或者从引脚上接收指令数据或/和位置数据或/和资料数据并反向发回至资料缓存器。
7.根据权利要求6所述的控制方法,其特征在于:
所述控制方法进一步包括:冗余产生器根据所述功能表格的配置信息产生相对应的冗余数据;
各功能表格记录指令数据、位置数据、冗余数据和资料数据四种类型的配置信息;
所述状态机根据位置译码器解出的外设格式取出对应的功能表格,利用所述功能表格的配置来驱动指令产生器、位置产生器、冗余产生器、资料产生器和接口分配器;
所述接口分配器把收到的指令数据或/和位置数据或/和冗余数据或/和资料数据转成字符再送到功能表格配置的引脚, 或者从引脚上接收指令数据或/和位置数据或/和冗余数据或/和资料数据并反向发回至资料缓存器。
8.根据权利要求6所述的控制方法,其特征在于:
所述多用途外设控制器至少包括n个功能表格,以同时支持n个不同规格的外设接口。
9.根据权利要求6所述的控制方法,其特征在于:
对于多个相同规格的外设, 使用同一个功能表格记录。
10.根据权利要求6所述的控制方法,其特征在于:
功能表格配置的引脚数量由需要支持的外设规格来确定。
CN202110781894.2A 2021-07-12 2021-07-12 多用途外设控制器及其控制方法 Active CN113238990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110781894.2A CN113238990B (zh) 2021-07-12 2021-07-12 多用途外设控制器及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110781894.2A CN113238990B (zh) 2021-07-12 2021-07-12 多用途外设控制器及其控制方法

Publications (2)

Publication Number Publication Date
CN113238990A true CN113238990A (zh) 2021-08-10
CN113238990B CN113238990B (zh) 2021-09-24

Family

ID=77135299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110781894.2A Active CN113238990B (zh) 2021-07-12 2021-07-12 多用途外设控制器及其控制方法

Country Status (1)

Country Link
CN (1) CN113238990B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1927239A2 (en) * 2005-09-21 2008-06-04 Harris Corporation Endpoint transparent independent messaging scheme system and method
CN102629242A (zh) * 2012-03-31 2012-08-08 苏州博联科技有限公司 一种集总外设接口模块
CN203167074U (zh) * 2013-01-11 2013-08-28 青岛海信移动通信技术股份有限公司 配置有复用接口的移动终端
US20170286420A1 (en) * 2016-03-30 2017-10-05 Intel Corporation Pattern matching circuit
CN110825667A (zh) * 2019-11-12 2020-02-21 天津飞腾信息技术有限公司 一种低速io设备控制器的设计方法和结构

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1927239A2 (en) * 2005-09-21 2008-06-04 Harris Corporation Endpoint transparent independent messaging scheme system and method
CN102629242A (zh) * 2012-03-31 2012-08-08 苏州博联科技有限公司 一种集总外设接口模块
CN203167074U (zh) * 2013-01-11 2013-08-28 青岛海信移动通信技术股份有限公司 配置有复用接口的移动终端
US20170286420A1 (en) * 2016-03-30 2017-10-05 Intel Corporation Pattern matching circuit
CN110825667A (zh) * 2019-11-12 2020-02-21 天津飞腾信息技术有限公司 一种低速io设备控制器的设计方法和结构

Also Published As

Publication number Publication date
CN113238990B (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
US7587536B2 (en) Method and apparatus for distributing USB hub functions across a network
US6073205A (en) System and method of write posting in a universal serial bus system
US6434660B1 (en) Emulating one tape protocol of flash memory to a different type protocol of flash memory
US5765027A (en) Network controller which enables the local processor to have greater access to at least one memory device than the host computer in response to a control signal
US10606778B2 (en) Bus system
JPH1083375A (ja) Scsiシステム
US5987530A (en) Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system
JP3133732B2 (ja) マルチスレーブバスラインシステム及びシリアル転送方法
JP2002016613A (ja) 電子機器、電子機器システムおよび通信制御方法
US5896549A (en) System for selecting between internal and external DMA request where ASP generates internal request is determined by at least one bit position within configuration register
KR100579203B1 (ko) 능률화된 ata 장치 초기화 방법 및 장치
CN113238990B (zh) 多用途外设控制器及其控制方法
CN104346310A (zh) 一种高性能i2c从机数据交换电路及方法
EP2460278B1 (en) Transaction terminator
US7443886B1 (en) Communication protocol system and method
JPH0140366B2 (zh)
CN203251321U (zh) 一种can总线与1553b总线通讯转换装置
CN111858459A (zh) 处理器及计算机
KR100797468B1 (ko) 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체
CN115202257B (zh) 一种lpc总线协议转换及设备并行控制装置及方法
JP2002198990A (ja) データ通信方式およびデータ通信用ic
KR200191626Y1 (ko) 범용직렬버스포트인터프리터
CN117743235A (zh) I2c设备的访问方法及装置
CN113220238B (zh) 一种通用sas控制器接口实现方法
US20240069754A1 (en) Computing system and associated method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant