element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
MicroZed Hardware Design UART DMA
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 7 replies
  • Subscribers 312 subscribers
  • Views 398 views
  • Users 0 members are here
Related

UART DMA

Former Member
Former Member over 11 years ago

Hello everybody,

Now I'm working for a project which is need data transfer from UART. My data are too many so the transfer speed is too long and make the processor stop working and cannot continue the calculation. I want to make the data from UART is saved directly to the RAM using DMA. Is that possible? Is there any tutorial to make it?

Sorry for my English, Thx before

  • Sign in to reply
  • Cancel
  • bhfletcher
    0 bhfletcher over 11 years ago

    I'm not aware if it is possible to DMA PS UART data directly to the DDR3. I don't think so. I have not seen any discussion or tutorial that shows how to do this.

     

    If may be possible to put the UART controller in the PL and then design a wrapper around that PL function and DMA that into DDR3, but again, I have not seen that anyone has already done that.

     

    Bryan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago

    thx for the answer. I also had looking for the example and cannot found anything.
    I got an idea to get the manage the uart using the second core of cortex A9, so the first core processor still can do the calculation. is that possible?
    can both of the core share the same RAM?

    thx before

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago

    Are you using interrupts?  The built-in UARTs each have an 8 byte FIFO... it would be interesting to know how fast your data is to fully saturate a CPU?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • bhfletcher
    0 bhfletcher over 11 years ago in reply to Former Member

    Both cores do share the same RAM, so using the one processor to communicate over UART and populate the RAM while using the other processor to read the RAM and perform calculations would be a possibility. Avnet covers a simple dual-processor example in the Vivado 2013.3 Zynq Software Development Speedway. This is available through your local FAE now and will soon be available online here.

    Bryan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago

    Yes I'm using interrupt. The data is about 400 char. With baudrate 115200 I'll get about 34 ms. The data came every 1 s. But I need to a calculation every 25ms. I'll miss 1 sample every time the data come.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to bhfletcher

    Thx for the answer. It helps a lot. But I'm from indonesia and I think there is no local fae right now in my country. Is there any other tutorial show me how to use the second core?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago

    Can you guard the critical part of your 25ms routine against interrupts; the FIFO is 8 characters deep; you have a window of about 600 microseconds before you lose serial data?

    Maybe I am reading it wrong?
    See "Figure 19-9: UART RxFIFO and TxFIFO Interrupt"
    Zynq-7000 AP SoC Technical Reference Manual
    UG585 (v1.7) February 11, 2014

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube