CN109388606A - 一种芯片内可重构的串行总线控制器 - Google Patents
一种芯片内可重构的串行总线控制器 Download PDFInfo
- Publication number
- CN109388606A CN109388606A CN201811132941.5A CN201811132941A CN109388606A CN 109388606 A CN109388606 A CN 109388606A CN 201811132941 A CN201811132941 A CN 201811132941A CN 109388606 A CN109388606 A CN 109388606A
- Authority
- CN
- China
- Prior art keywords
- state
- jump instruction
- module
- restructural
- chip
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种芯片内可重构的串行总线控制器,包括寄存器模块、状态存储模块和跳转指令存储模块,首先通过总线将配置信息配置进寄存器模块,其中包括可配的状态和跳转指令,可配的状态和跳转指令分别被存入状态存储模块和跳转指令存储模块中,启动后,控制模块分别从状态存储模块和跳转指令模块中按照顺序取出配置的可配状态和跳转指令,完成所需的状态跳转,从而实现所需的协议。本发明通过软件可配置硬件的控制逻辑,提供灵活的状态机配置和跳转指令,在可支持标准的I2C、SPI、SSP、Microwire、Enhanced SPI、IrDA 1.0 SIR、RS485、UART、ISO7816‑3等的基础上,可灵活的配置成支持一些非标准的协议,节省了非标准接口IP的开发时间,可复用性强。
Description
技术领域
本发明属于芯片领域,具体是一种芯片内可重构的串行总线控制器。
背景技术
串行总线控制器也就是接口,是用来实现芯片与外部设备连接和数据交换的设备。串行总线控制器(接口)的功能是实现CPU通过系统总线(Bus)把串行总线控制器和外围设备联系在一起,串行总线控制器的种类很多,其相应的接口电路各不相同。通常芯片可能会连接不同的外围设备,不同的外围设备所能提供的接口类型也不尽相同。
应对这种需求,通常的做法是芯片会整合不同的接口IP,尽可能全面的支持所需要的串行总线控制器,因为这些IP都是独立的,不复用控制逻辑电路,通常不会同时使用所有的串行总线控制器,浪费了大量的面积。有时应对特殊需求的外围设备,芯片可能还需要提供支持非标准协议的串行总线控制器,这时需要进行定制化的串行总线控制器的开发,这就需要付出时间成本,以及这种定制化的支持非标准协议的串行总线控制器的复用性不高。且目前市场上的串行的接口IP基本上没有多线同时传输数据的,最多只有两线并行传输。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提供了一种芯片内可重构的串行总线控制器,包括寄存器模块、状态存储模块和跳转指令存储模块,其特征在于:首先通过总线将配置信息配置进寄存器模块,其中包括可配的状态和跳转指令,可配的状态和跳转指令分别被存入状态存储模块和跳转指令存储模块中,启动后,控制模块分别从状态存储模块和跳转指令模块中按照顺序取出配置的可配状态和跳转指令,完成所需的状态跳转,从而实现所需的协议。
进一步的,所支持的标准协议包括I2C、SPI、SSP、Microwire、Enhanced SPI、IrDA1.0 SIR、RS485、UART、ISO7816-3。
进一步的,该串行总线控制器通过可配状态和跳转指令支持自定义的非标准通信协议。
进一步的,还包括两个AHB_Lite 接口,串行总线控制器通过该两个AHB_Lite 接口访问内存,从而实现接收和发送FIFO。
进一步的,还包括将对外的数据接口配置为1、2、4、8根线,以支持1、2、4、8线的传输模式。
进一步的,根据传输数据的类型,软件配置传输的数据宽度,该串行总线控制器根据配置的状态值区分数据类型。
本发明的芯片内可重构的串行总线控制器完全复用了各协议的控制逻辑,不用整合不同的接口IP,节省了很多面积,通过软件可配置硬件的控制逻辑,提供灵活的状态机配置和跳转指令(控制逻辑),在可支持标准的I2C、SPI、SSP、Microwire、Enhanced SPI、IrDA1.0 SIR、RS485、UART、ISO7816-3。等的基础上,可灵活的配置成支持一些非标准的协议,节省了非标准接口IP的开发时间,可复用性强。同时,为了进一步节省面积,将接口IP都有的用于数据缓存的内部FIFO放在IP外部的系统内存,IP通过两个AHB_Lite接口访问。本发明可支持1、2、4、8线传输模式,并且硬件软件却可配置,极大的丰富了功能,而且富有灵活性。
附图说明
图1是本发明的芯片内可重构的串行总线控制器的架构图;
图2是 I2C主机10位寻址的发送数据的状态流程图;
图3是一种非标准的通信协议流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,本发明的芯片内可重构的串行总线控制器,首先通过总线将配置信息配置进寄存器模块,其中包括可配的状态和跳转指令,可配的状态和跳转指令分别被存入状态存储模块和跳转指令存储模块中,启动后,控制模块分别从状态存储模块和跳转指令模块中按照顺序取出配置的可配状态和跳转指令,这样就能够完成所需的状态跳转,从而实现所需的协议。
实现支持的标准协议包括I2C、SPI、SSP、Microwire、Enhanced SPI、IrDA 1.0SIR、RS485、UART、ISO7816-3等等,以I2C主机10位寻址的发送数据为例。
首先,如图2所示,实现2C主机10位寻址的发送数据的协议需要实现如下的逻辑:
1、 发送起始位;
2、 发送第一个地址;
3、 接收从机想响应(低电平),如果没有接收到则发送停止位结束通信,如果收到了则执行4;
4、 发送第二个地址;
5、 接收从机想响应(低电平),如果没有接收到则发送停止位结束通信,如果收到了则执行6;
6、 发送数据给从机;
7、 如果发送完所有的数据帧,则接收完从机的响应后发送停止位结束通信,否则执行8;
8、 接收从机想响应(低电平),如果没有接收到则发送停止位结束通信,如果收到了则执行6。
表 1 I2C主机10位寻址发送数据的状态和跳转指令的配置及存储(可配状态存储地址以4bit,跳转指令存储地址以3bit为例,可根据需要扩展)
按照表1所示将可配的状态和跳转指令按照顺序配置进寄存器,启动可重构串行总线控制器后,就是实现了以上的逻辑,完全符合I2C主机10位寻址的发送数据的协议。
表 2 一种非标准的通信协议对应的状态和跳转指令的配置及存储(可配状态存储地址以4bit,跳转指令存储地址以3bit为例,可根据需要扩展)
使用者也可根据自己的需求完成一些非标准的传输协议,下面以表 2 中的状态和跳转指令按照顺序配置到寄存器中,启动后就进行图 3 中的控制逻辑,所实现的非标协议描述如下:
首先发送起始位,发送一帧控制字,等待对方响应(低电平),等不到就继续等,等为止,然后接收一帧数据,最后发送数据给对方,每帧数据发送完之后都接收对方发过来的响应,如果接收不到就发送停止位结束通信,如果接收到就继续发数据,知道数据全部发送完,发送停止位给对方结束通信。这样就实现了一种比较复杂的非标准的协议。
本发明利用可配状态及跳转指令实现了一种可支持I2C、SPI、UART、ISO7816-3等标准协议以及一些可自定义的非标准协议的串行总线控制器。
本发明解决了芯片对于不同接口协议的需求,同时对面积有要求的问题。同时支持多种标准通信协议的基础上,复用大量的控制逻辑,极大的节省了面积。
同时将串行总线控制器都会存在的接收数据缓存FIFO和发送数据缓存FIFO放在了系统内存,串行总线控制器通过两个AHB_Lite 接口访问内存,这样又大大的节省了面积。同时支持这么多种协议实际上可复用大量的配置参数的寄存器,这样比支持不同协议的控制器加起来所需的配置参数的寄存器少的多,面积进一步节省了下来。
本发明还支持一些可自定义的非标准的通信协议。利用一种可配状态及跳转指令实现了可支持自定义的非标准协议的目的。
定义了多种状态,在每种状态下,可重构的串行总线控制器完成固定的逻辑功能。按照需求,将想要实现的非标准协议所对应状态按照顺序配置进去。每种状态可能会跳转到不同的状态,再将每个状态可能会跳转到哪些状态的存储地址也按照顺序存储起来,我们称之为跳转指令。启动后,可重构的串行总线控制器就会按照所存储的状态及跳转指令完成所需要的协议的功能。本发明所设计的芯片内的可重构串行总线控制器通过这种方式就可以实现支持I2C、SPI、UART、ISO7816-3等标准协议以及一些可自定义的非标准协议的功能。
本发明支持1、2、4、8线的传输模式,可硬件配置成对外的数据接口为1、2、4、8根线。在硬件配置成1线时,可实现单线传输数据的模式。在硬件配置成2线时,可软件配置成1线传输数据或者2线传输数据的模式。在硬件配置成4线时,可软件配置成1、2、4线传输数据的模式。在硬件配置成8线时,可软件配置成1、2、4、8线传输数据的模式。所谓多线传输,就是可同时用多条线接收或者发送数据,例如一个16bit的数据,如果配置成8线传输模式,只要两拍就可完成传输。可根据需求硬件配置模式,硬件配置成几线,对外接口就会生成几条数据线。
本发明支持软件可配的传输的数据宽度,本发明提供了至少三种类型的传输数据,可重构的串行总线控制器根据配置进来的状态值区分这些数据的类型,几种类型的数据均可软件配置数据长度,这样就满足了一次通信时需要接收或者发送不同类型的数据时,对于几种类型的数据长度不同所带来的需求。这样就能够灵活的支持标准以及非标准的通信协议。
Claims (6)
1.一种芯片内可重构的串行总线控制器,包括寄存器模块、状态存储模块和跳转指令存储模块,其特征在于:首先通过总线将配置信息配置进寄存器模块,其中包括可配的状态和跳转指令,可配的状态和跳转指令分别被存入状态存储模块和跳转指令存储模块中,启动后,控制模块分别从状态存储模块和跳转指令模块中按照顺序取出配置的可配状态和跳转指令,完成所需的状态跳转,从而实现所需的协议。
2.如权利要求1所述的芯片内可重构的串行总线控制器,其特征在于:所支持的标准协议包括I2C、SPI、SSP、Microwire、Enhanced SPI、IrDA 1.0 SIR、RS485、UART、ISO7816-3。
3.如权利要求1所述的芯片内可重构的串行总线控制器,其特征在于:该外设控制器通过可配状态和跳转指令支持自定义的非标准通信协议。
4.如权利要求1所述的芯片内可重构的串行总线控制器,其特征在于:还包括两个AHB_Lite 接口,外设控制器通过该两个AHB_Lite 接口访问内存,从而实现接收和发送FIFO。
5.如权利要求1所述的SoC芯片内可重构外设控制器,其特征在于:还包括将对外的数据接口配置为1、2、4、8根线,以支持1、2、4、8线的传输模式。
6.如权利要求1所述的SoC芯片内可重构外设控制器,其特征在于:根据传输数据的类型,软件配置传输的数据宽度,该外设控制器根据配置的状态值区分数据类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811132941.5A CN109388606A (zh) | 2018-09-27 | 2018-09-27 | 一种芯片内可重构的串行总线控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811132941.5A CN109388606A (zh) | 2018-09-27 | 2018-09-27 | 一种芯片内可重构的串行总线控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388606A true CN109388606A (zh) | 2019-02-26 |
Family
ID=65418137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811132941.5A Pending CN109388606A (zh) | 2018-09-27 | 2018-09-27 | 一种芯片内可重构的串行总线控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388606A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625075A (zh) * | 2020-05-20 | 2020-09-04 | 天津芯海创科技有限公司 | 一种软件可配置的复位装置和方法 |
CN111694776A (zh) * | 2020-05-29 | 2020-09-22 | 大唐微电子技术有限公司 | 一种芯片中通讯接口的识别方法和装置 |
CN114996184A (zh) * | 2022-06-13 | 2022-09-02 | 南京观海微电子有限公司 | 兼容实现spi或i2c从机的接口模块及数据传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101479714A (zh) * | 2006-02-16 | 2009-07-08 | Vns组合有限责任公司 | 来自输入源的指令的直接执行 |
CN101697147A (zh) * | 2009-09-29 | 2010-04-21 | 江俊逢 | 一种可重构i/o芯片 |
-
2018
- 2018-09-27 CN CN201811132941.5A patent/CN109388606A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101479714A (zh) * | 2006-02-16 | 2009-07-08 | Vns组合有限责任公司 | 来自输入源的指令的直接执行 |
CN101697147A (zh) * | 2009-09-29 | 2010-04-21 | 江俊逢 | 一种可重构i/o芯片 |
Non-Patent Citations (1)
Title |
---|
李俊: "多标准通信协议可配置外设控制器设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625075A (zh) * | 2020-05-20 | 2020-09-04 | 天津芯海创科技有限公司 | 一种软件可配置的复位装置和方法 |
CN111694776A (zh) * | 2020-05-29 | 2020-09-22 | 大唐微电子技术有限公司 | 一种芯片中通讯接口的识别方法和装置 |
CN114996184A (zh) * | 2022-06-13 | 2022-09-02 | 南京观海微电子有限公司 | 兼容实现spi或i2c从机的接口模块及数据传输方法 |
CN114996184B (zh) * | 2022-06-13 | 2024-01-30 | 南京观海微电子有限公司 | 兼容实现spi或i2c从机的接口模块及数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642778B2 (en) | Slave master-write/read datagram payload extension | |
US6859825B1 (en) | System and method enabling configuration of physical layer devices and corresponding link partners for communicating network data via a configuration source or auto-negotiation | |
CN107015927A (zh) | 一种基于SoC支持多个SPI接口标准组的装置 | |
CN109388606A (zh) | 一种芯片内可重构的串行总线控制器 | |
US20080288708A1 (en) | Multiple virtual usb devices with virtual hub implemented using one usb device controller | |
JP2019508915A (ja) | メッセージングおよび入出力転送インターフェースのための最適レイテンシパケタイザ有限ステートマシン | |
CN109901469A (zh) | 一种基于fpga技术实现profibus-pa总线通信的方法 | |
JPS6253097A (ja) | 制御デ−タ伝送方式 | |
US20090300254A1 (en) | Method for Connecting a Flexray user having a Microcontroller to a Flexray Communications line Via a Flexray Communications Control Device, and Flexray Communications Control Device, Flexray User, and Flexray Communications System for Realizing this Method | |
CN100383544C (zh) | 一种电平信号的实时监测方法及装置 | |
US20080307132A1 (en) | Expanded Memory for Communications Controller | |
CN116450552B (zh) | 基于i2c总线异步批量读写寄存器的方法及系统 | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
US7636797B2 (en) | LPC configuration sharing method | |
JP2002016613A (ja) | 電子機器、電子機器システムおよび通信制御方法 | |
CN110290187A (zh) | 数据信息的传输方法及装置、存储介质、电子装置 | |
CN107992439A (zh) | 一种可扩展的数据交互方法及系统 | |
CN206757602U (zh) | 一种基于SoC支持多个SPI接口标准组的装置 | |
US11500803B2 (en) | Programmable slave circuit on a communication bus | |
US8812764B2 (en) | Apparatus installing devices controlled by MDIO or SPI protocol and method to control the same | |
KR100479640B1 (ko) | 직렬통신에 의한 프로그래머블 로직 제어장치의 증설시스템과 그 동작방법 | |
EP2460278B1 (en) | Transaction terminator | |
JPH09293040A (ja) | 半導体装置における周辺デバイス識別方法 | |
CN215991226U (zh) | 一种异构多处理器5g网关电路 | |
JP3477306B2 (ja) | 拡張入出力インターフェイス |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190226 |
|
RJ01 | Rejection of invention patent application after publication |