Category: Hardware
Product Number: AD9986
adi专家你好
我申请了ad9986的api,但是只有软件部分,不知道对应的fpga工程在哪里可以找到,硬件环境应该是ADS9-v2EBZ,应该是xc7z020+ku5p的一个架构,软件和硬件是要配合上的,很多寄存器地址找不到对应的硬件
比如说下面的代码,应该是基于linux的,对应了四个设备,那这四个设备具体是什么IP,搞不清楚,不知道和HDL里面的工程有什么联系没有,HDL的工程里只有AD9081的project,不知道是否通用
static int32_t ads9_spi_open(void)
{
int32_t err = API_CMS_ERROR_ERROR;
g_spi_ctrl_fd = open(SPI_CONTROLLERDEV, O_RDWR);
g_spi_cs_fd = open(SPI_CHIPSELECTDEV, O_RDWR);
g_axi_jesd204_fd = open(AXI_JESD204DEV, O_RDWR);
g_i2c_ctrl_fd = open(I2C_CONTROLLERDEV, O_RDWR);
if ((g_spi_ctrl_fd > 0) && (g_spi_cs_fd > 0) && (g_axi_jesd204_fd > 0) && (g_i2c_ctrl_fd > 0)) {
g_spi_ctrl_mem = mmap(NULL, SPI_CONTROLLERSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, g_spi_ctrl_fd, 0);
g_spi_cs_mem = mmap(NULL, SPI_CHIPSELECTSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, g_spi_cs_fd, 0);
g_axi_jesd204_mem = mmap(NULL, AXI_JESD204SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, g_axi_jesd204_fd, 0);
g_i2c_ctrl_mem = mmap(NULL, I2C_CONTROLLERSIZE, PROT_READ | PROT_WRITE, MAP_SHARED, g_i2c_ctrl_fd, 0);
if ((g_spi_ctrl_mem == MAP_FAILED) || (g_spi_cs_mem == MAP_FAILED) || (g_axi_jesd204_mem == MAP_FAILED) || (g_i2c_ctrl_mem == MAP_FAILED)) {
printf("UIO mmap error.\r\n");
}
else {
printf("UIO mapping address: 0x%x, 0x%x, 0x%x, 0x%x.\r\n", (int)g_spi_ctrl_mem, (int)g_spi_cs_mem, (int)g_axi_jesd204_mem, (int)g_i2c_ctrl_mem);
err = API_CMS_ERROR_OK;
}
}
else {
printf("UIO device cannot be opened.\r\n");
}
return err;
}
我的邮箱是whxiao@wennyfly.com,如果能把fpga的工程发给我参考下这就容易多了,谢谢!