请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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;
}
}
}