当前位置:网站首页>Axi DMA IP core operation process
Axi DMA IP core operation process
2022-06-24 21:09:00 【yindq1220】
Direct register mode
visit DMACR,SA,DA,length Register initialization DMA transmission , When the transfer is complete , Of related channels DMASR.IOC_Irq It works ( The premise is to enable the interrupt ,DMACR.IOC_IrqEn Can make ).
MM2S Channel start process :
- MM2S_DMACR.RS=1, function DMA
- Can make MM2S_DMACR.IOC_IrqEn and MM2S_DMACR.Err_IrqEn
- Configure valid MM2S_SA and MM2S_SA_MSB register
- Write a non-zero value to MM2S_LENGTH register , Start reading DDR Sent to the AXIS port . This value is the number of bytes read from memory
S2MM Channel start process :
- S2MM_DMACR.RS=1, function DMA
- Can make S2MM_DMACR.IOC_IrqEn and S2MM_DMACR.Err_IrqEn
- Configure valid S2MM_DA and S2MM_SA_MSB register
- Write a non-zero value to S2MM_LENGTH register , start-up AXIS Port data write DDR. This value must be greater than or equal to the number of bytes of a packet of data .
In direct register mode , The above startup process needs to be recycled , Every time I read and write , The above registers need to be reconfigured .
The end of each process , An interrupt notification will occur CPU Data operation completed , need CPU eliminate IOC_Irq Register interrupt flag .
SG Pattern
After configuring control registers and descriptors ,SG mode . Can greatly improve DMA performance .
MM2S Channel start process :
- To configure MM2S_CURDESC and MM2S_CURDESC_MSB register , Write the address of the start operator .
- To configure MM2S_DMACR.RS=1, function DMA
- register MM2S_DMACR.IOC_IrqEn and MM2S_DMACR.Err_IrqEn Can make
- To configure MM2S_TAILDESC and MM2S_TAILDESC_MSB, here DMA Start reading descriptors in memory
- DMA Automatically process operators and read memory data through AXIS Port output
S2MM Channel start process :
- To configure S2MM_CURDESC and S2MM_CURDESC_MSB register , Write the address of the start operator .
- To configure S2MM_DMACR.RS=1, function DMA
- register S2MM_DMACR.IOC_IrqEn and S2MM_DMACR.Err_IrqEn Can make
- To configure S2MM_TAILDESC and S2MM_TAILDESC_MSB, here DMA Start reading descriptors in memory
- DMA Automatically process operators and receive AXIS Port data is written to memory
The end of each process (DMA Received with EOF The operator of ),DMA Generate interrupt to CPU, need CPU eliminate IOC_Irq Register interrupt flag , Re operate the above process .
loop DMA Pattern
In this mode ,DMA Can handle the same buffer descriptor , There is no interruption . In this mode DMA Keep working , Unless an abnormal stop or reset occurs .
The key to this model is ,tail Descriptor pointing first The descriptor . Set up Cyclic BD Enable by 1( Need to be in DMA Configure before running ).
The rest of the process is the same as SG The pattern is the same .
边栏推荐
- It was Tencent who jumped out of the job with 26k. It really wiped my ass with sandpaper. It gave me a hand
- Dx12 engine development course progress - where does this course go
- Hongxiang Yunteng is compatible with dragon lizard operating system, and the product runs stably
- Set up your own website (14)
- Background operation retry gave up; KeeperErrorCode = ConnectionLoss
- C language to realize mine sweeping (simple version)
- Rename and delete files
- Appium desktop introduction
- [performance tuning basics] performance tuning strategy
- Create a multithreaded thread class
猜你喜欢
The four stages of cloud computing development have finally been clarified
Record a deletion bash_ Profile file
Builder mode -- Master asked me to refine pills
传统的IO存在什么问题?为什么引入零拷贝的?
It was Tencent who jumped out of the job with 26k. It really wiped my ass with sandpaper. It gave me a hand
Rip/ospf protocol notes sorting
Use the transparent [x] cross button image in the dialog
Adding subscribers to a list using mailchimp's API V3
Prototype mode -- clone monster Army
云计算发展的 4 个阶段,终于有人讲明白了
随机推荐
Where is 5g really powerful? What is the difference with 4G?
JMeter parameterization
云计算发展的 4 个阶段,终于有人讲明白了
JMeter basic learning records
After screwing the screws in the factory for two years, I earned more than 10000 yuan a month by "testing" and counterattacked
The four stages of cloud computing development have finally been clarified
Image panr
Responsibility chain mode -- through interview
虚拟化是什么意思?包含哪些技术?与私有云有什么区别?
Comprehensive comparison of the most popular packet capturing tools in the whole network
Create a multithreaded thread class
Implement the redis simple client customized based on socket
Typescript syntax
DX12引擎开发课程进度-这个课程到底讲到哪里了
Hongxiang Yunteng is compatible with dragon lizard operating system, and the product runs stably
Set up your own website (14)
After 5 months' test, it took 15K to come for an interview. When I asked, it was not worth even 5K. It was really
全上链哈希游戏dapp系统定制(方案设计)
Visitor model -- generation gap between young and middle-aged people
Why do we always "give up halfway"?