请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AFE7950EVM 主题中讨论的其他器件:LMK04828、
您好!
我尝试通过 FDTI 端口直接在 AFE7950EVM 上配置 LMK04828、绕过 Latte。
这是我使用的 C#代码。 我构建了'POWERDOWN'命令、希望看到对电流消耗的一些影响、以指示 LMK04828正在接收命令、但没有变化。
请提供任何帮助。 我也可以提供任何其他信息。
谢谢
Khusro
using System; using FTD2XX_NET; namespace ConsoleApp { public class Program { public static int MAX_BYTES = 1024; public static FTDI.FT_STATUS ftStatus; public static FTDI ftdiHandle; public static UInt32 numBytesToWrite; public static UInt32 numBytesWritten; public static byte[] dataToSendBuffer = new byte[MAX_BYTES]; public static UInt32 LMK04828_DEV_INDEX = 1; static void Main(string[] args) { ftdiHandle = new FTDI(); ftStatus = ftdiHandle.OpenByIndex(LMK04828_DEV_INDEX); ftStatus |= ftdiHandle.InTransferSize(4096); //Set USB req transfer size ftStatus |= ftdiHandle.SetCharacters(0, false, 0, false); //Disable event and error characters ftStatus |= ftdiHandle.SetTimeouts(5000, 5000); //Set the read and write timeouts ftStatus |= ftdiHandle.SetLatency(16); // Set the latency timer ftStatus |= ftdiHandle.SetFlowControl(FTDI.FT_FLOW_CONTROL.FT_FLOW_NONE, 0x11, 0x13); ftStatus |= ftdiHandle.SetBaudRate(62500); //bit (or byte???) rate is x16 this value = 1M if (ftStatus != FTDI.FT_STATUS.FT_OK) { Console.WriteLine("ftStatus not ok %d\n", ftStatus); //check for error Console.WriteLine("Press Return to Exit\n"); Console.Read(); return; } uint i = 0; //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0xAF; // 1 0 1 0 1 1 1 1 cs hi, start clock dataToSendBuffer[i++] = 0xEF; // 1 1 1 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0xAF; // 1 0 1 0 1 1 1 1 cs hi dataToSendBuffer[i++] = 0xEF; // 1 1 1 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x8F; // 1 0 0 0 1 1 1 1 cl lo dataToSendBuffer[i++] = 0xCF; // 1 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs lo, R/W = 0 (write) dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs lo, W1 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, W0 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A12 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A11 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A10 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A9 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A8 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A7 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A6 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A5 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A4 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A3 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A2 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x8F; // 1 0 0 0 1 1 1 1 cs low, A1 = 1 dataToSendBuffer[i++] = 0xCF; // 1 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, A0 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, D7 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, D6 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, D5 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, D4 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, D3 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, D2 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x0F; // 0 0 0 0 1 1 1 1 cs low, D1 = 0 dataToSendBuffer[i++] = 0x4F; // 0 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0x8F; // 1 0 0 0 1 1 1 1 cs low, D0 = 1 dataToSendBuffer[i++] = 0xCF; // 1 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0xCF; // 1 1 0 0 1 1 1 1 cs lo, clk hi dataToSendBuffer[i++] = 0xCF; // 1 1 0 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0xEF; // 1 1 1 0 1 1 1 1 cs hi, clk hi dataToSendBuffer[i++] = 0xEF; // 1 1 1 0 1 1 1 1 //----------------------------------SDIO SCK CSn SDO-------------------------------------- dataToSendBuffer[i++] = 0xEF; // 1 1 1 0 1 1 1 1 cs hi, clk hi dataToSendBuffer[i++] = 0xEF; // 1 1 1 0 1 1 1 1 numBytesToWrite = i; // enter asynchronous bit-bang mode Byte Mask = 0xFF; // all output (output (1) and input (0)) Byte Mode = 0x01; // 0x01 = asynchronous bit-bang ftStatus = ftdiHandle.SetBitMode(Mask, Mode); ftStatus = ftdiHandle.Write(dataToSendBuffer, numBytesToWrite, ref numBytesWritten); if ((ftStatus == FTDI.FT_STATUS.FT_OK) && (numBytesToWrite == numBytesWritten)) Console.WriteLine("FT_Write successful\n"); ftStatus = ftdiHandle.Close(); Console.Write("Done, press any key to quit..."); Console.ReadKey(); return; } } }