读取Device silicon ID的操作_FPGA( Original version)

最近在对FPGA进行AS模式配置时,遇到一个问题:无法读取device silicon ID的操作,在解决这个问题的过程中,在网上找了很多资料都不太详细和权威,一个来自Altera官方的关于EPCS4配置芯片的datasheet还不错,其中有一部分专门介绍了这个读取ID的操作,没找到中文版本,所以我就翻译了这部分,希望以后能方便更多人学习! 如有疑问,欢迎探讨!分享,讨论,进步!

 

 读取Silicon ID的操作:读取Silicon ID的操作命令是10101011b,最高位在前。这个操作就是从输出管脚DATA来读取配置device的8位Silicon ID。如果这个操作命令是在正当进行芯片的擦或写时发出的,它将被忽略,对正在进行的一个周期的擦写操作没有影响。

Table 4-11列出了EPCS1和EPCS4的device silicon IDs。

Table 4-11

串行配置芯片的device Silicon ID   串行配置芯片 Silicon ID(二进制)

 EPCS1 00010000B EPCS4 00010010B 配置芯片的Silicon ID的读取操作是由拉低nCS开始,然后由ASDI传入读Silicon ID的操作命令和三个空白字节 ,接着配置芯片的8位Silicon ID就从输出口DATA在每个DCLK下降沿传出,

当Silicon ID至少已被读了一次后,配置芯片可以通过置高nCS脚电平来终止读取Silicon ID的操作。这之后,如果在nCS被拉低时再有时钟信号传给DCLK,这将使得Silicon ID被重复传出。

 

Original version 2010-04-27 jtagjava

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`of_device_id`结构体中的`data`字段是一个指向与设备相关的数据的指针,通常用于在驱动程序中访问设备树的节点属性。在设备树中,每个节点都有一个属性列表,驱动程序可以使用`of_device`结构体中的`dev.of_node`成员指针来获取该节点的属性,然后进行相应的操作。 例如,假设我们有一个名为`my-device`的设备节点,其属性列表中包含一个名为`my-property`的属性,我们可以先在`of_device_id`结构体中定义一个与之对应的数据结构: ```c struct my_device_data { int my_property; }; ``` 然后,在驱动程序初始化时,我们可以将这个数据结构指定为`of_device_id`结构体的`data`字段: ```c static const struct of_device_id my_driver_of_match[] = { { .compatible = "my-device", .data = &my_device_data }, { /* end of list */ }, }; ``` 接着,在驱动程序的`probe()`函数中,我们可以通过`of_device`结构体中的`dev.of_node`成员指针获取设备节点的属性,并将其保存到之前定义的数据结构中: ```c static int my_driver_probe(struct platform_device *pdev) { struct my_device_data *data; struct device_node *np = pdev->dev.of_node; data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); if (!data) return -ENOMEM; of_property_read_u32(np, "my-property", &data->my_property); /* do something with my-property value */ return 0; } ``` 在上面的例子中,`of_property_read_u32()`函数用于从设备节点的属性列表中读取`my-property`属性,并将其保存到`my_device_data`结构体中的`my_property`字段中。这样,我们就可以在驱动程序中访问设备树中的节点属性,并按需进行相应的操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值