工具/软件:Code Composer Studio
我将 LSPCLK =25MHz 时的100MHz SYSCLK 连接到 SPIA 模块作为主器件来驱动 DAC12。
下面是配置。
SpiaRegs.SPICCR.bit.SPISWRESET=0;//保持复位状态不会影响配置寄存器。 SpiaRegs.SPICCR.bit.CLKPOLARITY = 0;// DAC12获取下降沿 SpiaRegs.SPICCR.bit.SPILBK = 0的数据;//不回路 INTaRegs.SPICCR.bit.SPICHAR = 0xF;// 16位 SpiaRegs.SPCLL.bit.SPICTRL = 0 ;//禁用 Spiarit_0相位/SPICTRIP.SPICK=0;// SPICK=SPICTRIP.SPICK.SPICK.SPICK.SPICK.SPICK=0。 SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1;//主 SpiaRegs.SPICTL.bit.TALTALTAL=1;//在 GPIO 端启用 SPI SpiaRegs.SPICTL.bit.SPIINTENA=0;//无中断。 SpiaRegs.SPICCR.bit.SPISWRESET=1;//从复位中释放。 SpiaRegs.SPIPRI.bit.FREE = 1;//设置断点以使断点不会干扰 xmission //--- FIFO,不需要 SpiaRegs.SPIFFTX.All=0x8000;// 0b1000 0000 0000 0000 0000 0000禁用中断 SpiaRegs.SPIFFRX.All=0x201f;// 0b0010 0000 0001 1111 SpiaRegs.SPIFFCT.All=0x0; //--- 100MHz=>LSPCLK=25MHz、SPICLK =理想值12.5MHz、但获得类似的6MHz。 SpiaRegs.SPICCR.bit.SPISWRESET=0; SpiaRegs.SPIBRR = 2; SpiaRegs.SPICCR.bit.SPISWRESET=1;
我在 SPI 上获得大约6.4MHz 的 SCLK、但无法将 SCLK 提高到大约10MHz。 阅读材料(包括 SPRUEU3A)后、我找不到任何东西来解决此问题。 我熟悉 https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/654117?TMS320F28335-Maximum-SPI-speed 、但不清楚他为解决问题所做的工作。
我愿意接受建议...