The Data Transfer Controller – A Flexible Way to Transfer Data
This blog follows on from the blog looking at some of the more unique peripheRAls available in the RA microcontroller family, in the last blog we looked at the Data Operating Circuit (DOC), a unique peripheral that provides a simple processing element that can be used to make basic decisions without CPU intervention.
In this blog, we’ll look at the Data Transfer Controller (DTC), a peripheral that has been designed to provide a simple, but extremely flexible mechanism to transfer data between a peripheral and memory or memory and a peripheral. In the next blog, we will see how we can combine the DOC and the DTC to create a complete intelligent subsystem that can operate without any CPU intervention. A Data Transfer Controller can be found on all the members of the RA microcontroller family.
The DTC uses a simple programmable controller to make data transfers between memory and peripherals, and vice versa, rather than using a large, dedicated hardware block for this task, such as is used by the Direct Memory Access Controller (DMAC). This programmability provides us with a much higher level of flexibility in its operation compared to using a DMAC.
On the RA family, an event (or interrupt), triggered by the CPU, by a peripheral on the device, or by an external pin can all generate a number of actions on the device. You can see a simplified diagram of the interrupt controller below, here you can see an event can trigger a number of actions, a traditional interrupt, that changes the direction of the application, a DMAC transfer, or a DTC transfer, it’s also possible to trigger more than one of these from a single event. You can also see an additional type of action can be created, using our Event Link controller, which allows us to directly connect peripherals together, which we will discuss in a future blog.
So, let's look at the DTC in detail.
The main advantage of this programmability is that it holds all the required set-up information for the transfer not in a fixed set of on-chip registers like in a DMA controller, but in a small block of on-chip SRAM. This means that the DTC controller can be used not just to create one or two channels of data transfer, but 10 or 20, or even more if required. The only requirement is that for each channel that you define, you require a small block of SRAM dedicated to holding that specific channel configuration information. The main disadvantage of this mechanism is that for each transfer a few cycles must be taken to read the configuration data held in the SRAM before each transfer takes place, so generally, the DTC transfer is slower than a DMA transfer.
The DTC can transfer 1 byte or more than one byte, between a peripheral and memory or memory and peripheral up to 256 times. The source and destination address for the transfer can be the same address, or it can be incremented or decremented independently, so creating a buffer structure in memory.
At the end of the transfer, the DTC can generate an interrupt, to tell the CPU the data is ready, or it can trigger a second DTC transfer. This can be used to chain several transfers together and is what we call, funnily enough, chain mode. This chain mode can be especially useful if the movement of multiple pieces of data between peripherals and memory is required. Chain mode is particularly interesting when used with the DOC we discussed previously, as this means that multiple transfers from various locations in memory and or peripheral can be triggered by one interrupt source. For instance, this means that with one interrupt, such as the ADC interrupt, we can cause comparison data to be loaded into the DOC, and by chaining a second transfer, we can load the DOC with the data from the ADC to be compared, all completely automatically, with any CPU involvement. This ability for one interrupt to generate a complex sequence of different transfers is extremely powerful, not only when used with the DOC. Some of the different operating modes of the DTC are shown in the figure below.
The DTC can also be placed into repeat mode, where it will repeat the transfer an additional number of times. For most applications the flexibility of the DTC provides a perfect comprise, between speed, flexibility, and of the course device cost. You can create automated transfers between any peripheral and memory almost without limit.
The Data Transfer Controller provides an ideal method for automating the transfer of data between peripherals and memory, without any CPU intervention. The use of the DTC in chain mode when transferring data to the DOC, provides us with the ability to make simple tests on many pieces of data without any CPU intervention, so providing the chip itself with the ability to make simple decisions.
Hopefully, you can see how the DTC can be much more flexible than the traditional DMAC, if you need the highest data transfer speeds, the DMSAC is still the most appropriate method and almost all the RA microcontrollers include a number of DMAC channels, but for flexibility, and the way you can manage data the DTC wins hands down for flexibility, and you can create many channels, only limited by the available SRAM on the device.
- +1 Like
- Add to Favorites
Recommend
- Renesas Extends RA MCU Family with RA6T1 MCU Group for Motor Control and AI-based Endpoint Predictive Maintenance
- Renesas and Cyberon Partner to Deliver Integrated Voice User Interface Solutions for Renesas RA MCUs Supporting Over 40 Global Languages
- Renesas Extends IoT Security Leadership With PSA Certified Level 2 and SESIP Certification for RA Family MCUs
- Renesas Expands RA MCU Family with New RA4 Entry-Line Group Offering Optimal Value with Balanced Low Power Performance and Feature Integration
- Renesas DSP Solution on Renesas Lab on the Cloud, Input Analog Signals Directly From A Signal Generator To The Rx231 Microcontroller Evaluation Board
- Renesas Extends Functional Safety Leadership with SIL3 Certified Solutions for ARM® Cortex®-M23 and -M33-based RA MCUs
- AI-Based Security at the Endpoint——Renesas‘ RA MCUs Leverage AI to identify and prevent cyber threats
- Renesas Launches Cellular-to-Cloud IoT Development Platforms Powered by RA and RX MCU Families
This document is provided by Sekorm Platform for VIP exclusive service. The copyright is owned by Sekorm. Without authorization, any medias, websites or individual are not allowed to reprint. When authorizing the reprint, the link of www.sekorm.com must be indicated.