大家好!
我对这个简单的骗局生气了。
一般来说,我有一个很好的时间与PSoC开发的东西。我有很多项目做了,SPI LCD工作,EMPORD工作,中断,DMAS等-但我不能得到这个I2S工作
我使用CY8CKIT-059和一个Idis I2S PMOD,以IdiCICHORSE实例为基础。
我删除了这个例子的RX部分。将缓冲器升到2×2×45(我要生成1kHz方波进行测试,每16位2字节,2个信道,需要45个样本来生成所需的波形)。
然后,我根据I2S数据表将时钟改变为2.8224MHz,采样率为44.1kHZ。每采样16位(32位字选择周期)。
我已经有线MCLK到主时钟的模块,LRCK去字选择时钟,SCK到采样时钟和SDO到它的串行数据输入。
我应该如何配置16位传输的DMA?现在我只使用Hi8和Lo8分割16位样本。希望最好。
任何帮助和指针都非常感谢!
以上来自于百度翻译
以下为原文
Hi everyone!
I'm going
MAD over this simple hazzle.
Generally I have a nice
time developing things with PSOC. I have a lot of the project done, SPI LCD working, emFile working, interrupts, DMAs etc - but I cannot get this I2S working
I'm using CY8CKIT-059 and a
Digilent I2S PMOD with the basis in InterIcSound example.
I removed Rx part of the example. Upped the buffer to 2*2*45 (I want to generate a 1kHz square wave for testing, 2 bytes per 16 bit, 2 channels, need 45 samples to generate required wave).
Then I changed the clock to 2.8224MHz as per the I2S datasheet for a sample rate of 44.1kHz.at 16 bit per sample (32bit word select period).
I have wired MCLK to the master clock of the module, LRCLK goes to the word select clock, SCK to the sample clock and SDO to its serial data input.
How am I supposed to configure the DMA for 16 bit transfers? Right now I just split the 16 bit sample using HI8 and LO8. And hope for the best.
Any help and pointers are hugely appreciated!