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
  • greatunclebulgaria
    greatunclebulgaria over 11 years ago

    Matt,

     

    Thanks for this post, looks very interesting, BUT I'm having trouble with the hardware connections.

     

    POSC4 P5LP header PinPOSC4 P5LP header NameAK4556 J6 HeaderAK4556 Pin NumberCS42L51CS42L51 Pin
    VDD1P5 VDDJ6-35/364/5 5/12/27
    I2C_SCL2P1.2 PSOC_CODEC_I2C_SCL3 – SCL/CCLK
    PDM_DATA3P0.0
    LRCLK4P0.1J6-15 (P5-3)14 - LRCKTP113 – CODEC_LRCLK1 - LRCK
    PDM_LR_SEL5P3.4
    SCLK6P3.5J6-13 (P5_5)16 - BCLKTP112 – CODEC_SCLK31 - SCLK
    CODEC_RST7P3.6 TP111 – CODEC_RST25 - RESET
    SDTO8P3.7J6-11 (P5-7)8 - SDTOTP115 – CODEC_SDTO29 – SDOUT/M/S
    PDM_CLK9P12.6
    MCLK10P12.7J6-12 (P5_6)15 - MCLKTP110 – CODEC_MCLK30 - MCLK
    GND11GNDJ6-373 13/28
    I2C_SDA12P3.0 PSOC_CODEC_I2C_SDA2 – SDA/CDIN
    TP114 – CODEC_SDTI

    As you can see I am unable to match up all the pins to the CS42L51, and am not entirely sure of the AK4556 pin connections.

     

    I'm surprise you used a CODEC with limited availability, and not board support.

     

    After a quick Google I found Audio Codec PROTO - Development Board with WM8731 Audio Codec which I think does all you are doing with the codec, and is available on a development board in the States for $19?!?

     

    Nice idea, and nice code, but I'm surprised and disappointed by your choice of hardware.

     

    OR MAYBE I'M MISSING THE POINT?

     

    Thanks for all the projects, I've been following since before the 100 days projects, and have a PSoC4 and many of the shields you have demo’ d.

     

    Well done

     

    Thanks

     

    David

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • greatunclebulgaria
    greatunclebulgaria over 11 years ago

    Matt,

     

    Thanks for this post, looks very interesting, BUT I'm having trouble with the hardware connections.

     

    POSC4 P5LP header PinPOSC4 P5LP header NameAK4556 J6 HeaderAK4556 Pin NumberCS42L51CS42L51 Pin
    VDD1P5 VDDJ6-35/364/5 5/12/27
    I2C_SCL2P1.2 PSOC_CODEC_I2C_SCL3 – SCL/CCLK
    PDM_DATA3P0.0
    LRCLK4P0.1J6-15 (P5-3)14 - LRCKTP113 – CODEC_LRCLK1 - LRCK
    PDM_LR_SEL5P3.4
    SCLK6P3.5J6-13 (P5_5)16 - BCLKTP112 – CODEC_SCLK31 - SCLK
    CODEC_RST7P3.6 TP111 – CODEC_RST25 - RESET
    SDTO8P3.7J6-11 (P5-7)8 - SDTOTP115 – CODEC_SDTO29 – SDOUT/M/S
    PDM_CLK9P12.6
    MCLK10P12.7J6-12 (P5_6)15 - MCLKTP110 – CODEC_MCLK30 - MCLK
    GND11GNDJ6-373 13/28
    I2C_SDA12P3.0 PSOC_CODEC_I2C_SDA2 – SDA/CDIN
    TP114 – CODEC_SDTI

    As you can see I am unable to match up all the pins to the CS42L51, and am not entirely sure of the AK4556 pin connections.

     

    I'm surprise you used a CODEC with limited availability, and not board support.

     

    After a quick Google I found Audio Codec PROTO - Development Board with WM8731 Audio Codec which I think does all you are doing with the codec, and is available on a development board in the States for $19?!?

     

    Nice idea, and nice code, but I'm surprised and disappointed by your choice of hardware.

     

    OR MAYBE I'M MISSING THE POINT?

     

    Thanks for all the projects, I've been following since before the 100 days projects, and have a PSoC4 and many of the shields you have demo’ d.

     

    Well done

     

    Thanks

     

    David

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Former Member
    Former Member over 11 years ago in reply to greatunclebulgaria

    David,

              Thanks for your interest with this example project. The pins that are left are the PDM microphone module connections. PDM microphone (ADMP521Z EVAL) is a separate module and is not part of CS42L51 or AK4556 codecs.

     

    Sorry about using a codec hardware that is not readily available in the market. We couldn't find a codec only development board/shield that suits our requirements.

     

    We looked at the Wolfson Codec proto board, it doesn't accept an external I2S master clock (which is required for synchronous USB audio implementation) and we couldn't use it for the demo.

     

    In theory, this example project will work with any codec that supports the following features:

    - 24-bit I2S slave interface (PSoC 5LP is the I2S master)

    - Accept external I2S master clock (PSoC 5LP supplies the I2S master clock that is in sync with USB SOF) of  256 * Fs (Fs = audio sampling frequency)

     

    -Krishna

    • Cancel
    • Vote Up +1 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