CN117520220B - 自动更新数据方法、系统、装置及存储介质 - Google Patents
自动更新数据方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN117520220B CN117520220B CN202410022306.0A CN202410022306A CN117520220B CN 117520220 B CN117520220 B CN 117520220B CN 202410022306 A CN202410022306 A CN 202410022306A CN 117520220 B CN117520220 B CN 117520220B
- Authority
- CN
- China
- Prior art keywords
- data
- chip selection
- dma
- unit
- dac
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000006243 chemical reaction Methods 0.000 claims abstract description 81
- 238000004891 communication Methods 0.000 claims abstract description 72
- 230000002093 peripheral effect Effects 0.000 claims abstract description 56
- 235000015429 Mirabilis expansa Nutrition 0.000 claims abstract 10
- 244000294411 Mirabilis expansa Species 0.000 claims abstract 10
- 235000013536 miso Nutrition 0.000 claims abstract 10
- 230000001960 triggered effect Effects 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 abstract description 8
- 125000004122 cyclic group Chemical group 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 101100162020 Mesorhizobium japonicum (strain LMG 29417 / CECT 9101 / MAFF 303099) adc3 gene Proteins 0.000 description 2
- 101100434411 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ADH1 gene Proteins 0.000 description 2
- 101100067427 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FUS3 gene Proteins 0.000 description 2
- 101100015484 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GPA1 gene Proteins 0.000 description 2
- 101150102866 adc1 gene Proteins 0.000 description 2
- 101150042711 adc2 gene Proteins 0.000 description 2
- 101000823108 Equus caballus Alpha-1-antiproteinase 3 Proteins 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/124—Sampling or signal conditioning arrangements specially adapted for A/D converters
- H03M1/1245—Details of sampling arrangements or methods
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
-
- 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)
- Bus Control (AREA)
Abstract
本发明公开了一种自动更新数据方法、系统、装置及存储介质,自动更新数据方法通过利用定时器触发不同DMA功能单元工作,进而驱动ADC单元和DAC单元与控制单元进行数据通讯,无需CPU干预即可自动刷新ADC和DAC数据,提高了系统的运行速度,同时,一个ADC单元和一个DAC单元组成数据转换单元共用片选信号线,利用SPI通讯方式,所有ADC单元共用MISO数据端,所有DAC芯片共用MOSI数据端,通过这样的硬件连接,多个ADC/DAC单元仅使用一个SPI外设,大大减少了AD采样或DA输出过程中占用控制单元的引脚数量,节约了系统资源,大大提高了系统的执行速度和运行效率。
Description
技术领域
本发明涉及数据传输技术领域,尤其是涉及一种自动更新数据方法、系统、装置及存储介质。
背景技术
电源、电池模拟器等智能化仪器设备通常使用外挂ADC/DAC芯片作为电压、电流的回显采样,或者作为电压、电流的输出给定。当前很多使用外挂的ADC/DAC芯片,以基于自动更新数据、16bit的ADC/DAC芯片居多。目前,通常的做法是将多个芯片挂在一个SPI外设上,MCU通过不同的片选线来选择不同芯片进行通讯,通常采用定时器以阻塞的方式定时采样ADC或者输出DAC数据,但这种方法无疑会拖慢系统的运行速度。更进一步的方法,是将某一片ADC/DAC芯片独立挂在MCU的SPI外设上,使用定时器输出PWM作为SPI的片选信号,再使用定时器DMA刷新ADC数据,但这种一个ADC/DAC芯片就需要占用一个SPI外设与定时器外设,造成系统资源的极大浪费。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种自动更新数据方法,能实现无需CPU干预,基于SPI通讯自动刷新ADC和DAC数据,提高了MCU的执行速度的同时节省了MCU的外设资源。
本发明还提出了一种自动更新数据系统、装置及存储介质。
根据本发明的第一方面实施例的自动更新数据方法,应用于自动更新数据系统,所述自动更新数据系统包括多组数据转换单元和控制单元,每组所述数据转换单元包括一个ADC单元和一个DAC单元;所述控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组所述数据转换单元一一对应设置的片选端;每个所述ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个所述DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个所述第二时钟端和每个所述第三时钟端皆与所述第一时钟端连接;每组所述数据转换单元对应的所述第一使能端和所述第二使能端皆与对应的所述片选端连接;多个所述ADC单元的所述第一数据通讯端皆与所述MISO数据端连接,多个所述DAC单元的所述第二数据通讯端皆与所述MOSI数据端连接;所述控制单元配置有片选DMA功能单元、接收DMA功能单元和输出DMA功能单元,所述片选DMA功能单元、所述接收DMA功能单元和所述输出DMA功能单元皆配置为由定时器触发;
所述自动更新数据方法,包括:
响应于所述定时器的第一触发事件,所述片选DMA功能单元从预先设置的片选数组中获取目标片选信号数据,并由与所述目标片选信号数据对应的所述片选端输出使能信号,其中,所述片选数组包括多个片选信号数据,多个所述片选信号数据与多个所述片选端一一对应设置,所述目标片选信号数据从多个所述片选信号数据中选取得到,所述定时器的每个控制时间周期选取一次所述目标片选信号数据,多个所述片选信号数据依次循环被选取为所述目标片选信号数据;
响应于所述定时器的第二触发事件,所述输出DMA功能单元通过根据所述目标片选信号数据使能的所述DAC单元发送DAC数据;
响应于所述定时器的第三触发事件,所述接收DMA功能单元接收根据所述目标片选信号数据使能的所述ADC单元采集的ADC数据;
其中,所述第一触发事件和所述第二触发事件依次循环触发,且每个所述控制时间周期所述第一触发事件和所述第二触发事件皆触发一次,所述第三触发事件与所述第二触发事件同时触发。
根据本发明实施例的自动更新数据方法,至少具有如下有益效果:
本发明实施例的自动更新数据方法通过利用定时器触发不同DMA功能单元进行工作,进而驱动ADC单元和DAC单元与控制单元进行数据通讯,无需CPU干预即可自动刷新ADC和DAC数据,提高了系统的运行速度,同时,一个ADC单元和一个DAC单元组成数据转换单元共用一个片选信号线,利用SPI通讯方式,所有ADC单元共用MISO数据端(即主入从出数据端),所有DAC芯片共用MOSI数据端(即主出从入数据端),通过这样的硬件连接,多个ADC/DAC单元仅使用一个SPI外设,即使需要更多的ADC/DAC单元,也仅仅只需消耗不同的片选端引脚,大大减少了AD采样或DA输出过程中占用控制单元的引脚数量,节约了系统资源,同时和现有技术使用阻塞方式相比,因无需CPU干预,大大提高了系统的执行速度和运行效率。本发明实施例的自动更新数据方法,能实现无需CPU干预,基于SPI通讯自动刷新ADC和DAC数据,提高了MCU的执行速度的同时节省了MCU的外设资源。
根据本发明的一些实施例,所述片选DMA功能单元由以下步骤配置得到:
配置第一DMA的触发方式为由所述定时器触发,并将所述第一DMA的外设地址配置为所述片选端的第一寄存器对应的地址,所述第一DMA的内存地址配置为所述片选数组的存储地址,所述第一DMA的输出方向为从内存地址输出至外设地址,并且将所述第一DMA的输出方式设置为循环输出,得到所述片选DMA功能单元。
根据本发明的一些实施例,所述输出DMA功能单元由以下步骤配置得到:
配置第二DMA的触发方式为由所述定时器触发,并将所述第二DMA的外设地址配置为第二寄存器对应的地址,所述第二DMA的内存地址配置为第一缓存地址,所述第二DMA的输出方向为从内存地址输出至外设地址,并且将所述第二DMA的输出方式设置为循环输出,其中,所述第二寄存器通过所述MOSI数据端输出至所述DAC单元,得到所述输出DMA功能单元。
根据本发明的一些实施例,所述接收DMA功能单元由以下步骤配置得到:
配置第三DMA的触发方式为由所述定时器触发,并将所述第三DMA的外设地址配置为第三寄存器对应的地址,所述第三DMA的内存地址配置为第二缓存地址,所述第三DMA的输出方向为从外设地址输出至内存地址,并且将所述第三DMA的输出方式设置为循环输出,其中,所述ADC单元通过所述MISO数据端输出至所述第三寄存器,得到所述接收DMA功能单元。
根据本发明的一些实施例,所述第一时钟端、所述MISO数据端和所述MOSI数据端的数据传输方式配置为SPI复用方式,多个所述片选端的输出方式皆配置为推挽输出方式。
根据本发明的一些实施例,所述SPI复用方式配置为全双工模式,以使得所述MISO数据端和所述MOSI数据端同时工作。
根据本发明的一些实施例,每组所述数据转换单元作为SPI从机设备。
根据本发明的第二方面实施例的自动更新数据系统,包括多组数据转换单元和控制单元,每组所述数据转换单元包括一个ADC单元和一个DAC单元;所述控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组所述数据转换单元一一对应设置的片选端;每个所述ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个所述DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个所述第二时钟端和每个所述第三时钟端皆与所述第一时钟端连接;每组所述数据转换单元对应的所述第一使能端和所述第二使能端皆与对应的所述片选端连接;多个所述ADC单元的所述第一数据通讯端皆与所述MISO数据端连接,多个所述DAC单元的所述第二数据通讯端皆与所述MOSI数据端连接;所述控制单元用于执行如上述的自动更新数据方法。
由于自动更新数据系统采用了上述实施例的自动更新数据方法的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果。
根据本发明的第三方面实施例的自动更新数据装置,应用于自动更新数据系统,所述自动更新数据系统包括多组数据转换单元和控制单元,每组所述数据转换单元包括一个ADC单元和一个DAC单元;所述控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组所述数据转换单元一一对应设置的片选端;每个所述ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个所述DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个所述第二时钟端和每个所述第三时钟端皆与所述第一时钟端连接;每组所述数据转换单元对应的所述第一使能端和所述第二使能端皆与对应的所述片选端连接;多个所述ADC单元的所述第一数据通讯端皆与所述MISO数据端连接,多个所述DAC单元的所述第二数据通讯端皆与所述MOSI数据端连接;所述控制单元配置有片选DMA功能单元、接收DMA功能单元和输出DMA功能单元,所述片选DMA功能单元、所述接收DMA功能单元和所述输出DMA功能单元皆配置为由定时器触发;
所述自动更新数据装置包括:
片选单元,用于当所述定时器的第一触发事件发生时,使所述片选DMA功能单元从预先设置的片选数组中获取目标片选信号数据,并由与所述目标片选信号数据对应的所述片选端输出使能信号,其中,所述片选数组包括多个片选信号数据,多个所述片选信号数据与多个所述片选端一一对应设置,所述目标片选信号数据从多个所述片选信号数据中选取得到,所述定时器的每个控制时间周期选取一次所述目标片选信号数据,多个所述片选信号数据依次循环被选取为所述目标片选信号数据;
DAC自动更新单元,用于当所述定时器的第二触发事件发生时,使所述输出DMA功能单元通过根据所述目标片选信号数据使能的所述DAC单元发送DAC数据;
ADC自动更新单元,用于当所述定时器的第三触发事件发生时,使所述接收DMA功能单元接收根据所述目标片选信号数据使能的所述ADC单元采集的ADC数据。
根据本发明实施例的自动更新数据装置,至少具有如下有益效果:
本发明实施例的自动更新数据装置通过利用定时器触发不同DMA功能单元进行工作,进而驱动ADC单元和DAC单元与控制单元进行数据通讯,无需CPU干预即可自动刷新ADC和DAC数据,提高了系统的运行速度,同时,一个ADC单元和一个DAC单元组成数据转换单元共用一个片选信号线,利用SPI通讯方式,所有ADC单元共用MISO数据端(即主入从出数据端),所有DAC芯片共用MOSI数据端(即主出从入数据端),通过这样的硬件连接,多个ADC/DAC单元仅使用一个SPI外设,即使需要更多的ADC/DAC单元,也仅仅只需消耗不同的片选端引脚,大大减少了AD采样或DA输出过程中占用控制单元的引脚数量,节约了系统资源,同时和现有技术使用阻塞方式相比,因无需CPU干预,大大提高了系统的执行速度和运行效率。
根据本发明的第四方面实施例的计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述第一方面实施例所述的自动更新数据方法。由于计算机可读存储介质采用了上述实施例的自动更新数据方法的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1a为本发明一实施例的一数据转换单元的电路图;
图1b为本发明一实施例的另一数据转换单元的电路图;
图1c为本发明一实施例的另一数据转换单元的电路图;
图1d为本发明一实施例的另一数据转换单元的电路图;
图2是本发明一实施例的定时器的波形示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,如果有描述到第一、第二等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
本发明的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
下面将结合附图对本发明的技术方案进行清楚、完整的描述,显然,以下所描述的实施例是本发明一部分实施例,并非全部实施例。
为了更好的描述本发明实施例的自动更新数据方法,这里对自动更新数据系统进行一个简单介绍。如图1a至图1d所示,自动更新数据系统包括多组数据转换单元和控制单元,每组数据转换单元包括一个ADC单元和一个DAC单元;控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组数据转换单元一一对应设置的片选端;每个ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个第二时钟端和每个第三时钟端皆与第一时钟端连接;每组数据转换单元对应的第一使能端和第二使能端皆与对应的片选端连接;多个ADC单元的第一数据通讯端皆与MISO数据端连接,多个DAC单元的第二数据通讯端皆与MOSI数据端连接;控制单元配置有片选DMA功能单元、接收DMA功能单元和输出DMA功能单元,片选DMA功能单元、接收DMA功能单元和输出DMA功能单元皆配置为由定时器触发;
基于上述自动更新数据系统,提出本发明实施例的自动更新数据方法的各个实施例。下面结合附图,对本发明实施例作进一步阐述。
本发明实施例提出了一种自动更新数据方法,该自动更新数据方法包括但不限于以下步骤:
响应于定时器的第一触发事件,片选DMA功能单元从预先设置的片选数组中获取目标片选信号数据,并由与目标片选信号数据对应的片选端输出使能信号,其中,片选数组包括多个片选信号数据,多个片选信号数据与多个片选端一一对应设置,目标片选信号数据从多个片选信号数据中选取得到,定时器的每个控制时间周期选取一次目标片选信号数据,多个片选信号数据依次循环被选取为目标片选信号数据;
响应于定时器的第二触发事件,输出DMA功能单元通过根据目标片选信号数据使能的DAC单元发送DAC数据;
响应于定时器的第三触发事件,接收DMA功能单元接收根据目标片选信号数据使能的ADC单元采集的ADC数据;
其中,第一触发事件和第二触发事件依次循环触发,且每个控制时间周期第一触发事件和第二触发事件皆触发一次,第三触发事件与第二触发事件同时触发。
如图1a所示,一个ADC单元和一个DAC单元组成的数据转换单元,共用一个控制单元的片选端和第一时钟端,ADC单元连接控制单元的MISO数据端即主入从出数据端,DAC单元连接控制单元的MOSI数据端即主出从入数据端,ADC单元和DAC单元可同时传输数据,故一个数据转换单元整体可作为一个全双工的SPI从机设备。进一步,如图1a至图1d所示,所有数据转换单元共用第一时钟端,所有ADC单元共用MISO数据端,所有DAC单元共用MOSI数据端,通过这样的硬件连接,多个ADC/DAC单元仅使用控制单元的一个时钟端、一个MISO数据端、一个MOSI数据端、外加多个片选端,大大减少了AD采样或DA输出过程中占用控制单元的引脚数量,节约了系统资源,即使需要使用到更多的ADC/DAC单元,也仅仅只需增加片选端引脚的消耗。
本发明实施例具体工作逻辑如下。
在一个控制时间周期内,定时器首先触发第一触发事件,片选DMA功能单元响应,从预先设置的片选数组中获取目标片选信号数据,并由与目标片选信号数据对应的片选端输出使能信号,可以理解的是,不同的片选端输出使能信号可以使对应不同的数据转换单元完成使能;然后定时器同时触发第二触发事件和第三触发事件,输出DMA功能单元响应第二触发事件,通过目标片选信号数据使能的DAC单元发送DAC数据,同时,接收DMA功能单元响应第三触发事件,接收目标片选信号数据使能的ADC单元采集的ADC数据,故而实现了控制单元的ADC和DAC数据更新;在下一个控制时间周期内,目标片选信号数据切换,与目标片选信号数据对应的片选端切换并输出使能信号,使对应的下一数据转换单元完成使能,故切换到下一数据转换单元与控制单元进行ADC和DAC数据通讯。由于多个片选信号数据逐个依次循环被选取为目标片选信号数据,故多个数据转换单元依次循环轮换工作,最终实现对所有数据转换单元的循环数据自动刷新。需要说明的是,如果当前选择输出的目标片选信号数据是最后一位片选端对应的片选信号数据,则下一次选择输出的目标片选信号数据会更新为片选数组中的第一位。
本发明实施例的自动更新数据方法通过利用定时器触发不同DMA功能单元进行工作,进而驱动ADC单元和DAC单元与控制单元进行数据通讯,无需CPU干预即可自动刷新ADC和DAC数据,提高了系统的运行速度,同时,一个ADC单元和一个DAC单元组成数据转换单元共用一个片选信号线,利用SPI通讯方式,所有ADC单元共用MISO数据端(即主入从出数据端),所有DAC芯片共用MOSI数据端(即主出从入数据端),通过这样的硬件连接,多个ADC/DAC单元仅使用一个SPI外设,即使需要更多的ADC/DAC单元,也仅仅只需消耗不同的片选端引脚,大大减少了AD采样或DA输出过程中占用控制单元的引脚数量,节约了系统资源,同时和现有技术使用阻塞方式相比,因无需CPU干预,大大提高了系统的执行速度和运行效率。本发明实施例的自动更新数据方法,能实现无需CPU干预,基于SPI通讯自动刷新ADC和DAC数据,提高了MCU的执行速度的同时节省了MCU的外设资源。
在一些实施例中,片选DMA功能单元由以下步骤配置得到:
配置第一DMA的触发方式为由定时器触发,并将第一DMA的外设地址配置为片选端的第一寄存器对应的地址,第一DMA的内存地址配置为片选数组的存储地址,第一DMA的输出方向为从内存地址输出至外设地址,并且将第一DMA的输出方式设置为循环输出,得到片选DMA功能单元。
在一个控制时间周期内,第一DMA由定时器触发后,将其内存地址中的片选数组中的目标片选信号数据搬运到外设地址(即片选端的第一寄存器),并由与目标片选信号数据对应的片选端输出使能信号,可以使对应的数据转换单元完成使能,即对将要进行通讯的数据转换单元进行使能。在下一个控制时间周期内,目标片选信号数据切换,与目标片选信号数据对应的片选端对应进行切换,可以使对应的下一数据转换单元完成使能。由于先选数组中的多个片选信号数据依次循环被选取为目标片选信号数据,故多个数据转换单元依次循环被使能。此外,在一个控制时间周期内,第一DMA是首先由定时器触发的。
具体的,参考图1a至图1d,在一些实施例中,第一DMA的具体配置如下:外设基地址配置为GPIOE的BSRR寄存器;内存基地址配置为定义好的片选信号数组;搬运方向配置为从内存到外设;搬运的个数配置为与数据转换单元个数即片选信号数据个数对应相同的数字;外设地址不递增;内存地址递增;数据大小均为字大小,且因BSRR寄存器为32位,字长为32位;配置为循环模式。此种配置方式下,参考图2,当搬运的个数配置为4时,可以实现对四组数据转换单元循环切换,足以满足大部分场景下的应用需求。
在一些实施例中,输出DMA功能单元由以下步骤配置得到:
配置第二DMA的触发方式为由定时器触发,并将第二DMA的外设地址配置为第二寄存器对应的地址,第二DMA的内存地址配置为第一缓存地址,第二DMA的输出方向为从内存地址输出至外设地址,并且将第二DMA的输出方式设置为循环输出,其中,第二寄存器通过MOSI数据端输出至DAC单元,得到输出DMA功能单元。
第二寄存器为MOSI数据端的寄存器,第一缓存地址为控制单元内DAC信号的输出缓存区。在一个控制时间周期内,第一DMA首先由定时器触发后实现对将要进行通讯的数据转换单元进行使能,随后,第二DMA由定时器触发,将其内存地址(即控制单元内DAC信号的输出缓存区)中的DAC数据搬运到外设地址(即MOSI数据端的寄存器),控制单元的MOSI数据端与此数据转换单元中的DAC单元连接,控制单元可以将DAC数据输入DAC单元。在下一个控制时间周期内,由于所有DAC单元都与MOSI数据端连接,第一DMA选中下一将要进行通讯的数据转换单元后,第二DMA由定时器触发后每个周期进行相同工作,控制单元将DAC数据输入下一数据转换单元中的DAC单元。
在一些实施例中,触发第二DMA用于触发产生控制单元对DAC单元的SPI通讯,第二DMA的具体配置如下:外设基地址配置为SPI3的DR寄存器;内存基地址配置控制单元内DAC信号的输出缓冲区DACbuf;搬运方向配置为从内存到外设;外设地址不递增;内存地址递增;数据大小均为半字大小,因DAC芯片为16位,字长为16位;配置为循环模式。
在一些实施例中,接收DMA功能单元由以下步骤配置得到:
配置第三DMA的触发方式为由定时器触发,并将第三DMA的外设地址配置为第三寄存器对应的地址,第三DMA的内存地址配置为第二缓存地址,第三DMA的输出方向为从外设地址输出至内存地址,并且将第三DMA的输出方式设置为循环输出,其中,ADC单元通过MISO数据端输出至第三寄存器,得到接收DMA功能单元。
第三寄存器为MISO数据端的寄存器,第二缓存地址为控制单元内ADC信号的接收缓存区。在一个控制时间周期内,第一DMA首先由定时器触发后实现对将要进行通讯的数据转换单元进行使能,随后,第三DMA与第二DMA同时由定时器触发,第三DMA由定时器触发后,将其外设地址(即MISO数据端的寄存器)中的DAC数据搬运到内存地址(即控制单元内ADC信号的接收缓存区),进而控制单元接收并处理ADC数据,控制单元的MISO数据端与此数据转换单元中的ADC单元连接,ADC单元可以将ADC数据输入控制单元。在下一个控制时间周期内,由于所有ADC单元都与MISO数据端连接,第一DMA选中下一将要进行通讯的数据转换单元后,第三DMA由定时器触发后每个周期进行相同工作,下一数据转换单元中的ADC单元将ADC数据输入控制单元。
在一些实施例中,触发第三DMA用于触发产生控制单元对ADC单元的SPI通讯,第三DMA的具体配置如下:外设基地址配置为SPI3的DR寄存器;内存基地址配置控制单元内ADC信号的接收缓冲区ADCbuf;搬运方向配置为从外设到内存;外设地址不递增;内存地址递增;数据大小均为半字大小,因ADC芯片为16位,字长为16位;配置为循环模式。
需要说明的是,在一些实施例中,第一DMA、第二DMA和第三DMA可以由同一DMA的多通道实现。
如图1a至图1d所示,在一些实施例中,第一时钟端、MISO数据端和MOSI数据端的数据传输方式配置为SPI复用方式,多个片选端的输出方式皆配置为推挽输出方式。由于所有数据转换单元共用第一时钟端,所有ADC单元共用MISO数据端,所有DAC单元共用MOSI数据端,通过这样的硬件连接,多个ADC/DAC单元仅使用控制单元的一个时钟端、一个MISO数据端、一个MOSI数据端外加多个片选端,故第一时钟端、MISO数据端和MOSI数据端的数据传输方式配置为SPI复用方式。片选端的输出方式皆配置为推挽输出方式,以PWM信号的方式输出使能信号,仅当输出低电平时与片选端连接的数据转换单元才被使能有效。也可根据所使用的不同芯片型号信息设置为输出高电平时片选端使能。
如图1a至图1d所示,在一些实施例中,SPI复用方式配置为全双工模式,以使得MISO数据端和MOSI数据端同时工作。控制单元的MISO数据端和MOSI数据端连接一个数据转换单元,其中MISO数据端连接数据转换单元的ADC单元并接收ADC数据,MOSI数据端连接数据转换单元的DAC单元并发送DAC数据,故此SPI通讯为全双工模式。
如图1a至图1d所示,在一些实施例中,每组数据转换单元作为SPI从机设备。由于每组数据转换单元中ADC单元和DAC单元共用第一时钟端和一个片选端,且ADC单元的第一数据通讯端连接SPI接口中MISO数据端,DAC单元的第二数据通讯端连接SPI接口中MOSI数据端,故一个ADC单元和DAC单元一起组成的一个数据转换单元可作为一个全双工的SPI从机设备,共用一个片选端和片选信号线。
为了更好描述本发明实施例的自动更新数据方法,这里以具体实施例的方式进行进一步描述,具体的,参考图1a至图1d和图2。
在直流电源中,通常需要使用两片ADC芯片作为电压、电流的回显采样;使用两片DAC芯片作为电压、电流的输出给定;两路外部编程信号,其为模拟量输入,作为电压、电流的编程信号;两路外部监视信号,其为模拟量输出,作为电压、电流的输出监视信号。一共使用4个ADC芯片和4个DAC芯片。
其中,直流电源的控制单元采用STM32F103,ADC芯片采用LHA8961,DAC芯片采用SGM5353。ADC、DAC芯片在SPI通讯接口中均属于从机设备,均采用三线制SPI通讯,且ADC的通讯线连接SPI接口中MISO数据端;DAC的通讯线连接SPI接口中MOSI数据端,所以1个ADC和DAC芯片合在一起组成一个数据转换单元,可以看做一个全双工的SPI从机设备,共用一个CS片选端和片选信号线。
本具体实施例的硬件物理连接如图1a至图1d所示,ADC1和DAC1共用片选端CS1;ADC2和DAC2共用片选端CS2;ADC3和DAC3共用片选端CS3;ADC4和DAC4共用片选端CS4;所有芯片共用SPI的时钟(CLK)引脚;所有ADC芯片共用SPI的主入从出(MISO)数据引脚;所有DAC芯片共用SPI的主出从入(MOSI)数据引脚。通过这样的硬件连接,4个ADC与4个DAC芯片仅使用一个SPI外设,即使需要使用到更多的ADC或DAC芯片,也仅仅只需增加消耗的片选端CS引脚。
控制单元采用STM32F103,其中CS1-CS4分别连接PE8-PE11,CS引脚可任意连接,只需连接在同一端口组,如都连接在GPIOA或都连接在GPIOB等,之所以需要连接在同一端口组,是因为使用定时器触发DMA方式将数据通过DMA功能单元搬运到GPIO的BSRR寄存器,以PWM的方式输出CS片选使能信号,CLK、MOSI和MISO引脚则连接到SPI外设引脚,如选择SPI3外设:CLK连接到PB3;MOSI连接到PB5;MISO连接到PB4。
本具体实施例的软件配置如下:GPIO配置的方式为,CS1-CS4配置为普通推挽输出方式,CLK、MOSI和MISO配置为SPI复用方式;其中,SPI配置为主模式、全双工、高位(MSB)在前、16位单次传输字长、CPOL和CPHA分别为0(即使用模式0)、CS使用软件方式、波特率为4分频;使用此配置后,SPI通讯为9MHz,周期约为111.1ns,即传输16bit需要的时间约为1777.6ns。
控制单元使用定时器1,定时器周期配置为5us,配置定时器1通道2在1us,时触发第一DMA用于产生片选CS信号的PWM信号,第一DMA的具体配置如下:外设基地址配置为GPIOE的BSRR寄存器;内存基地址配置为定义好的片选信号数组,本实施例中片选信号数组为0X01000E00,0X02000D00,0X04000B00,0X08000700,表示分别依次拉低PE8-PE11信号;搬运方向配置为从内存到外设;搬运的个数配置为4,即与数据转换单元个数即片选信号数据个数对应相同的数字;外设地址不递增;内存地址递增;数据大小均为字大小,且因BSRR寄存器为32位,字长为32位;配置为循环模式。
配置定时器1通道3在2us时,触发第二DMA用于触发产生控制单元对DAC单元的SPI通讯,第二DMA的具体配置如下:外设基地址配置为SPI3的DR寄存器;内存基地址配置控制单元内DAC信号的输出缓冲区DACbuf,其中缓冲区包含4个元素,分别为16bit大小,元素0-3分别为DAC1-DAC4的数据;搬运方向配置为从内存到外设;外设地址不递增;内存地址递增;数据大小均为半字大小,因DAC芯片为16位,字长为16位;配置为循环模式。同时触发第三DMA用于触发产生控制单元对ADC单元的SPI通讯,第三DMA的具体配置如下:外设基地址配置为SPI3的DR寄存器;内存基地址配置控制单元内ADC信号的接收缓冲区ADCbuf,其中缓冲区包含4个元素,分别为16bit大小,元素0-3分别为ADC1-ADC4的数据;搬运方向配置为从外设到内存;外设地址不递增;内存地址递增;数据大小均为半字大小,因ADC芯片为16位,字长为16位;配置为循环模式。
通过上述配置后,在每个定时器周期5us的中,在第1个us的时间,定时器1通道2自动触发第一DMA拉低片选信号;在第2个us的时间节点,定时器1通道3自动触发第二DMA发起SPI通讯,将DAC数据依次发送给DAC芯片,第三DMA自动接收ADC的采样数据。同时留给SPI的通讯时间为5-2=3us,SPI的理论传输16bit需要的时间为1777.6ns,足够SPI通讯。
因此,只需初始化配置之后,需要输出DAC数据时,只需将数据放入对应的DAC缓冲区DACbuf,其中DAC1-DAC4分别对应DACbuf[0]-DACbuf[3];需要使用ADC数据时,只需要使用对应的ADC缓冲ADCbuf,其中ADC1-ADC4分别对应ADCbuf[0]-ADCbuf[3]。
参考图2所示,本具体实施例的整体通讯时序如下:当CS1有效时即被拉低时,此时当控制单元发起SPI通讯,MOSI和MISO数据线上的数据分别为DAC1和ADC1的数据;当CS2有效时即被拉低时,此时当控制单元发起SPI通讯,MOSI和MISO数据线上的数据分别为DAC2和ADC2的数据;当CS3有效时即被拉低时,此时当控制单元发起SPI通讯,MOSI和MISO数据线上的数据分别为DAC3和ADC3的数据;当CS4有效时即被拉低时,此时当控制单元发起SPI通讯,MOSI和MISO数据线上的数据分别为DAC4和ADC4的数据。
本具体实施例的自动更新数据方法通过利用定时器触发不同DMA功能单元进行工作,进而驱动ADC单元和DAC单元与控制单元进行数据通讯,无需CPU干预即可自动刷新ADC和DAC数据,提高了系统的运行速度,同时,一个ADC单元和一个DAC单元组成数据转换单元共用一个片选信号线,利用SPI通讯方式,所有ADC单元共用MISO数据端(即主入从出数据端),所有DAC芯片共用MOSI数据端(即主出从入数据端),通过这样的硬件连接,多个ADC/DAC单元仅使用一个SPI外设,即使需要更多的ADC/DAC单元,也仅仅只需消耗不同的片选端引脚,大大减少了AD采样或DA输出过程中占用控制单元的引脚数量,节约了系统资源,同时和现有技术使用阻塞方式相比,因无需CPU干预,大大提高了系统的执行速度和运行效率。本具体实施例的自动更新数据方法,能实现无需CPU干预,基于SPI通讯自动刷新ADC和DAC数据,提高了MCU的执行速度的同时节省了MCU的外设资源。
本发明还提出了一种自动更新数据系统,该自动更新数据系统包括多组数据转换单元和控制单元,每组数据转换单元包括一个ADC单元和一个DAC单元;控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组数据转换单元一一对应设置的片选端;每个ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个第二时钟端和每个第三时钟端皆与第一时钟端连接;每组数据转换单元对应的第一使能端和第二使能端皆与对应的片选端连接;多个ADC单元的第一数据通讯端皆与MISO数据端连接,多个DAC单元的第二数据通讯端皆与MOSI数据端连接;控制单元用于执行如上述的自动更新数据方法。
由于自动更新数据系统采用了上述实施例的自动更新数据方法的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,这里边不再进行赘述。
本发明还提出了一种自动更新数据装置,该自动更新数据装置,包括:片选单元、DAC自动更新单元和ADC自动更新单元;
片选单元,用于当定时器的第一触发事件发生时,使片选DMA功能单元从预先设置的片选数组中获取目标片选信号数据,并由与目标片选信号数据对应的片选端输出使能信号,其中,片选数组包括多个片选信号数据,多个片选信号数据与多个片选端一一对应设置,目标片选信号数据从多个片选信号数据中选取得到,定时器的每个控制时间周期选取一次目标片选信号数据,多个片选信号数据依次循环被选取为目标片选信号数据;
DAC自动更新单元,用于当定时器的第二触发事件发生时,使输出DMA功能单元通过根据目标片选信号数据使能的DAC单元发送DAC数据;
ADC自动更新单元,用于当定时器的第三触发事件发生时,使接收DMA功能单元接收根据目标片选信号数据使能的ADC单元采集的ADC数据。
在一个控制时间周期内,定时器首先触发第一触发事件,片选DMA功能单元响应,从预先设置的片选数组中获取目标片选信号数据,并由与目标片选信号数据对应的片选端输出使能信号,可以理解的是,不同的片选端输出使能信号可以使对应不同的数据转换单元完成使能;然后定时器同时触发第二触发事件和第三触发事件,输出DMA功能单元响应第二触发事件,通过目标片选信号数据使能的DAC单元发送DAC数据,同时,接收DMA功能单元响应第三触发事件,接收目标片选信号数据使能的ADC单元采集的ADC数据,故而实现了控制单元的ADC和DAC数据更新;在下一个控制时间周期内,目标片选信号数据切换,与目标片选信号数据对应的片选端切换并输出使能信号,使对应的下一数据转换单元完成使能,故切换到下一数据转换单元与控制单元进行ADC和DAC数据通讯。由于多个片选信号数据逐个依次循环被选取为目标片选信号数据,故多个数据转换单元依次循环轮换工作,最终实现对所有数据转换单元的循环数据自动刷新。需要说明的是,如果当前选择输出的目标片选信号数据是最后一位片选端对应的片选信号数据,则下一次选择输出的目标片选信号数据会更新为片选数组中的第一位。
本发明实施例的自动更新数据装置通过利用定时器触发不同DMA功能单元进行工作,进而驱动ADC单元和DAC单元与控制单元进行数据通讯,无需CPU干预即可自动刷新ADC和DAC数据,提高了系统的运行速度,同时,一个ADC单元和一个DAC单元组成数据转换单元共用一个片选信号线,利用SPI通讯方式,所有ADC单元共用MISO数据端(即主入从出数据端),所有DAC芯片共用MOSI数据端(即主出从入数据端),通过这样的硬件连接,多个ADC/DAC单元仅使用一个SPI外设,即使需要更多的ADC/DAC单元,也仅仅只需消耗不同的片选端引脚,大大减少了AD采样或DA输出过程中占用控制单元的引脚数量,节约了系统资源,同时和现有技术使用阻塞方式相比,因无需CPU干预,大大提高了系统的执行速度和运行效率。本发明实施例的自动更新数据装置,能实现无需CPU干预,基于SPI通讯自动刷新ADC和DAC数据,提高了MCU的执行速度的同时节省了MCU的外设资源。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制单元执行,可使得上述处理器执行上述实施例中的自动更新数据方法。由于计算机可读存储介质采用了上述实施例的自动更新数据方法的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,这里边不再进行赘述。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质或非暂时性介质和通信介质或暂时性介质。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘DVD或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (10)
1.一种自动更新数据方法,应用于自动更新数据系统,其特征在于,所述自动更新数据系统包括多组数据转换单元和控制单元,每组所述数据转换单元包括一个ADC单元和一个DAC单元;所述控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组所述数据转换单元一一对应设置的片选端;每个所述ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个所述DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个所述第二时钟端和每个所述第三时钟端皆与所述第一时钟端连接;每组所述数据转换单元对应的所述第一使能端和所述第二使能端皆与对应的所述片选端连接;多个所述ADC单元的所述第一数据通讯端皆与所述MISO数据端连接,多个所述DAC单元的所述第二数据通讯端皆与所述MOSI数据端连接;所述控制单元配置有片选DMA功能单元、接收DMA功能单元和输出DMA功能单元,所述片选DMA功能单元、所述接收DMA功能单元和所述输出DMA功能单元皆配置为由定时器触发;
所述自动更新数据方法,包括:
响应于所述定时器的第一触发事件,所述片选DMA功能单元从预先设置的片选数组中获取目标片选信号数据,并由与所述目标片选信号数据对应的所述片选端输出使能信号,其中,所述片选数组包括多个片选信号数据,多个所述片选信号数据与多个所述片选端一一对应设置,所述目标片选信号数据从多个所述片选信号数据中选取得到,所述定时器的每个控制时间周期选取一次所述目标片选信号数据,多个所述片选信号数据依次循环被选取为所述目标片选信号数据;
响应于所述定时器的第二触发事件,所述输出DMA功能单元通过根据所述目标片选信号数据使能的所述DAC单元发送DAC数据;
响应于所述定时器的第三触发事件,所述接收DMA功能单元接收根据所述目标片选信号数据使能的所述ADC单元采集的ADC数据;
其中,所述第一触发事件和所述第二触发事件依次循环触发,且每个所述控制时间周期所述第一触发事件和所述第二触发事件皆触发一次,所述第三触发事件与所述第二触发事件同时触发。
2.根据权利要求1所述的自动更新数据方法,其特征在于,所述片选DMA功能单元由以下步骤配置得到:
配置第一DMA的触发方式为由所述定时器触发,并将所述第一DMA的外设地址配置为所述片选端的第一寄存器对应的地址,所述第一DMA的内存地址配置为所述片选数组的存储地址,所述第一DMA的输出方向为从内存地址输出至外设地址,并且将所述第一DMA的输出方式设置为循环输出,得到所述片选DMA功能单元。
3.根据权利要求1所述的自动更新数据方法,其特征在于,所述输出DMA功能单元由以下步骤配置得到:
配置第二DMA的触发方式为由所述定时器触发,并将所述第二DMA的外设地址配置为第二寄存器对应的地址,所述第二DMA的内存地址配置为第一缓存地址,所述第二DMA的输出方向为从内存地址输出至外设地址,并且将所述第二DMA的输出方式设置为循环输出,其中,所述第二寄存器通过所述MOSI数据端输出至所述DAC单元,得到所述输出DMA功能单元。
4.根据权利要求1所述的自动更新数据方法,其特征在于,所述接收DMA功能单元由以下步骤配置得到:
配置第三DMA的触发方式为由所述定时器触发,并将所述第三DMA的外设地址配置为第三寄存器对应的地址,所述第三DMA的内存地址配置为第二缓存地址,所述第三DMA的输出方向为从外设地址输出至内存地址,并且将所述第三DMA的输出方式设置为循环输出,其中,所述ADC单元通过所述MISO数据端输出至所述第三寄存器,得到所述接收DMA功能单元。
5.根据权利要求1所述的自动更新数据方法,其特征在于,所述第一时钟端、所述MISO数据端和所述MOSI数据端的数据传输方式配置为SPI复用方式,多个所述片选端的输出方式皆配置为推挽输出方式。
6.根据权利要求5所述的自动更新数据方法,其特征在于,所述SPI复用方式配置为全双工模式,以使得所述MISO数据端和所述MOSI数据端同时工作。
7.根据权利要求6所述的自动更新数据方法,其特征在于,每组所述数据转换单元作为SPI从机设备。
8.一种自动更新数据系统,其特征在于,所述自动更新数据系统包括多组数据转换单元和控制单元,每组所述数据转换单元包括一个ADC单元和一个DAC单元;所述控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组所述数据转换单元一一对应设置的片选端;每个所述ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个所述DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个所述第二时钟端和每个所述第三时钟端皆与所述第一时钟端连接;每组所述数据转换单元对应的所述第一使能端和所述第二使能端皆与对应的所述片选端连接;多个所述ADC单元的所述第一数据通讯端皆与所述MISO数据端连接,多个所述DAC单元的所述第二数据通讯端皆与所述MOSI数据端连接;所述控制单元用于执行如权利要求1至7任一所述的自动更新数据方法。
9.一种自动更新数据装置,其特征在于,应用于自动更新数据系统,所述自动更新数据系统包括多组数据转换单元和控制单元,每组所述数据转换单元包括一个ADC单元和一个DAC单元;所述控制单元具有第一时钟端、MISO数据端、MOSI数据端和与多组所述数据转换单元一一对应设置的片选端;每个所述ADC单元具有第二时钟端、第一数据通讯端和第一使能端,每个所述DAC单元具有第三时钟端、第二数据通讯端和第二使能端;每个所述第二时钟端和每个所述第三时钟端皆与所述第一时钟端连接;每组所述数据转换单元对应的所述第一使能端和所述第二使能端皆与对应的所述片选端连接;多个所述ADC单元的所述第一数据通讯端皆与所述MISO数据端连接,多个所述DAC单元的所述第二数据通讯端皆与所述MOSI数据端连接;所述控制单元配置有片选DMA功能单元、接收DMA功能单元和输出DMA功能单元,所述片选DMA功能单元、所述接收DMA功能单元和所述输出DMA功能单元皆配置为由定时器触发;
所述自动更新数据装置包括:
片选单元,用于当所述定时器的第一触发事件发生时,使所述片选DMA功能单元从预先设置的片选数组中获取目标片选信号数据,并由与所述目标片选信号数据对应的所述片选端输出使能信号,其中,所述片选数组包括多个片选信号数据,多个所述片选信号数据与多个所述片选端一一对应设置,所述目标片选信号数据从多个所述片选信号数据中选取得到,所述定时器的每个控制时间周期选取一次所述目标片选信号数据,多个所述片选信号数据依次循环被选取为所述目标片选信号数据;
DAC自动更新单元,用于当所述定时器的第二触发事件发生时,使所述输出DMA功能单元通过根据所述目标片选信号数据使能的所述DAC单元发送DAC数据;
ADC自动更新单元,用于当所述定时器的第三触发事件发生时,使所述接收DMA功能单元接收根据所述目标片选信号数据使能的所述ADC单元采集的ADC数据;
其中,所述第一触发事件和所述第二触发事件依次循环触发,且每个所述控制时间周期所述第一触发事件和所述第二触发事件皆触发一次,所述第三触发事件与所述第二触发事件同时触发。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至7任一所述的自动更新数据方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410022306.0A CN117520220B (zh) | 2024-01-08 | 2024-01-08 | 自动更新数据方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410022306.0A CN117520220B (zh) | 2024-01-08 | 2024-01-08 | 自动更新数据方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117520220A CN117520220A (zh) | 2024-02-06 |
CN117520220B true CN117520220B (zh) | 2024-04-09 |
Family
ID=89744309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410022306.0A Active CN117520220B (zh) | 2024-01-08 | 2024-01-08 | 自动更新数据方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117520220B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145460A (zh) * | 2017-04-13 | 2017-09-08 | 上海云统信息科技有限公司 | 一种可扩展串行总线系统及其通讯方法 |
CN111694771A (zh) * | 2019-03-13 | 2020-09-22 | 安讯士有限公司 | 串行外设接口主机 |
CN113489475A (zh) * | 2021-07-29 | 2021-10-08 | 深圳市德堡数控技术有限公司 | 一种数字与pwm复合控制器 |
CN116112017A (zh) * | 2023-04-14 | 2023-05-12 | 湖南恩智测控技术有限公司 | Adc采样方法、电路、系统及存储介质 |
CN117176499A (zh) * | 2023-07-21 | 2023-12-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种主从设备的通信传输方法、装置、系统、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7171542B1 (en) * | 2000-06-19 | 2007-01-30 | Silicon Labs Cp, Inc. | Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins |
US8892933B2 (en) * | 2012-04-23 | 2014-11-18 | Analog Devices, Inc. | Synchronization of multiple signal converters by transmitting signal conversion data and receiving unique correction values for the respective counters through the same data interface pins |
DE102019126668A1 (de) * | 2019-10-02 | 2021-04-08 | Phoenix Contact Gmbh & Co. Kg | Ein-/ausgabe-einheit zur datenerfassung bei einem feldbussystem |
US11630796B2 (en) * | 2021-05-07 | 2023-04-18 | Infineon Technologies Ag | Serial peripheral interface (SPI) automatic register address incrementation across data frames |
-
2024
- 2024-01-08 CN CN202410022306.0A patent/CN117520220B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145460A (zh) * | 2017-04-13 | 2017-09-08 | 上海云统信息科技有限公司 | 一种可扩展串行总线系统及其通讯方法 |
CN111694771A (zh) * | 2019-03-13 | 2020-09-22 | 安讯士有限公司 | 串行外设接口主机 |
CN113489475A (zh) * | 2021-07-29 | 2021-10-08 | 深圳市德堡数控技术有限公司 | 一种数字与pwm复合控制器 |
CN116112017A (zh) * | 2023-04-14 | 2023-05-12 | 湖南恩智测控技术有限公司 | Adc采样方法、电路、系统及存储介质 |
CN117176499A (zh) * | 2023-07-21 | 2023-12-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种主从设备的通信传输方法、装置、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117520220A (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302484B (zh) | 批量读取以太网卡光模块中数字诊断信息的装置及方法 | |
CN108924985B (zh) | 照明装置和用于控制光源的方法 | |
JP4657637B2 (ja) | バス接続を介してのランダムアクセスのための方法およびデータ構造 | |
CN103218331A (zh) | 采用同步模式切换及帧优先级自动调整的总线装置及方法 | |
CN103530261A (zh) | 一种访问多个具有相同i2c地址从机的电路和管理方法 | |
CN107145460B (zh) | 一种可扩展串行总线系统及其通讯方法 | |
JPS645784B2 (zh) | ||
CN112835825A (zh) | 具有多模调制的增强虚拟gpio | |
CN117520220B (zh) | 自动更新数据方法、系统、装置及存储介质 | |
CN108882436B (zh) | 照明装置和用于控制光源的方法 | |
CN111372350B (zh) | 一种信号转换控制芯片、方法以及照明控制系统 | |
CN111327319A (zh) | 一种多通道模拟信号采样方法及装置 | |
CN111124972A (zh) | 基于相同i2c地址的芯片扩展方法、系统及存储介质 | |
CN112040601B (zh) | 灯具点阵控制装置及方法、led舞台灯具 | |
TWI717258B (zh) | 時間交錯式類比至數位轉換器裝置及其控制方法 | |
CN210270888U (zh) | 一种单总线通信电路 | |
US8199037B2 (en) | ADC channel selection and conversion | |
CN115328845B (zh) | 一种四线串行外设接口通信协议设计的方法 | |
CN214480671U (zh) | 一种基于spi通讯的一对多通讯电路 | |
CN116133184A (zh) | 一种led驱动电路 | |
US7292062B2 (en) | Distribution of signals throughout a spine of an integrated circuit | |
CN209015137U (zh) | 桥接通信电路 | |
CN111654962B (zh) | 一种远程智能设备的自动配置方法 | |
CN111522387B (zh) | 电压同步控制电路及包含其的电压读取控制系统 | |
TWI829474B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |