Sony's Developer World forum

    • Home
    • Forum guidelines

    Upcoming maintenance 

     

    Dear Customers and Partners.

    This website will be undergoing scheduled maintenance on June 14, 2023. Please be aware there may be disruption to the developer portal website and associated services during the scheduled maintenance period.

    This upgrade is essential to ensure the continued performance, reliability, and security of Developer World.

    We apologize for any inconvenience.

     

     

    8 bit data bus

    Spresense
    2
    5
    1854
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      AndyAdams last edited by

      I'm trying to develop an 8-bit data bus to run data to a wiznet6100 chip in order to push live video from the camera to a connected base station computer using a power-over-ethernet line. I had originally used the 40MHz SPI line to push data to the wiznet chip, but found the speed to be a major limiting factor for my project.

      Implementations i've tried:

      1. Using the arduino libraries' digitalWrite() function for writing values on all 8 pins. I found this to take nearly 30us for writing each byte.
      2. Switching to the Fast I/O implementation in the recent update was a bit better at 18us for writing each byte to the bus.

      If my math is right, I'll need to get down below 0.2us per byte write in order to approach the same throughput as SPI, which is writing each bit in only 25ns. I noticed that arduino has functionality for writing an entire 8 pin port at once, and I've seen that functionality with other microcontrollers i've worked with in the past (msp432). Does the spresense have any similar functionality? Or is there a better way to be implementing this 8bit bus? I'm also open divorcing the arduino IDE and moving to the SDK if it would make this easier to implement.

      1 Reply Last reply Reply Quote
      • A
        AndyAdams last edited by

        This is the fastest implementation I could come up with, managed to get down to switching each pin in just under 1us which puts me at just under 8us per byte write. Any advice on speeding this up, or whether speeding it up is an achievable endeavor would be greatly appreciated

        b2e82d34-fe96-428c-9763-d3f75bd61807-image.png

        f488393d-d2cf-45ad-b318-537ba3c684e8-image.png

        K 1 Reply Last reply Reply Quote
        • K
          KamilTomaszewski DeveloperWorld @AndyAdams last edited by

          Hi @andycadams2011

          Unfortunately, I don't know how to help you. As far as I know the bus I/O access is serialized and cannot be multiplexed on Spresense.

          I'll try to find out about it. If I find out anything new, I will let you know.

          Best Regards,
          Kamil Tomaszewski

          A 1 Reply Last reply Reply Quote
          • A
            AndyAdams @KamilTomaszewski last edited by

            @kamiltomaszewski so is the 40mhz SPI line the fastest interface for getting data off of the spresense then?

            K 1 Reply Last reply Reply Quote
            • K
              KamilTomaszewski DeveloperWorld @AndyAdams last edited by

              @andycadams2011 As far as I know, yes.

              1 Reply Last reply Reply Quote
              • First post
                Last post
              Developer World
              Copyright © 2021 Sony Group Corporation. All rights reserved.
              • Contact us
              • Legal