element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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
Cypress Kits
  • Products
  • Dev Tools
  • Cypress Kits
  • More
  • Cancel
Cypress Kits
Forum PSoC 4 Pioneer Kit Community Project#102 – USB Audio using the PSoC 5LP
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Cypress Kits to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 27 replies
  • Subscribers 37 subscribers
  • Views 6443 views
  • Users 0 members are here
Related

PSoC 4 Pioneer Kit Community Project#102 – USB Audio using the PSoC 5LP

cy.wbz
cy.wbz over 11 years ago

Hello!


In today’s example we are including a demonstration project for supporting Audio playback and audio recording using USB digital audio. The PSoC 5LP communicates with any USB host, provides a high-quality recording interface to it, and extras high-quality digital audio from the USB host. In this example we show the PSoC 5LP device communicating to:

  • Windows
  • Mac
  • Linux
  • Android
  • Raspberry Pi
  • BeagleBone Black
  • Android
  • iOS



image


This example project utilizes the PSoC 5LP device on the PSoC 4 Pioneer Kit. This example has the following features:

  • Audio-out (I2S)
  • Audio-in (PDM Mic)
  • USB Host Interface
  • Volume Control
  • Watchdog


The firmware was designed and tested with PSoC Creator 2.2 SP1.


Forum Post Attachments:


At the bottom of this post we are including the following items:

  • Example Project Zip File
  • Project Images
  • Example Documentation


Components Used:


The user can download the example project at the bottom of this post. The project uses the following list of Creator Components:

  • I2C
  • EZI2C
  • SPI
  • UART


Firmware Description:


The main.c firmware is included in the example project. Please review the commented sections for more details.


Attached to this example project is a detailed example description. In this file we include a detailed write up of the external hardware used in the example, the internal firmware architecture, and how to recreate the system on your own. Please feel free to review this document for a detailed understanding of how the example is designed and used.


We are also listing the custom components, hardware, and firmware files necessary to create this example. Please feel free to download the zip file for more information.


Hardware Connections:


The hardware connections are detailed in the attached zip project. We include the codec board schematics in the documentation folder.


Test Your Project:


Please see the below image of the example in action.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

I hope this example can help you in your design.

Best,

Matt

Attachments:
imagePioneerKit_P5LP_USB_Audio_UserGuide.pdf
PioneerKit_P5LP_USB_Audio.zip
  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 11 years ago +3
    The PSoC 5LP USB Audio example project offers a great way to do a general USB Audio solution. Here, I would like to add that if somebody is looking particularly for native MFi USB audio solution for Apple…
  • Former Member
    Former Member over 11 years ago +2
    The PSoC Creator project attached to the original post doesn't work with PSoC Creator 3.0 SP1 (It was build with PSoC Creator 2.2 SP1). I have made minimal changes to the original project (updated Cy_boot…
  • greatunclebulgaria
    greatunclebulgaria over 11 years ago +1
    Matt, Thanks for this post, looks very interesting, BUT I'm having trouble with the hardware connections. POSC4 P5LP header Pin POSC4 P5LP header Name AK4556 J6 Header AK4556 Pin Number CS42L51 CS42L51…
Parents
  • Former Member
    Former Member over 11 years ago

    The PSoC Creator project attached to the original post doesn't work with PSoC Creator 3.0 SP1 (It was build with PSoC Creator 2.2 SP1). I have made minimal changes to the original project (updated Cy_boot component only) to make it build with PSoC Creator 3.0 SP1.

     

    The updated project is attached here and is also @ GitHub - https://github.com/yourskp/PioneerKit_P5LP_USB_Audio

     

    I recommend not to update other components, as we haven't tested the project with all the latest PSoC Creator 3.0 SP1 components.

     

    -Krishna

    Attachments:
    PioneerKit_P5LP_USB_Audio-master.zip
    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Former Member
    Former Member over 11 years ago

    The PSoC Creator project attached to the original post doesn't work with PSoC Creator 3.0 SP1 (It was build with PSoC Creator 2.2 SP1). I have made minimal changes to the original project (updated Cy_boot component only) to make it build with PSoC Creator 3.0 SP1.

     

    The updated project is attached here and is also @ GitHub - https://github.com/yourskp/PioneerKit_P5LP_USB_Audio

     

    I recommend not to update other components, as we haven't tested the project with all the latest PSoC Creator 3.0 SP1 components.

     

    -Krishna

    Attachments:
    PioneerKit_P5LP_USB_Audio-master.zip
    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
Children
  • alwynallan
    alwynallan over 10 years ago in reply to Former Member

    The project compiles fine with the latest version of PSoC Creator and appears to work (I'm using PowerfulBoard, not Pioneer Kit). However, when the components are updated to their latest versions, the project fails: the USB device continually disconnects and then tries to enumerate again on Windows 7 Pro 32-bit. Any idea what is causing this and how to fix it?

     

    Thanks for sharing this work. It's much easier than starting with the datasheets.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • alwynallan
    alwynallan over 10 years ago in reply to alwynallan

    I solved this problem with help from Pavan at Cypress:

    Which component version you are updating to ? If it is v2.7, please do the below modification.

    This is because we have added a workaround for a known issue. But in v2.7, it is fixed in the component itself.

     

    1)      Go to file – “USBiAP_episr.c”

    2)      Search for Interrupt function – “USBiAP_ARB_ISR”

    3)      Comment out the lines of code available inside comment section –

    /* `#START ARB_BEGIN_USER_CODE` Place your code here */

     

    /* `#END` */

    4)      Comment out the #endif available inside comments –

    /* `#START ARB_END_USER_CODE` Place your code here */

    // #endif

    /* `#END` */

     

    5) Build the project your project should work with USB component version 2.7.

    That file is one of hundreds in the "Generated Source" folder.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • cyaniccypher
    cyaniccypher over 8 years ago in reply to Former Member

    I was able to get this to work, but what needs to be done to get 96kHz and 24bit, I am only able to get up 48khz sampling rate. Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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