侵权投诉

浅谈按键驱动的编写和设备树的修改

FPGA开发圈 2019-11-28 17:48 次阅读

引言

随着深度学习5G的应用,对FPGA的功能要求越来越多。因此近几年FPGA大厂纷纷将自己的器件集成了更多的内核,比如赛灵思的zynq系列就集成了armGPU,PCIE,射频处理模块等等,用于满足各种各样的需求。出身FPGA的工程师们也必须拥抱这些变化,不仅仅要精通FPGA开发,还需要了解其他方面的知识。比如基于zynq的开发者,就需要了解arm,linux驱动以及linux系统。做深度学习加速的还需要了解深度学习网络以及网络压缩等知识。学习这些知识会让你的眼界更加开阔,会站得高看得远,在开始一项任务的时候不再是盲人摸象,而是高瞻远瞩,把握全局。

这是我介绍linux系统和驱动的第4篇文章,如有不恰当的地方欢迎指正,因为本人也是处于学习入门阶段。三人行,必有我师焉。讨论的多了,问题也就清晰了。这一篇主要介绍按键驱动的编写,了解中断的处理过程,以及设备树的修改。

1. vivado工程搭建

工程搭建很简单,就是配置完zynq核的外设后,增加一个axi_gpio模块,作为外部按键的接口。虽然按键并不是直接连接到arm的IO上,但是axi_gpio也被映射到zynq系统的内存空间中,linux驱动通过读写key对应的映射内存来控制和检测。要检测到key被按下我们必须开启中断,因此axi_gpio模块设置如下图。Address editor是gpio的对应的内存空间。Zynq已经为不同外设类型分配了可选的内存映射,通常工程建立完后,由软件工具自行分配就好了。如果一些外设内存有冲突,是无法生成hdf的。


配置完成后,进行管脚约束,然后综合实现,生成bit文件。再导出hdf文件,打开SDK来生成fsbl,u-boot还使用前几篇介绍驱动中的u-boot。U-boot通常不会因为驱动的新增而修改。但是由于增加了key按键,我们需要去设备树中修改对应的配置。  

具体如何修改设备树,可以到linux驱动文件夹Documentation/devicetree中去寻找对应的外设文件,其中有设备树修改的介绍。Gpio的修改可以到gpio文件夹下的gpio-zynq.txt查看。其基本形式为:

         gpio@e000a000 { #gpio-cells = <2>;
                   compatible = "xlnx,zynq-gpio-1.0";
                   clocks = <&clkc 42>;
                   gpio-controller;
                   interrupt-parent = <&intc>;
                   interrupts = <0 20 4>;
                   interrupt-controller;
                   #interrupt-cells = <2>;
                   reg = <0xe000a000 0x1000>; };
其中compatible主要是用于linux驱动去匹配设备树中相应的节点,后面我们会介绍,这个名字和那一块程序有关。主要是配置中断,其中interrupts-cell指定了interrupts有多少个属性。Interrupts的第一个属性是中断类型,第二个是中断号,最后一个表示触发类型:高电平触发、低电平触发、上升沿触发和下降沿触发四种类型。Interrupt-parent是中断所属的中断控制器。我们在SDK中产生了设备树,我们看到按键的相应节点位于amba_pl节点下,其中amba_pl是PL端的总线节点,而amba是PS端的总线节点,修改pl.dtsi中的gpio内容:

 

我们改了compitable的内容,同时要关注inerrupts,xlnx,all-inputs,xlnx,gpio-width这些属性。Gpio-width是宽度,all-inputs是表示为输入。

设备树修改完后就可以编译设备树文件,然后用fsbl,u-boot,设备树来制作boot.bin了。放到SD卡,启动linux系统。接下来进入关键环节,key驱动的编写。

2. 按键驱动代码剖析

对于一个刚刚入门的人来说,其实了解了驱动的基本框架就好了。每个驱动都按照它的框架进行编写和修改。能理解驱动的各个模块功能,在驱动调试或者编写中就能有的放矢。一个简单的驱动的构成也很复杂,代码也很多,篇幅有限,我只介绍主要部分。

1)platform框架

Platform是一种虚拟的平台,提供了驱动和具体硬件交互的接口。Platform_device类似于虚拟的总线,IIC,LCD,GPIO等外设都可以看做platform_device,通过它可以遍历所有的总线设备,而对应的驱动就是platform_driver。基本流程是:先注册platform_device,再注册platform_driver,然后匹配设备和驱动,最后注册整个驱动。

在linux3以前的版本,需要定义platform_device结构体,然后通过platform_device_register函数来注册设备。但是linux3.0以后出现了设备树,内核函数of_platform_default_populate_init会在内核启动后遍历设备树,自动注册每个节点对应的设备。因此只需要修改设备树参数就行了。首先看这个结构体:

static const struct of_device_id key_of_match[] __devinitdata={
         {.compatible="xlnx,gpio-keys",},
         {/*end of list*/},
};

这实际上定义了设备的匹配号,compatible就是在设备树节点axi-gpio中对应的节点匹配名称。我们只要让compitable和设备树中对应节点的值匹配上就可以将节点对应的设备注册到总线上了。

platform_driver用于对设备的搜索和配置,主要就是去解析设备树,根据设备树中节点信息来填充设备结构体对应信息或者直接对设备完成配置。

static struct platform_driver key_driver={
         .driver={
                   .name=DRIVER_NAME,
                   .owner=THIS_MODULE,
                   .of_match_table=key_of_match,
         },
         .probe=key_probe,
         .remove=key_remove,
};

我们主要关注其三个变量,of_match_table就是of_device_id结构体定义的,用来匹配节点。Probe函数用来解析节点,配置设备。Remove主要是释放在probe中使用的资源等。

编写key驱动主要就是去填充probe和remove两个函数。

来看probe函数是如何查找到设备的一些属性的,比如我们要确定key键的数量,那么我们可以这样来做:

         if(of_property_read_u32(node, "xlnx,gpio-width", &width)){
                   printk(KERN_ERR "get the gpio-width
");
         }

通过匹配“xlnx,gpio-width”来获得key的位宽,这个属性就在设备中定义的。

如果我们要操作key,需要获得key设备的内存映射空间,这个可以通过函数platform_get_resource函数来完成。

mem=platform_get_resource(pdev, IORESOURCE_MEM, 0);
         if(!mem){
                   printk(KERN_ERR "get memory resource
");
                   return -ENODEV;
         }

 

第一个参数pdev是platform_device结构体,在进入probe函数之前就已经被注册了,其指向的就是key对应的设备。第二个参数是类型,主要有IORESOURCE_MEM, IORESOURCE_IRQ等。最后一个参数是号码,指示platform_device结构体中不同的资源类型,即IORESOURCE类型。

以上获得的mem就是在设备树中由reg指定的内存映射:

reg = <0x41210000 0x10000>;

 

中断的获得可以通过函数:

       r_irq=irq_of_parse_and_map(node, 0);
         if(!r_irq){
                   printk(KERN_ERR "get interrupt
");
         }
其中device_node就是设备节点,在platform_device注册的时候,含有该节点,所以可以通过该结构体获得。第二个参数表示一个设备树节点有多个中断时的索引。

通过设备树获得了硬件信息后,我们将其填充到key_device中,key_device定义如下:

struct key_dev{
         struct cdev dev;
         struct work_struct work;                 
         int irq;
         int major;
         unsigned long start_addr;
         unsigned long size;
         void __iomem *baseaddr;
         int width;
         int inout;
         int key_prs;
        
};
其中irq为中断号,cdev是字符设备结构体,因为key等属于字符设备。填充如下:
         lp->start_addr=mem->start;
         lp->size=mem->end-mem->start;
         lp->irq=r_irq;
         lp->width=width;

2)中断处理

在platform中我们谈到了对中断号的获取,那么取得了中断号之后如何来检测中断事件呢?中断处理过程可以被分成两部分:顶半部和底半步。顶半部主要处理硬件上比较紧急的事物,比如检测中断,底半部用于处理中断产生之后需要进行的事务处理。在底半部处理过程中不会耽误检测下一个中断。这两个部分不是绝对的,也可以只有一个部分。

驱动中首先需要定义一个中断函数,用于中断产生后进行的操作。然后申请中断,实现函数:

err=request_irq(k_dev->irq,key_interrupt, IRQF_SHARED|IRQF_TRIGGER_RISING, DRIVER_NAME, k_dev);

第一个是中断号,第二个为中断处理函数,第三个参数为中断产生类型,上升沿下降沿一类,第四个为名字,可以命名中断,最后一个是设备结构体。

释放中断就通过free_irq(unsigned int irq, void *dev_id)来完成。

实现中断底半部处理机制主要有tasklet,工作队列,软中断和线程化irq。中断机制较为复杂,任何一种机制都可以让你竭尽脑汁。入门者还是循序渐进,所以我也只用了一种简单的方法。类似机制,我们定义一个事件:

static DECLARE_WAIT_QUEUE_HEAD(press_queue);
然后在中断函数中唤醒这个事件,在其他函数中可以通过等待这个事件来进行中断处理。我们的中断函数为:
static irqreturn_t key_interrupt(int irq, void *dev_id){
         struct key_dev *dev=dev_id;
         dev->key_prs++;
         printk(KERN_INFO "interruptted
");
         wake_up_interruptible(&press_queue);
         return IRQ_HANDLED;
 
}
而等待该事件放在key_read函数中:
ssize_t key_read(struct file *filp, char __user *buf, size_t count, loff_t *fops)
{
         int err;
         struct key_dev *dev=filp->private_data;        
         wait_event_interruptible(press_queue, event_press);
         event_press=0;
         err=copy_to_user(buf, &dev->key_prs, count);
         return err ? -EFAULT : 0;
}

3)文件结构

Linux一切皆文件,任何驱动最终都被封装为一个文件,用户空间通过读写文件来操作驱动。文件操作包括打开,关闭,读和写等。我们不做具体介绍,简单列出文件结构体为:

struct file_operations key_fops={
         .owner=THIS_MODULE,
         .open=key_open,
         .read=key_read,
         .release=key_close,
};
总结

对以上进行总结就是:

1)  首先进行设备树节点属性修改;

2)  填充platform框架下的probe,remove等函数,并定义of_device_id和platform_driver结构体;

3)  申请中断,释放中断,编写中断函数等;

4)  填充文件结构,编写open,close,read等函数;

原文标题:【驱动初发】如何在zynq上做个按键驱动

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

华为与中兴均表示将在6月支持5G消息商用

4月8日讯,三大运营商联合推出5G消息业务,华为表示6月将支持5G消息商用,中兴通讯也表示预计6月底....
发表于 04-08 17:15 41次 阅读
华为与中兴均表示将在6月支持5G消息商用

中国移动与CBA联盟合作成立5G联合实验室

4月8日消息,中国移动咪咕公司与CBA联盟宣布围绕5G进行战略合作升级,成立5G联合实验室。
的头像 汽车玩家 发表于 04-08 17:06 119次 阅读
中国移动与CBA联盟合作成立5G联合实验室

中国联通EdgePOD边缘云解决方案实现ICT融合和协同发展

边缘计算不边缘!据Dell‘Oro Group报告预测,未来五年内,全球MEC市场预计将以135%的....
的头像 牵手一起梦 发表于 04-08 17:04 104次 阅读
中国联通EdgePOD边缘云解决方案实现ICT融合和协同发展

AI技术和5G技术赋能移动监控领域,加速移动监控产品的迭代

生活中存在着大量需要移动管理的对象:公交车、地铁、高铁、矿井运输设备、港口码头……随着信息社会发展,....
的头像 牵手一起梦 发表于 04-08 16:57 85次 阅读
AI技术和5G技术赋能移动监控领域,加速移动监控产品的迭代

国内5G消息商用倒计时 中兴助力移动打通5G消息first call

中兴通讯助力中国移动在杭州成功打通了基于GSMA UP2.4标准的5G消息first call,标志....
的头像 汽车玩家 发表于 04-08 16:36 692次 阅读
国内5G消息商用倒计时 中兴助力移动打通5G消息first call

日月光又拿下中兴通讯5G基站芯片订单

据电子时报报道,继华为海思后,日月光投控进一步以2.5D/interposer技术为基础的先进封测制....
的头像 汽车玩家 发表于 04-08 16:17 73次 阅读
日月光又拿下中兴通讯5G基站芯片订单

中国移动全面升级飞信 拟借5G通道与微信拉回差距

对于中国移动来说,飞信不会被放弃(已经改名为和飞信),其会加强它的聊天属性。
的头像 工程师邓生 发表于 04-08 16:12 95次 阅读
中国移动全面升级飞信 拟借5G通道与微信拉回差距

什么是5G消息?与彩信有什么区别?

4月8日,中国移动、中国电信、中国联通三大运营商一起,联合11家合作伙伴,共同发布5G消息白皮书,提....
发表于 04-08 15:52 70次 阅读
什么是5G消息?与彩信有什么区别?

董昕:全面实施“5G+”计划,加快5G融入大众生活

在今天举行的“5G消息白皮书发布会”上,中国移动副总经理董昕在致辞中表示,5G消息是全球运营商的共同....
的头像 牵手一起梦 发表于 04-08 15:35 57次 阅读
董昕:全面实施“5G+”计划,加快5G融入大众生活

王国权:强化与产业链各方合作,打造互利共赢的5G产业新生态

今日,中国电信、中国移动、中国联通联合举行线上发布会,共同发布《5G消息白皮书》。中国电信副总经理王....
的头像 牵手一起梦 发表于 04-08 15:32 78次 阅读
王国权:强化与产业链各方合作,打造互利共赢的5G产业新生态

范云军:望各产业链方齐心协力,共同打造5G消息生态圈

中国联通、中国移动、中国电信今天联合举行线上发布会,共同发布《5G消息白皮书》。在会上,中国联通副总....
的头像 牵手一起梦 发表于 04-08 15:30 90次 阅读
范云军:望各产业链方齐心协力,共同打造5G消息生态圈

三大运营商重磅发布5G消息白皮书 华为宣布6月支持5G消息应用

4月8日消息,中国电信、中国移动、中国联通联合举行发布会,发布《5G消息白皮书》,携手生态合作伙伴,....
的头像 章鹰 发表于 04-08 15:28 442次 阅读
三大运营商重磅发布5G消息白皮书 华为宣布6月支持5G消息应用

国内5G消息商用进入倒计时,中国移动成为国内首个5GMC落地的运营商

近日,中兴通讯助力中国移动在杭州成功打通了基于GSMA UP2.4标准的5G消息first call....
的头像 牵手一起梦 发表于 04-08 15:20 157次 阅读
国内5G消息商用进入倒计时,中国移动成为国内首个5GMC落地的运营商

5G消息带来技术与业务的跃变,基础短信升级5G消息

得益于以上特质,5G消息在继承传统短信免注册登录、免安装应用等特性的基础上,进一步实现了信息交互的便....
的头像 牵手一起梦 发表于 04-08 15:14 121次 阅读
5G消息带来技术与业务的跃变,基础短信升级5G消息

中国移动与CBA联盟成立5G联合实验室,正式启动“双五计划”

4月8日,中国移动咪咕公司与CBA联盟举行主题为“AI 拼”的5G战略合作“云”签约仪式,在上一周期....
的头像 牵手一起梦 发表于 04-08 15:07 76次 阅读
中国移动与CBA联盟成立5G联合实验室,正式启动“双五计划”

三星计划今年内实现全面支持5G消息

据中证报,在4月8日《5G消息白皮书》发布活动上,三星方面表示,长期支持全球运营商RCS业务商用,已....
的头像 汽车玩家 发表于 04-08 14:52 69次 阅读
三星计划今年内实现全面支持5G消息

北理工全新无人配送车 能识别面部信息和检测体温

疫情在全球传播的速度仍未下降,不少地方开始封城,甚至封国,大学也纷纷跟进,封锁校园防止病毒进一步的感....
的头像 汽车玩家 发表于 04-08 14:43 60次 阅读
北理工全新无人配送车 能识别面部信息和检测体温

三大运营商共同发布《5G消息白皮书》 将,进一步实现信息交互的便捷高效

随着5G网络商用,三大运营商也加速了新网络的普及之路,而最新要做的是联合厂商对传统短信进行升级。4月....
发表于 04-08 14:38 89次 阅读
三大运营商共同发布《5G消息白皮书》 将,进一步实现信息交互的便捷高效

5G时代下的射频存在哪一些挑战

5G 最早的用途之一会是固定无线接入 (FWA)。FWA主要是为固定位置的用户或仅在小范围区域内移动....
发表于 04-08 14:37 14次 阅读
5G时代下的射频存在哪一些挑战

AI与人脑距离怎么样去拉近

目前深度学习算法作为实现人工智能的重要技术手段,被广泛应用于各类人工智能成果中。对于以深度学习算法为....
发表于 04-08 14:19 28次 阅读
AI与人脑距离怎么样去拉近

5G超级SIM卡将会给5G产业带来颠覆性的变革

今年3月18日,北京移动携手紫光国微宣布5G超级SIM卡正式上市,这不仅是移动首次开售5G超级SIM....
发表于 04-08 14:18 37次 阅读
5G超级SIM卡将会给5G产业带来颠覆性的变革

5G要实现完全普及还需要满足哪些前提条件

RCS是全球移动通信系统协会在2008年提出的一种通讯方式,RCS融合了语音、消息、状态栏、位置服务....
发表于 04-08 14:14 25次 阅读
5G要实现完全普及还需要满足哪些前提条件

三大运营商联合发布5G消息业务,华为6月支持5G消息商用

4月8日,中国移动、中国电信和中国联通三大运营商联合发布了富媒体消息业务——5G消息业务。据介绍,5....
的头像 牵手一起梦 发表于 04-08 14:08 1999次 阅读
三大运营商联合发布5G消息业务,华为6月支持5G消息商用

诺基亚推出了一个全新的Wi-Fi 6产品Beacon 6

根据最新发布的消息,诺基亚上个月在其全屋WiFi产品组合中增加了一个新的Wi-Fi 6 产品Beac....
发表于 04-08 12:00 13次 阅读
诺基亚推出了一个全新的Wi-Fi 6产品Beacon 6

连接技术怎样助力5G通信新架构

对于5G部署而言,了解其关键技术非常重要,如从单独的射频拉远单元(RRU)和天线系统转变为大规模多输....
发表于 04-08 11:30 34次 阅读
连接技术怎样助力5G通信新架构

5G和毫米波之间有怎样的联系

5G网络是一个复杂的网络环境,毫米波是最为闭环中处于圆心周围的最核心体验,它所呈现的是极限的速度,但....
发表于 04-08 11:25 37次 阅读
5G和毫米波之间有怎样的联系

5G使用毫米波之后,6G/7G用什么

虽然不少专家确信,太赫兹波将颠覆通信行业,然而,人们尚不知道太赫兹波究竟能弥补什么缺陷。因为世界各地....
发表于 04-08 11:24 50次 阅读
5G使用毫米波之后,6G/7G用什么

5G发展前景不可估量

现在,随着新基建概念的提出,伴随着智能智造的号角5G的发展风头正盛。作为下一个支撑我国社会经济管理数....
发表于 04-08 10:56 8次 阅读
5G发展前景不可估量

国内5G手机厂商开始寻求国产化替代方案 高端进口芯片受到疫情显著影响

中国是全球最大的电子信息产品和零部件生产国,每年生产全球70%的智能手机、80%的电脑、50%以上的....
的头像 半导体动态 发表于 04-08 10:53 128次 阅读
国内5G手机厂商开始寻求国产化替代方案 高端进口芯片受到疫情显著影响

江西省吉水县为农业领域引进了智能工厂化育秧设备

“机插是当前水稻机械化耕作的短板,而工厂化育秧整齐度高,适宜机插。”冯小庆说,育秧中心配备了12台高....
的头像 lhl545545 发表于 04-08 10:16 114次 阅读
江西省吉水县为农业领域引进了智能工厂化育秧设备

5G对于3D感测技术有什么影响

最新的业内报告预计,随着5G时代的到来,传输速率、芯片处理能力、散热以及成本等方面都将有进一步的提升....
发表于 04-08 10:08 80次 阅读
5G对于3D感测技术有什么影响

使用Artix-7 FPGA设计电路板,其中电源轨的斜率小于200usec

我有一个使用Artix-7 FPGA(不使用GPT接口)的电路板设计,其中VCCINT,VCCBRAM和MGTAVCC电压轨连接...
发表于 04-08 10:05 10次 阅读
使用Artix-7 FPGA设计电路板,其中电源轨的斜率小于200usec

基站无线传输设备质量怎样提供保障

5G发展,基站先行。从5G基站产业链来看,中维5G基站中主要涉及无线设备、基站设备、小基站、传输设备....
发表于 04-08 10:05 27次 阅读
基站无线传输设备质量怎样提供保障

AI能否识别出急性脑CT异常

在新的研究中,人工智能深度学习算法能够准确识别头部CT扫描中9种不同程度的异常。
发表于 04-08 10:00 23次 阅读
AI能否识别出急性脑CT异常

联通在线的智慧短信在疫线抗战中发挥了重要作用

在近日工信部召开的加快5G发展专题会上,中国联通董事长王晓初就指出,受疫情影响,SA核心网、无线、终....
发表于 04-08 09:52 22次 阅读
联通在线的智慧短信在疫线抗战中发挥了重要作用

Virtex 4控制sram的问题

嗨, 使用SRAM读取数据时遇到问题,SRAM通过EMIFA接口连接到FPGA。 FPGA和DSP通过EMIFA连接,S...
发表于 04-08 09:48 12次 阅读
Virtex 4控制sram的问题

广和通联合深圳移动在运营商的SA实网环境下实现了5G模组通信测试

广和通FG150/FM150 5G系列模组在位于深圳移动的5G联合创新中心的SA实网环境下,顺利完成....
发表于 04-08 09:35 25次 阅读
广和通联合深圳移动在运营商的SA实网环境下实现了5G模组通信测试

5G的理想应用是什么

除了投资总额,更重要的是,5G是其中产业链涉及领域最多、涵盖范围最广的领域。
发表于 04-08 09:34 107次 阅读
5G的理想应用是什么

诺基亚意外出局中移动5G二期招标 美国运营商承诺送出大单

东方不亮西方亮,诺基亚在3月31日中国移动2020年5G二期无线网主设备招标中因为报价过高,一站没有....
的头像 章鹰 发表于 04-08 09:31 804次 阅读
诺基亚意外出局中移动5G二期招标 美国运营商承诺送出大单

利用FPGA作为接口芯片实现DSP到SDRAM的数据存取

在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机和摄像机中,为了将现场拍摄的诸....
发表于 04-08 09:26 43次 阅读
利用FPGA作为接口芯片实现DSP到SDRAM的数据存取

美国政府将评估5G基础设施的核心安全原则来推动5G基础设施的部署

美国政府还将继续加强与私营部门以及与盟友之间的合作,加快关于5G技术的研究、开发、测试和评估,以推动....
发表于 04-08 09:23 70次 阅读
美国政府将评估5G基础设施的核心安全原则来推动5G基础设施的部署

如何促进5G+车联网协同发展

日前,工业和信息化部发布《关于推动5G加快发展的通知》,提出促进“5G+车联网”协同发展。推动将车联....
发表于 04-08 09:19 244次 阅读
如何促进5G+车联网协同发展

5G的特点只有快吗

这才是5G的真正意义,现阶段,我们的上网设备还不够多,5G的速度提升不够明显,但以后,每家每户接入网....
发表于 04-08 09:13 42次 阅读
5G的特点只有快吗

罗德与施瓦茨展示最先进的5G NR FR2一致性测试解决方案

5G NR需要新的测试方法。由于引入新的FR2频率范围的5G毫米波,以及越来越多地使用无物理连接器的....
发表于 04-08 09:13 85次 阅读
罗德与施瓦茨展示最先进的5G NR FR2一致性测试解决方案

5G时代中国将会继续成为全球最大的5G市场

高通是全球领先的手机芯片企业,苹果、三星、小米、vivo等品牌手机均一直大规模采用高通芯片相关产品。....
发表于 04-08 09:12 44次 阅读
5G时代中国将会继续成为全球最大的5G市场

波兰能源部已选择PGE Systemy在450MHz频段上运行4.9G专用无线网络

PGE Systemy将使用PoC基础架构进一步发展其在全国范围内的关键通信网络的概念。最终的专用无....
发表于 04-08 09:07 29次 阅读
波兰能源部已选择PGE Systemy在450MHz频段上运行4.9G专用无线网络

我国智能手机的更换和5G的普及速度已经放缓

报告称,在中国,有37%的人推迟了新智能手机的购买,而32%的人将推迟使用5G手机。 但Str....
发表于 04-08 09:04 57次 阅读
我国智能手机的更换和5G的普及速度已经放缓

中国移动正式公布了省际骨干传送网十三期新建工程集采结果

中兴通讯多年来持续深度参与中国移动国干西部环OTN网络的建设,已为中国移动建设两张100G OTN西....
发表于 04-08 09:03 27次 阅读
中国移动正式公布了省际骨干传送网十三期新建工程集采结果

安徽省政府已正式印发了支持5G发展的若干政策

4G改变生活,5G改变社会。4月2日,记者从省政府新闻办举行的发布会获悉,安徽省政府已正式印发了《支....
发表于 04-08 08:56 27次 阅读
安徽省政府已正式印发了支持5G发展的若干政策

中国移动公布了2020年5G SA核心网新建设备集采结果

中国移动公布2020年5G SA核心网新建设备集采结果。数据显示,此次入围的企业有华为、中兴、爱立信....
发表于 04-08 08:53 71次 阅读
中国移动公布了2020年5G SA核心网新建设备集采结果

基于SoPC的嵌入式软硬件协同设计性能怎么优化?

软硬件协同设计(Hardware/Software Co-deaign)是在20世纪90年代兴起的跨领域交叉学科。随着超大规模集成电路制造工艺的进步,...
发表于 04-08 08:03 18次 阅读
基于SoPC的嵌入式软硬件协同设计性能怎么优化?

fpga与dsp通过emif传输问题

[tr]我现在用fpga生成一组信号,然后通过emif传输给dsp。开发板的例程是通过emif收发,我就把dsp端程序的发的部分删掉,然后改fp...
发表于 04-07 16:01 25次 阅读
fpga与dsp通过emif传输问题

Chipscope问题

你好, 我正在使用Aurora 8B / 10B v5.3 IP内核,Virtex 5 FPGA用于使用SFP电缆的GB收发器。 我使用核心生成器...
发表于 04-07 14:52 19次 阅读
Chipscope问题

Spartan 6 FPGA SP605/ISE开发套件的许可证文件

我已经安装了ISE软件(ISE Navigator 13.4)。 我有一张随SP650开发套件一起提供的凭证,设备已锁定在XC6SLX45T...
发表于 04-07 14:52 15次 阅读
Spartan 6 FPGA SP605/ISE开发套件的许可证文件

virtex-6 FPGA构建PCB板需要什么?

您好 我希望你做得好 公司为virtex-6 FPGA构建PCB板需要什么? BR...
发表于 04-07 14:22 16次 阅读
virtex-6 FPGA构建PCB板需要什么?

可以将XCF128XFTG64用于此FPGA吗?

你好 我想用Kintex-7 FPGA(XC7K160T)设计定制电路板。 我有一个关于配置的问题。 我可以将XCF128XFTG64用于...
发表于 04-07 12:10 8次 阅读
可以将XCF128XFTG64用于此FPGA吗?

怎么在小型闪存上保存并读取图像

嗨;我想在紧凑型闪存中保存图像,我想从这个小型闪存中读取此图像以显示在显示器上,我使用FPGA spartan 3400a进行dsp但我不...
发表于 04-07 12:09 10次 阅读
怎么在小型闪存上保存并读取图像

FPGA与PC之间如何串行通信?

嗨朋友我正在使用digilent nexys 3斯巴达6 xc6lx16 cs324板。 我想在fpga内存中写入我的文件。 如何做到这一点请指导我。我更愿...
发表于 04-07 10:46 5次 阅读
FPGA与PC之间如何串行通信?

采用WISHBONE总线有效地解决IP核可移植性、设计复用问题

清华大学嵌入式微处理器芯片设计为国家重点863项目,单芯片多处理器设计为项目的一个延伸。单芯片多处理....
发表于 04-04 18:19 49次 阅读
采用WISHBONE总线有效地解决IP核可移植性、设计复用问题

ADC12QS065里用LVDS格式解决输出信号传输问题

在输入信号转换数字数据之后,必须传输它们到DSP或ASIC/FPGA进行处理。流行的全差分输出信号传....
发表于 04-04 17:43 3次 阅读
ADC12QS065里用LVDS格式解决输出信号传输问题

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 153次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 104次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器