CN116610601A - 一种数据传输装置及其控制方法、装置、介质 - Google Patents
一种数据传输装置及其控制方法、装置、介质 Download PDFInfo
- Publication number
- CN116610601A CN116610601A CN202310544616.4A CN202310544616A CN116610601A CN 116610601 A CN116610601 A CN 116610601A CN 202310544616 A CN202310544616 A CN 202310544616A CN 116610601 A CN116610601 A CN 116610601A
- Authority
- CN
- China
- Prior art keywords
- data transmission
- address
- data
- storage unit
- transmission 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 249
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000001360 synchronised effect Effects 0.000 claims abstract description 46
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 43
- 238000013500 data storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 4
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请涉及总线通信领域,公开了一种数据传输装置及其控制方法、装置、介质,包括:运行存储单元、运存读写控制单元;运存读写控制单元与双向二线制同步串行总线接口的控制器和运行存储单元均连接;运行存储单元用于存储至少一条数据传输指令;运存读写控制单元还与双向二线制同步串行总线接口的寄存器配置单元连接,以在寄存器配置单元的工作状态满足第一预设条件时,获取运行存储单元中存储的数据传输指令。本申请通过运行存储单元存储CPU预先发送的多条数据传输指令,并在寄存器配置单元的工作状态满足第一预设条件时通过运存读写控制单元将数据传输指令发送至寄存器配置单元,防止由于CPU被长时间占用导致总线闲置,提高传输效率。
Description
技术领域
本申请涉及总线通信领域,特别是涉及一种数据传输装置及其控制方法、装置、介质。
背景技术
双向二线制同步串行总线(Inter-Integrated Circuit,I2C总线)是一种简单的同步串行总线。它只需要串行数据线(SDA)和串行时钟线(SCL)两根线即可在连接于总线上的器件之间传送信息。
使用I2C总线传输数据的设备分为主设备和从设备,其中,主设备用于启动总线传送数据,并产生时钟信号以控制数据传送任务。图1为一种现有的I2C总线接口设计架构图,如图1所示,I2C总线接口包括:寄存器配置模块、主设备逻辑控制模块、从设备逻辑控制模块、总线监控模块和驱动模块等,在数据发送过程中,主设备的中央处理器(CentralProcessing Unit,CPU)通过寄存器配置总线将数据发送指令和待发送数据发送至寄存器配置模块,寄存器配置模块通过控制主设备逻辑控制模块执行数据发送指令,以通过I2C总线将待发送数据发送至目标设备,接收数据的过程同理。但这一数据发送过程中,需要利用CPU对寄存器进行配置,在每次数据传输结束后要等到CPU重新配置新的命令寄存器值才能进行新一次数据传输,当设备的业务压力过大时,可能会存在CPU被长时间占用的情况,I2C总线完成两次数据传输的时间会存在较大的间隔,降低I2C总线的数据传输效率。
由此可见,如何提供一种更加高效的数据传输装置,以提高I2C总线的数据传送效率,是本领域技术人员亟需解决的问题。
发明内容
本申请的目的是提供一种数据传输装置及其控制方法、装置、介质,以防止CPU被占用时I2C总线数据传输时间间隔增大,导致数据传输次数减少的情况,提高I2C总线的数据传送效率。
为解决上述技术问题,本申请提供了一种数据传输装置,应用于包括双向二线制同步串行总线接口的设备,所述数据传输装置包括:
运行存储单元、运存读写控制单元;
所述运存读写控制单元与所述双向二线制同步串行总线接口的控制器和所述运行存储单元均连接,以获取所述控制器发送的数据传输指令,并将所述数据传输指令发送至所述运行存储单元;
所述运行存储单元用于存储至少一条所述数据传输指令;
所述运存读写控制单元还与所述双向二线制同步串行总线接口的寄存器配置单元连接,以在所述寄存器配置单元的工作状态满足第一预设条件时,获取所述运行存储单元中存储的所述数据传输指令,并将所述数据传输指令发送至所述寄存器配置单元。
优选的,所述运行存储单元为单口随机存储存储器;所述运行存储单元包括:发送数据存储空间、接收数据存储空间、主机命令队列、从机地址队列和响应队列。
为解决上述技术问题,本申请还提供了一种数据传输装置控制方法,应用于包括运行存储单元、运存读写控制单元的数据传输装置,所述数据传输装置控制方法包括:
判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;
若满足所述第一预设条件,获取运行存储单元中存储的数据传输指令,并将所述数据传输指令发送至所述寄存器配置单元;其中,所述运行存储单元用于存储至少一条所述数据传输指令,所述数据传输指令为所述双向二线制同步串行总线接口的控制器发送的数据传输指令。
优选的,所述判断所述双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件包括:
判断所述寄存器配置单元是否处于发送状态;
若处于发送状态,判断与所述寄存器配置单元连接的主设备逻辑控制单元是否获取到目标设备发送的传输成功信号;
若获取到所述传输成功信号,则确定所述寄存器配置单元的工作状态满足所述第一预设条件。
优选的,所述获取运行存储单元中存储的数据传输指令包括:
获取片选信号和读地址信息;
判断所述读地址信息是否为与所述片选信号对应的数据空间的最高地址;
若为最高地址,则将与所述片选信号对应的数据空间的初始地址作为读取地址;
若不为最高地址,则将所述写地址信息作为所述读取地址;
根据所述写入地址读取所述数据传输指令,并更新数据空间计数器。
优选的,所述的数据传输装置控制方法还包括:
判断所述运行存储单元的主机命令队列中的命令数量是否满足第二预设条件;
若满足所述第二预设条件,向所述控制器发送传输指令请求信号,以获取所述数据传输指令;
将所述数据传输指令写入所述运行存储单元。
优选的,所述将所述数据传输指令写入所述运行存储单元包括:
获取片选信号和写地址信息;
判断所述写地址信息是否为与所述片选信号对应的数据空间的最高地址;
若为最高地址,则将与所述片选信号对应的数据空间的初始地址作为写入地址;
若不为最高地址,则将所述写地址信息作为所述写入地址;
根据所述写入地址将所述数据传输指令写入与所述片选信号对应的数据空间,并更新数据空间计数器。
为解决上述技术问题,本申请还提供了一种数据传输装置控制装置,应用于包括运行存储单元、运存读写控制单元的数据传输装置,所述数据传输装置控制装置包括:
判断模块,用于判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;
发送模块,用于若满足所述第一预设条件,获取运行存储单元中存储的数据传输指令,并将所述数据传输指令发送至所述寄存器配置单元;其中,
所述运行存储单元用于存储至少一条所述数据传输指令,所述数据传输指令为所述双向二线制同步串行总线接口的控制器发送的数据传输指令。
为解决上述技术问题,本申请还提供了一种数据传输装置控制装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的数据传输装置控制方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据传输装置控制方法的步骤。
本申请提供了一种数据传输装置,应用于包括双向二线制同步串行总线接口的设备,数据传输装置包括:运行存储单元、运存读写控制单元;运存读写控制单元与双向二线制同步串行总线接口的控制器和运行存储单元均连接,以获取控制器发送的数据传输指令,并将数据传输指令发送至运行存储单元;运行存储单元用于存储至少一条数据传输指令;运存读写控制单元还与双向二线制同步串行总线接口的寄存器配置单元连接,以在寄存器配置单元的工作状态满足第一预设条件时,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元。由此可见,本申请所提供的技术方案中,通过运行存储单元存储CPU预先发送至I2C总线接口的多条数据传输指令,并在寄存器配置单元的工作状态满足第一预设条件时通过运存读写控制单元将数据传输指令发送至寄存器配置单元,以实现数据的传输,防止由于CPU被长时间占用导致I2C总线闲置的问题,提高传输效率。
此外,本申请还提供了一种数据传输装置控制方法、装置、介质,应用于包括:运行存储单元、运存读写控制单元的数据传输装置;通过判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;若满足第一预设条件,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元;其中,运行存储单元用于存储至少一条数据传输指令,数据传输指令为双向二线制同步串行总线接口的控制器发送的数据传输指令。由此可见,本申请所提供的技术方案中,通过运行存储单元存储CPU预先发送至I2C总线接口的多条数据传输指令,并在寄存器配置单元的工作状态满足第一预设条件时通过运存读写控制单元将数据传输指
令发送至寄存器配置单元,以实现数据的传输。防止由于CPU被长时间占用导致I2C总线闲置的问题,提高传输效率。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种现有的I2C总线接口设计架构图;
图2为本申请实施例所提供的一种数据传输装置的结构图;
图3为本申请实施例所提供的一种运行存储单元的结构图;
图4为本申请实施例所提供的一种运存读写控制单元的结构图;
图5为本申请实施例所提供的一种发送数据存储空间读写控制单元的结构图;
图6为本申请实施例所提供的一种数据传输装置控制方法的流程图;
图7为本申请实施例所提供的一种数据传输装置控制装置的结构图;
图8为本申请实施例所提供的另一种数据传输装置控制装置的结构图;
附图标记如下:1为运行存储单元,2为运存读写控制单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种数据传输装置及其控制方法、装置、介质,以防止CPU被占用时I2C总线数据传输时间间隔增大,导致数据传输次数减少的情况,提高I2C总线的数据传送效率。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
本申请所提供的技术方案应用于服务器或主机设备中,用于实现不同计算机间的数据交互。在I2C总线工作场景中,寄存器配置模块是把寄存器配置总线上的信号转换成内部读写逻辑,根据配置总线上的读或者写来读出或者更新每个寄存器的值,根据主从机内部逻辑更新特定寄存器的值,比如每次传输完成后的response值,主从机传输完成后接收到的数据值等。主机控制逻辑模块是控制作为主机时数据发送和接收的模块,会根据不同的总线状态设置不同的状态机,根据状态机的变化来控制数据的发送和接收。从机控制逻辑模块是控制作为从机时的数据发送和接收的模块,同样会根据总线的状态设置不同的状态机,以根据不同设备的状态来控制数据的发送和接收。主机发送模块是控制主机发送数据的模块,会生成SCL和控制SDA的发送数据并接收从机反馈的ACK或者NACK。并把传输结果反馈给主机控制逻辑模块。主机接收模块是控制主机接收数据的模块,会生成SCL和接收SDA数据线上的数据,并控制SDA数据线给从机ACK或者NACK信号,并把传输结果和接收到的数据反馈给主机控制逻辑模块。总线监控模块,是I2C接口对I2C总线监控的模块,会检测I2C总线的状态并检测I2C接口发送的数据是否和总线上的数据一致来进行总线仲裁等。从机发送模块是控制从机要发送的数据通过SDA数据线传输到I2C总线上,这个模块根据总线上的SCL时钟来传输SDA数据,并接收主机给的ACK或NACK,并把传输结果反馈给从机控制逻辑模块。从机接收模块是控制从机接收数据的模块,根据输入的SCL和SDA把SDA数据线上的数据提取出来并在SDA数据线上给主机发送ACK或者NACK,并把传输结果和接收到的数据反馈给从机控制逻辑。SCL和SDA驱动模块是驱动SCL和SDA信号的模块,通过整合各个模块信号输出sda_out,sda_oe,scl_out,scl_oe信号,输入scl_in,sda_in信号。DMA握手信号控制模块是根据发送和接收数据fifo的数据情况来控制和DMAC之间握手信号的模块,通过这些握手信号,DMAC把memory中的数据搬运到I2C的发送数据fifo或者把I2C的接收数据fifo中的数据搬运到memory。中断信号是在每次传输完成或者出现错误的时候I2C模块向CPU发送的信号,CPU接收到这个信号后处理这个错误或者进行正常的数据处理。本申请提供了一种数据传输装置,应用于包括双向二线制同步串行总线接口的设备,数据传输装置包括:运行存储单元、运存读写控制单元;运存读写控制单元与双向
二线制同步串行总线接口的控制器和运行存储单元均连接,以获取控制器发送的数据传输指令,并将数据传输指令发送至运行存储单元;运行存储单元用于存储至少一条数据传输指令;运存读写控制单元还与双向二线制同步串行总线接口的寄存器配置单元连接,以在寄存器配置单元的工作状态满足第一预设条件时,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元。由此可见,本申请所提供的技术方案中,通过运行存储单元存储CPU预先发送至I2C总线接口的多条数据传输指令,并在寄存器配置单元的工作状态满足第一预设条件时通过运存读写控制单元将数据传输指令发送至寄存器配置单元,以实现数据的传输,防止由于CPU被长时间占用导致I2C总线闲置的问题,提高传输效率。
图2为本申请实施例所提供的一种数据传输装置的结构图,该装置应用于包括双向二线制同步串行总线接口的设备,如图2所示,数据传输装置包括:运行存储单元、运存读写控制单元;其中,运存读写控制单元与双向二线制同步串行总线接口的控制器和运行存储单元均连接,以获取控制器发送的数据传输指令,并将数据传输指令发送至运行存储单元;运行存储单元用于存储至少一条数据传输指令;运存读写控制单元还与双向二线制同步串行总线接口的寄存器配置单元连接,以在寄存器配置单元的工作状态满足第一预设条件时,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元。
在本实施例所提供的技术方案中,主机逻辑控制单元和从机逻辑控制单元均通过寄存器配置单元与运存读写控制单元交互,以获取运行存储单元中存储的数据传输指令。在具体实施中,主机逻辑控制单元和从机逻辑控制单元还可以直接与运存读写控制单元交互,以获取数据传输指令,此处不再赘述。
作为优选的实施例,运行存储单元为单口随机存储存储器;图3为本申请实施例所提供的一种运行存储单元的结构图,如图3所示,运行存储单元包括:发送数据存储空间、接收数据存储空间、主机命令队列、从机地址队列和响应队列。其中,Tx_data_fifo是发送数据存储空间,用于存储CPU发送的待发送数据,Rx_data_fifo是接收数据存储空间,用于存储本设备所接收到的数据信息,CMD_queue是主机命令队列,Response_queue是响应队列,
用来存储每次传输的各种状态值(例如:表征数据传输操作是否成功执行的状态值,表征数据传输失败原因的状态值等),Slave_address_queue是从机地址队列,用来存储主机要通信的从机地址,和CMD命令队列一一对应。可以理解的是,本申请所提供的运行存储单元并不限于图3的结构,其中各单元的数据空间的大小、各单元的排列顺序可以随用户需求改变,此处不做限定。
图4为本申请实施例所提供的一种运存读写控制单元的结构图,如图4所示,运存读写控制单元包括:Tx_data_fifo读写控制模块、Rx_data_fifo读写控制模块、CMD_queue读写控制模块、Slave_address_queue读写控制模块、Response_queue读写控制模块和ram读写控制仲裁模块;其中Tx_data_fifo读写控制模块是控制ram中tx data读写的模块;Rx_data_fifo读写控制模块是控制ram中rx data读写的模块;CMD_queue读写控制模块是控制ram中CMD数据读写的模块;Slave_address_queue读写控制模块是控制ram中Slaveaddress读写的模块;Response_queue读写控制模块是控制ram中response读写的模块;ram读写控制仲裁模块是仲裁以上这些模块对ram读写信号的模块。Tx_data_fifo读写控制模块、Rx_data_fifo读写控制模块、CMD_queue读写控制模块、Slave_address_queue读写控制模块和Response_queue读写控制模块采用相同的实现逻辑。上述各读写控制模块的逻辑相似,本实施例中以Tx_data_fifo读写控制模块为例,对各模块的逻辑进行说明。图5为本申请实施例所提供的一种发送数据存储空间读写控制单元的结构图,如图5所示,该单元包括:读使能信号rd_n、写使能信号wr_n、满状态信号full、空状态信号empty、片选信号cs_n、读地址信号ram_rd_addr和写地址信号ram_wr_addr;当运存读写控制模块首次工作时,对上述信号进行初始化,其中wr_addr和rd_addr等于RAM分配这个数据存储空间的起始地址;full=0、empty=1、ram_addr=0、cs_n=1、wr_n=0。若需要向运行存储单元中写入数据传输指令,则将ram中的ram_addr设为wr_addr;片选信号cs_n=0选中;读写信号wr_n=1为写,ram的输入数据ram_wr_data=wr_data;如果写数据地址w_addr等于分配的数据空间的最高地址,则写数据地址w_addr=起始地址,否则写数据地址w_addr=w_addr+1;并更新fifo中数据计数
fifo_cnt=fifo_cnt+1。若需要读取运行存储单元中的数据传输指令,则使ram中的ram_addr=rd_addr;片选信号cs_n=0选中;读写信号wr_n=0为读;如果读数据地址rd_addr等于分配的数据空间的最高地址,则读数据地址rd_addr=起始地址,否则读数据地址rd_addr=rd_addr+1;fifo中数据计数fifo_cnt=fifo_cnt-1。
本申请提供了一种数据传输装置,应用于包括双向二线制同步串行总线接口的设备,数据传输装置包括:运行存储单元、运存读写控制单元;运存读写控制单元与双向二线制同步串行总线接口的控制器和运行存储单元均连接,以获取控制器发送的数据传输指令,并将数据传输指令发送至运行存储单元;运行存储单元用于存储至少一条数据传输指令;运存读写控制单元还与双向二线制同步串行总线接口的寄存器配置单元连接,以在寄存器配置单元的工作状态满足第一预设条件时,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元。由此可见,本申请所提供的技术方案中,通过运行存储单元存储CPU预先发送至I2C总线接口的多条数据传输指令,并在寄存器配置单元的工作状态满足第一预设条件时通过运存读写控制单元将数据传输指令发送至寄存器配置单元,以实现数据的传输,防止由于CPU被长时间占用导致I2C总线闲置的问题,提高传输效率。
图6为本申请实施例所提供的一种数据传输装置控制方法的流程图,该方法应用于包括运行存储单元、运存读写控制单元的数据传输装置,如图6,该数据传输装置控制方法包括:
S10:判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;
S11:若满足第一预设条件,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元;其中,运行存储单元用于存储至少一条数据传输指令,数据传输指令为双向二线制同步串行总线接口的控制器发送的数据传输指令。
可以理解的是,I2C总线接口的寄存器配置模块单位时间内只能够执行一条数据传输指令,因此需要在当前数据传输指令完成时及时将下一条数据传输指令发送至寄存器配置单元。作为优选的实施例,判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件包括:判断寄存器配置单元是否处于发送状态;若处于发送状态,判断与寄存器配置单元连接的主设备逻辑控制单元是否获取到目标设备发送的传输成功信号;若获取到传输成功信号,则确定寄存器配置单元的工作状态满足第一预设条件。
需要注意的是,在本申请所提供的数据传输装置启动时,需要通过I2C总线接口的控制器预先向运行存储单元写入多条数据传输指令。在数据传输装置工作过程中,当运行存储单元中的数据传输指令被执行后,还需要及时向运行存储单元中写入新的指令。作为优选的实施例,在运行存储单元运行过程中,运存读写控制单元需要判断运行存储单元的主机命令队列中的命令数量是否满足第二预设条件;若满足第二预设条件,向控制器发送传输指令请求信号,以获取数据传输指令;将数据传输指令写入运行存储单元。在具体实施中,可以在运行存储单元中的数据传输指令被全部执行时,触发向运行存储单元中写入新的指令的操作,也可以每执行一条数据传输指令后,向运行存储单元中写入新的指令。前一种方案可以减少指令写入次数,减少计算资源的消耗,但可能会出现需要写入指令时CPU被长时间占用的情况,后一种方案使运行存储单元中的数据传输指令的数量保持在稳定水平,可以防止CPU被占用导致短时间内新的数据传输指令无法写入从而影响I2C的工作,进一步提高I2C传输效率。
作为优选的实施例,获取运行存储单元中存储的数据传输指令包括:获取片选信号和读地址信息;判断读地址信息是否为与片选信号对应的数据空间的最高地址;若为最高地址,则将与片选信号对应的数据空间的初始地址作为读取地址;若不为最高地址,则将写地址信息作为读取地址;根据写入地址读取数据传输指令,并更新数据空间计数器,使数据空间计数器的数值减1。
相应的,将数据传输指令写入运行存储单元包括:获取片选信号和写地址信息;判断写地址信息是否为与片选信号对应的数据空间的最高地址;若为最高地址,则将与片选信号对应的数据空间的初始地址作为写入地址;若不为最高地址,则将写地址信息作为写入地址;根据写入地址将数据传输指令写入与片选信号对应的数据空间,并更新数据空间计数器,使数据空间计数器的数值增加1。
本申请提供了一种数据传输装置控制方法,应用于包括:运行存储单元、运存读写控制单元的数据传输装置;通过判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;若满足第一预设条件,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元;其中,运行存储单元用于存储至少一条数据传输指令,数据传输指令为双向二线制同步串行总线接口的控制器发送的数据传输指令。由此可见,本申请所提供的技术方案中,通过运行存储单元存储CPU预先发送至I2C总线接口的多条数据传输指令,并在寄存器配置单元的工作状态满足第一预设条件时通过运存读写控制单元将数据传输指令发送至寄存器配置单元,以实现数据的传输。防止由于CPU被长时间占用导致I2C总线闲置的问题,提高传输效率。
在上述实施例中,对于数据传输装置控制方法进行了详细描述,本申请还提供数据传输装置控制装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图7为本申请实施例所提供的一种数据传输装置控制装置的结构图,该装置应用于包括运行存储单元、运存读写控制单元的数据传输装置,如图7所示,数据传输装置控制装置包括:
判断模块10,用于判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;
发送模块11,用于若满足第一预设条件,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元;其中,运行存储单元用于存储至少一条数据传输指令,数据传输指令为双向二线制同步串行总线接口的控制器发送的数据传输指令。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
此外,本申请所提供的数据传输装置控制装置还包括:判断模块、数据传输指令更新模块、数据传输指令读取模块和数据传输指令写入模块。
其中,判断模块用于判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件包括:判断寄存器配置单元是否处于发送状态;若处于发送状态,判断与寄存器配置单元连接的主设备逻辑控制单元是否获取到目标设备发送的传输成功信号;若获取到传输成功信号,则确定寄存器配置单元的工作状态满足第一预设条件。
数据传输指令更新模块用于判断运行存储单元的主机命令队列中的命令数量是否满足第二预设条件;若满足第二预设条件,向控制器发送传输指令请求信号,以获取数据传输指令;将数据传输指令写入运行存储单元
数据传输指令读取模块用于获取运行存储单元中存储的数据传输指令,具体包括:获取片选信号和读地址信息;判断读地址信息是否为与片选信号对应的数据空间的最高地址;若为最高地址,则将与片选信号对应的数据空间的初始地址作为读取地址;若不为最高地址,则将写地址信息作为读取地址;根据写入地址读取数据传输指令,并更新数据空间计数器。
数据传输指令写入模块用于将数据传输指令写入运行存储单元,具体包括:获取片选信号和写地址信息;判断写地址信息是否为与片选信号对应的数据空间的最高地址;若为最高地址,则将与片选信号对应的数据空间的初始地址作为写入地址;若不为最高地址,则将写地址信息作为写入地址;根据写入地址将数据传输指令写入与片选信号对应的数据空间,并更新数据空间计数器。
本申请提供了一种数据传输装置控制装置,应用于包括:运行存储单元、运存读写控制单元的数据传输装置;通过判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;若满足第一预设条件,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元;其中,运行存储单元用于存储至少一条数据传输指令,数据传输指令为双向二线制同步串行总线接口的控制器发送的数据传输指令。由此可见,本申请所提供的技术方案中,通过运行存储单元存储CPU预先发送至I2C总线接口的多条数据传输指令,并在寄存器配置单元的工作状态满足第一预设条件时通过运存读写控制单元将数据传输指令发送至寄存器配置单元,以实现数据的传输。防止由于CPU被长时间占用导致I2C总线闲置的问题,提高传输效率。
图8为本申请实施例提供的另一种数据传输装置控制装置的结构图,如图8所示,数据传输装置控制装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例数据传输装置控制方法的步骤。
本实施例提供的数据传输装置控制装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据传输装置控制方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于数据传输指令等。
在一些实施例中,数据传输装置控制装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图8中示出的结构并不构成对数据传输装置控制装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的数据传输装置控制装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:
判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;
若满足第一预设条件,获取运行存储单元中存储的数据传输指令,并将数据传输指令发送至寄存器配置单元;其中,运行存储单元用于存储至少一条数据传输指令,数据传输指令为双向二线制同步串行总线接口的控制器发送的数据传输指令。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的数据传输装置及其控制方法、装置、介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据传输装置,其特征在于,应用于包括双向二线制同步串行总线接口的设备,所述数据传输装置包括:
运行存储单元(1)、运存读写控制单元(2);
所述运存读写控制单元(2)与所述双向二线制同步串行总线接口的控制器和所述运行存储单元(1)均连接,以获取所述控制器发送的数据传输指令,并将所述数据传输指令发送至所述运行存储单元(1);
所述运行存储单元(1)用于存储至少一条所述数据传输指令;
所述运存读写控制单元(2)还与所述双向二线制同步串行总线接口的寄存器配置单元连接,以在所述寄存器配置单元的工作状态满足第一预设条件时,获取所述运行存储单元(1)中存储的所述数据传输指令,并将所述数据传输指令发送至所述寄存器配置单元。
2.根据权利要求1所述的数据传输装置,其特征在于,所述运行存储单元(1)为单口随机存储存储器;所述运行存储单元(1)包括:发送数据存储空间、接收数据存储空间、主机命令队列、从机地址队列和响应队列。
3.一种数据传输装置控制方法,其特征在于,应用于包括运行存储单元、运存读写控制单元的数据传输装置,所述数据传输装置控制方法包括:
判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;
若满足所述第一预设条件,获取运行存储单元中存储的数据传输指令,并将所述数据传输指令发送至所述寄存器配置单元;其中,所述运行存储单元用于存储至少一条所述数据传输指令,所述数据传输指令为所述双向二线制同步串行总线接口的控制器发送的数据传输指令。
4.根据权利要求3所述的数据传输装置控制方法,其特征在于,所述判断所述双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件包括:
判断所述寄存器配置单元是否处于发送状态;
若处于发送状态,判断与所述寄存器配置单元连接的主设备逻辑控制单元是否获取到目标设备发送的传输成功信号;
若获取到所述传输成功信号,则确定所述寄存器配置单元的工作状态满足所述第一预设条件。
5.根据权利要求3所述的数据传输装置控制方法,其特征在于,所述获取运行存储单元中存储的数据传输指令包括:
获取片选信号和读地址信息;
判断所述读地址信息是否为与所述片选信号对应的数据空间的最高地址;
若为最高地址,则将与所述片选信号对应的数据空间的初始地址作为读取地址;
若不为最高地址,则将所述写地址信息作为所述读取地址;
根据所述写入地址读取所述数据传输指令,并更新数据空间计数器。
6.根据权利要求3所述的数据传输装置控制方法,其特征在于,还包括:
判断所述运行存储单元的主机命令队列中的命令数量是否满足第二预设条件;
若满足所述第二预设条件,向所述控制器发送传输指令请求信号,以获取所述数据传输指令;
将所述数据传输指令写入所述运行存储单元。
7.根据权利要求6所述的数据传输装置控制方法,其特征在于,所述将所述数据传输指令写入所述运行存储单元包括:
获取片选信号和写地址信息;
判断所述写地址信息是否为与所述片选信号对应的数据空间的最高地址;
若为最高地址,则将与所述片选信号对应的数据空间的初始地址作为写入地址;
若不为最高地址,则将所述写地址信息作为所述写入地址;
根据所述写入地址将所述数据传输指令写入与所述片选信号对应的数据空间,并更新数据空间计数器。
8.一种数据传输装置控制装置,其特征在于,应用于包括运行存储单元、运存读写控制单元的数据传输装置,所述数据传输装置控制装置包括:
判断模块,用于判断双向二线制同步串行总线接口的寄存器配置单元的工作状态是否满足第一预设条件;
发送模块,用于若满足所述第一预设条件,获取运行存储单元中存储的数据传输指令,并将所述数据传输指令发送至所述寄存器配置单元;其中,所述运行存储单元用于存储至少一条所述数据传输指令,所述数据传输指令为所述双向二线制同步串行总线接口的控制器发送的数据传输指令。
9.一种数据传输装置控制装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求3至7任一项所述的数据传输装置控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求3至7任一项所述的数据传输装置控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544616.4A CN116610601A (zh) | 2023-05-12 | 2023-05-12 | 一种数据传输装置及其控制方法、装置、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544616.4A CN116610601A (zh) | 2023-05-12 | 2023-05-12 | 一种数据传输装置及其控制方法、装置、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116610601A true CN116610601A (zh) | 2023-08-18 |
Family
ID=87682911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310544616.4A Pending CN116610601A (zh) | 2023-05-12 | 2023-05-12 | 一种数据传输装置及其控制方法、装置、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610601A (zh) |
-
2023
- 2023-05-12 CN CN202310544616.4A patent/CN116610601A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634883B (zh) | 主从式系统、指令执行方法与数据存取方法 | |
US7529862B2 (en) | System for providing access of multiple data buffers to a data retaining and processing device | |
CN1551592B (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
KR20150083741A (ko) | 임베디드 멀티미디어 카드 및 이의 동작 방법 | |
CN110765058A (zh) | Gpio实现spi从机功能方法、系统、设备及介质 | |
CN108268414A (zh) | 基于spi模式的sd卡驱动器及其控制方法 | |
EP1820110B1 (en) | Multimedia card interface method, computer program product and apparatus | |
CN110795369B (zh) | 基于gpio管脚实现mdio从机功能的方法及终端 | |
CN115470163A (zh) | Dma传输的控制方法、控制装置、控制设备及存储介质 | |
CN116561030A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN101561790B (zh) | 一种主控机与从机通信的方法、系统及装置 | |
EP0772831A1 (en) | Bidirectional parallel signal interface | |
US7469304B2 (en) | Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation | |
US20150177816A1 (en) | Semiconductor integrated circuit apparatus | |
CN116610601A (zh) | 一种数据传输装置及其控制方法、装置、介质 | |
CN113590520B (zh) | Spi系统自动写入数据的控制方法及spi系统 | |
CN111427817B (zh) | 一种amp系统双核共用i2c接口的方法、存储介质及智能终端 | |
CN115237349A (zh) | 数据读写控制方法、控制装置、计算机存储介质和电子设备 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
US10832132B2 (en) | Data transmission method and calculation apparatus for neural network, electronic apparatus, computer-readable storage medium and computer program product | |
CN208077160U (zh) | 基于spi模式的sd卡驱动器 | |
CN210324158U (zh) | 墨水屏阅读设备 | |
CN114281726B (zh) | 用于soc芯片的系统架构及外设通信方法 | |
CN212229628U (zh) | 从机设备 | |
CN113127399B (zh) | 一种通用串列汇流排装置以及存取方法 |
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 |