电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电子发烧友网>可编程逻辑>FPGA/ASIC技术>Zynq DMA第七篇:Adam Taylor 玩转MicroZed 系列29

Zynq DMA第七篇:Adam Taylor 玩转MicroZed 系列29

收藏

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论

查看更多

相关推荐

玩转赛灵思Zedboard开发板(3):基于Zynq PL的流水灯

电子发烧友网核心提示:本文为玩转赛灵思Zedboard开发板(3):基于Zynq PL的流水灯,内容精彩,敬请对电子发烧友网保持密切关注。基于Zynq PL的流水灯是使用PL做流水灯实验,目的是为
2012-12-05 14:25:4112770

ZYNQ SOC案例开发:AXI DMA使用解析及环路测试

一、AXI DMA介绍 本篇博文讲述AXI DMA的一些使用总结,硬件IP子系统搭建与SDK C代码封装参考米联客ZYNQ教程。若想让ZYNQ的PS与PL两部分高速数据传输,需要利用PS的HP
2020-12-31 09:52:027166

ZYNQ中不同应用的DMA总结

不同类型的DMAHigh performance w/DMA几种DMA的总结ZYNQ中不同应用的DMA几个常用的 AXI 接口 IP 的功能(上面已经提到):AXI-DMA:实现从 PS 内存
2022-03-31 11:39:10

玩转Altera:学习FPGA必经之路

玩转Altera:学习FPGA必经之路包括基础、时序和验证三个部分。https://www.elecfans.com/soft/5/2012/20120815284605.html
2014-11-05 14:07:06

玩转Zynq连载19——[ex02]基于Zynq PL的欢快流水灯

。如图所示,在Zstar板子左侧靠下的位置有一排的LED指示灯,从左往右数第4个、第5个和第6个LED指示灯分别是D3、D2和D1。 2 板级调试参考文档《玩转Zynq-环境
2019-08-28 09:26:47

玩转Zynq连载22——[ex03] 基于Zynq PL的PLL配置实例

LED,而是IP核的应用,当然,仅以PLL IP核为例。2 模块化设计参考文档《玩转Zynq-基础:基于FPGA的模块化设计.pdf》。3 PLL IP核添加配置 3.1Vivado标准IP核概述我们
2019-09-06 08:13:18

玩转Zynq连载25——[ex04] 基于Zynq PL的自定义IP核集成

,添加到Vivado的IP Catalog中,然后和标准IP核一样,在Vivado工程中配置添加这个IP核。2 用户自定义IP核的创建于封装参考文档《玩转Zynq-工具:用户自定义IP核的创建与封装
2019-09-20 11:35:29

玩转Zynq连载28——[ex50] 第一个Zynq系统工程“Hello Zynq

工程新建文件夹zstar_ex50,注意它的整个存放路径中不要有中文、符号或空格(只能是数字和字母)。打开Vivado,参考《玩转Zynq-工具:新建Vivado工程.pdf》新建一个Vivado工程
2019-09-30 12:57:32

玩转Zynq连载30——[ex52]基于Zynq PS的GPIO控制

://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw提取码:ld9c 1 Zynq的GPIO概述参考文档《玩转Zynq-基础Zynq PS的GPIO外设.pdf》。 2
2019-10-10 11:21:06

玩转Zynq连载31——[ex53] 基于Zynq PS的EMIO控制

://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw提取码:ld9c 1 Zynq的GPIO概述参考文档《玩转Zynq-基础Zynq PS的GPIO外设.pdf》。关于
2019-10-12 17:35:16

玩转Zynq连载34——[ex54] 基于Zynq的AXI GP总线的从机接口设计

介绍参考文档《玩转Zynq-基础:AXI总线协议介绍.pdf》。3 AXI GP外设配置在zstar_ex53实例的基础上,需要对ZYNQ7Processing System(PS)配置页面做更改
2019-11-12 10:23:42

玩转Zynq连载36——[ex55] 基于VIO在线板级调试的AXI GP总线读写实例

PL代码中VIO的配置和例化PL工程中,需要将作为开关量控制或状态显示的信号连接到VIO IP核的接口中。具体可以参考文档《玩转Zynq-工具:基于Vivado的Virtual IO在线板级调试
2019-11-21 10:04:31

玩转Zynq连载37——[ex56] 基于Zynq的AXI HP总线读写实例

的逻辑设计。2 AXI总线协议介绍参考文档《玩转Zynq-基础:AXI总线协议介绍.pdf》。3Zynq PS的AXI HP配置在ZYNQ7 ProcessingSystem中,点击左侧Page
2019-11-26 09:47:20

玩转Zynq连载38——[ex57] Zynq AXI HP总线带宽测试

不同通道使用情况下的数据吞吐量。大家可以在此基础上,更改不同的AXI HP总线时钟频率,以评估时钟频率对AXI HP总线的影响。2 AXI总线协议介绍参考文档《玩转Zynq-基础:AXI总线协议介绍
2019-11-28 10:11:38

玩转Zynq连载29——[ex51] 制作裸跑程序的启动文件BOOT.bin

`玩转Zynq连载29——[ex51] 制作裸跑程序的启动文件BOOT.bin 更多资料共享腾讯微云链接:https://share.weiyun.com/5s6bA0s百度网盘链接:https
2019-09-30 14:11:59

玩转STM32_初级

玩转STM32_初级
2013-10-15 00:14:02

玩转STM32—初级、中级、高级、系统

玩转STM32—初级、中级、高级、系统
2016-04-03 09:12:53

第七实验上位机与飞控板连不上

为什么我使用的第七实验上位机与飞控板连不上,急求帮助
2019-04-28 09:56:37

第七期数组操作

第七期了,慢慢开始了解labview的用法了,希望更加深入了解并灵活运用,互勉互励!!!!
2018-09-11 20:05:24

PCB设计规范2010最新版

目录第一PCB布线 第二PCB布局 第三高速PCB 设计 第四电磁兼容性和 PCB设计约束 第五高密度(HD)电路的设计 第六抗干扰部分 第七篇印制电路板的可靠性设计-去耦电容配置第八
2011-04-29 17:50:10

ddr200t开发板第七第八个led如何点亮?

如果点亮第七个led是不是只用改board_ddr200t.h里边的和main。c里边的,还要在哪个.h文件修改吗?我的main函数是对的,就是第七个led不亮不知道哪里出了问题
2023-08-12 06:01:21

《测控电路》习题完整参考答案(第七章)

《测控电路》习题完整参考答案(第七章)
2017-05-07 11:38:20

《通向FPGA之路---玩转Altera》--又一牛人力作,全篇

《通向FPGA之路---玩转Altera》--又一牛人力作,媲美包括基础+时序+验证。基础是讲Quartus的,精彩内容:https://www.elecfans.com/soft/5
2014-12-11 11:41:43

《零死角玩转STM32》初级/中级/高级/系统-480多页 保持更新

` 本帖最后由 eehome 于 2013-1-5 09:59 编辑 《零死角玩转STM32》初级/中级/高级/系统-480多页E币不够的朋友给我发消息,我打包发给你【如何学习STM32-原创
2012-11-20 09:51:38

【BeagleBone Black试用体验】+ 第七篇 ☞Eclipse完成BBB的交叉编译

本帖最后由 iysheng 于 2016-9-26 19:59 编辑 本文主要记录如下在ubuntu下,使用eclipse完成对BBB的交叉编译和远程支持。最开始,安装eclipse:Apt-get install eclipse安装C/C++支持部件。安装TM部件。记下来安装交叉编译工具链:一切前期准备就完成了,接下来是配置环境了。打开eclipse,新建工程。选择:c/c++可执行类的工程:配置编译工具链和头文件、库文件。修改链接参数,为静态链接,否则会出错。配置远程支持:看下效果,可以在eclipse中,进入BBB的终端:接下来就是编程了:先看下静态和动态链接的区别吧:静态链接可以正常运行,动态链接提示No such file or directory。我的程序是根据传入参数的不同完成控制usr3灯(最靠近网口的灯)的亮灭:效果如下:
2016-09-25 13:23:45

【DIY扫地机器人】第七篇----前方路障请避让

本帖最后由 birdinskyd***sy 于 2016-3-27 19:22 编辑 MO7号就这样一步步在路上艰难地前行着,我们不知道还要走几个两万五千里,只知道前行可能有希望,停下就是绝望。继续MO7号的成长之路,MO7号的运动系统有四个传感器,底部有两个红外循迹传感器,左右两边有两个红外避障传感器,其实都是成对儿的红外收发二极管,发出的红外光遇到障碍物会反射回来被接收,引发电平变化,四个传感器引出四根线,传递电平变化,有四个电位器可以调节遇障碍物时,触发电平变化的距离远近。我们利用其中两个壁障用的传感器给MO7号做个条件反射,在即将遇到障碍物时,也就是将要撞墙时,立即停车。童鞋们可以观察下,一般小孩子刚学会走路时对撞墙是没撒概念的,直接往上撞,撞的次数多了,力度大了,疼了,会哭,以后快到墙跟前就会放慢速度不了,再后来跑得快了刹不住了还会用手挡一下缓冲。 在C51XXX型号的单片机里有两个外中断,两个定时器中断,一个串口中断,C52XXXX里多了一个定时器中断,目前我们用了两个定时器中断一个外中断了,这回需要借助第三个定时器中断,T2。中断这东看你怎么理解了,其实我们每天都生活在中断中,在马路上走着的时候,突然手机响了,要拿出手机接电话,正通话时,对面突然直奔你跑来一个小baby,你得躲开它,不然被你撞倒你就惨了,躲开后你接着接电话,说完了挂机,继续走路。有可能你一直在走路,边走边接电话,躲开小baby,那是因为人的中枢神经系统并发处理能力很强大,两条腿儿往前捣腾这样简单的动作直接交给脊髓里几个神经元就解决了,脑子在随时处理突发的意外情况,就像不停地处理多级嵌套中断、并发中断,我们应该感谢造物主给了我们这么强大的神经系统,阿弥陀佛。跑题了又, 我们利用下T2,上代码,先用蜂鸣器测试下,t2是否健在,主程序里使能t2,测试,没问题,一秒响一下,好,接下来再修改下,人的潜意识里,一直都绷着一根弦儿,就是趋利避害,处理好了,就是利人利己双赢效果,处理不好就是损人利己,被骂,要是毫不利己专门利人,那就是活雷锋了。。。。我们也给MO7号绷上一根弦儿,用T2每隔一小会儿检查下,是否要撞墙,最理想的方法是直接连两个外中断,由电平变化触发,可惜我们的单片机外中断就两个,还被占用了,就用T2加查询法吧。每隔一小会儿,看看左右避障传感器是否有遇到障碍的低电平信号,有了就立刻停车,然后再倒一下。改下t2中断代码,我们换一种方式,让t2数1000下检查一次是否遇到障碍物,遇到的话就退一下再走,基本上成功,就是有个bug,t2溢出那一刻,车速会变成全速运行,但不是回回如此,这个不晓得怎么回事。
2016-03-27 19:22:57

【Landzo C1试用体验】+ 第七篇 ☞红外循迹的功能演示

本帖最后由 iysheng 于 2016-6-16 10:28 编辑 隔了这么多天,前几天忙老师的项目,把蓝宙小车冷落了些,,,,今天赶紧补上。仔细看了看给的硬件,循迹的试用还没呢,所以今天就赶紧补上来。首先,用到的红外循迹模块的图片如下(我已经早早的固定到底板上了):然后,就是接线,在传感器的扩展板上有明确的地方用于红外循迹,如下所示:最后,就是我这次演示用到的一个辅助工具,但是我是顺手拈来的(因为就在桌子的旁边、、、)。因为上面刚好有黑色的塑料,我就直接拿来用了。主要的演示视频(通过演示得知红外循迹模块还是挺灵敏的),我已经上传到网上了,还是挺灵敏的,由于场地的限制,我就不演示沿着黑色的轨迹进行行驶的过程了,希望多多包涵。
2016-06-16 10:28:33

【OK210试用体验】【第七篇】嵌入式Linux开发学习笔记【第4课 Linux文件操作函数】

本帖最后由 ICHLIEBEDICH13 于 2015-9-17 16:35 编辑 【OK210试用体验】【第七篇】嵌入式Linux开发学习笔记【第4课Linux文件操作函数】 LINUX下文
2015-09-17 16:35:30

【OK210试用体验】之第七篇:配置ARM平台的MySql数据库驱动插件(下)

本帖最后由 L490351555 于 2015-10-14 18:11 编辑 配置MySQL数据库插件驱动主要分为两步:第一步:按照我上一“【OK210试用体验】之第六:配置ARM平台
2015-10-14 18:10:04

【Rico Board试用体验】第七篇☞Rico board实现4路“DA”输出

因为我要通过4路DA输出,控制两路电机,而Rico Board上又没有直接输出DA的部分,所以我考虑为了节省资金,准备通过4路PWM输出来实现4路DA的输出功能。第一步:先把4路DA正常输出吧,用的hrt高精度时钟,主要为了实现比较平滑的输出,pwm的频率越高,低通滤波后的输出越平滑,这也是我所希望的。硬件上,用了4个GPIO实现4路输出,如下所示:实现的效果如下:我同时测试了两路输出,因为示波器只有两个通道啊。测了三组:测试的硬件连接图:示波器的显示如下所示:今天焊上了滤波电路,也测了三组,终端显示如下:分别表示1650mv,330mv,3267mv。滤波后的输出波形,示波器测试如下:但是把信号加入到电机驱动时,发现电压被拉低或是被太高,准备明天再加一级跟随试一试。下图是我的滤波电路和测试现场图:驱动代码如下:[code]/***************************@file mada.c*@date 2016.11.12*author iysheng**************************/#include #include #include #include #include #include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("iysheng");MODULE_VERSION("0.1");#define MADA_NUM 4#define MADA_NAME "MADA"#define NAME_SIZE 10#define MADA_TIME_SCALE 1000#define VALUE_SIZE 8#define MADA_MAJOR 0static dev_t mada_devnum;static int mada_major = MADA_MAJOR;#defineP_VOLTAGE33#define MADA_VOLTAGE(devp) (P_VOLTAGE*(devp->mada_high)/10)int mada_gpio[MADA_NUM] = {164, 165, 166, 167};struct mada_dev{struct cdev cdev;struct device *device;int mada_gpio;unsigned int mada_high;unsigned int mada_voltage;dev_t devnum;char mada_name[NAME_SIZE];struct hrtimer mada_hrt;bool mada_gpio_value;bool mada_hrt_state;} *mada_devp;struct class *mada_class;/*int MADA_VOLTAGE(struct mada_dev * devp){int voltage;voltage = P_VOLTAGE * devp->mada_high;return voltage;}*/enum hrtimer_restart mada_hrt_callback(struct hrtimer *hrt){struct mada_dev *devp;devp = container_of(hrt, struct mada_dev, mada_hrt);devp->mada_gpio_value = !devp->mada_gpio_value;gpio_set_value(devp->mada_gpio, devp->mada_gpio_value);if(devp->mada_gpio_value == true)hrtimer_forward_now(hrt, ns_to_ktime(devp->mada_high * MADA_TIME_SCALE));elsehrtimer_forward_now(hrt, ns_to_ktime((1000 - devp->mada_high) * MADA_TIME_SCALE));return HRTIMER_RESTART;}int mada_open (struct inode *inode, struct file *filp){struct mada_dev *devp = container_of(inode->i_cdev, struct mada_dev, cdev);filp->private_data = devp;if(devp->mada_hrt_state == false){hrtimer_init(&devp->mada_hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL);devp->mada_hrt.function = mada_hrt_callback;hrtimer_start(&devp->mada_hrt,ns_to_ktime(devp->mada_high),HRTIMER_MODE_REL);devp->mada_hrt_state = true;}printk(KERN_INFO "mada_open func.\n");return 0;}int mada_release (struct inode *inode, struct file *filp){printk(KERN_INFO "mada_release func.\n");return 0;}ssize_t mada_write (struct file *filp, const char __user *buf, size_t count, loff_t *ppos){int ret;char value[VALUE_SIZE];struct mada_dev *devp = filp->private_data;ret = copy_from_user(value, buf, sizeof(buf));if(0 != ret){printk(KERN_INFO "error in writing and errnum is %d.\n", ret);return 0;}elsedevp->mada_high = (unsigned int)simple_strtoul(value, NULL, 10);return sizeof(buf);}ssize_t mada_read (struct file *filp, char __user *buf, size_t count, loff_t *ppos){int ret;struct mada_dev *devp = filp->private_data;char value[VALUE_SIZE];devp->mada_voltage = MADA_VOLTAGE(devp);sprintf(value, "%d", devp->mada_voltage);ret = copy_to_user(buf,value,sizeof(value));if(0 != ret){printk(KERN_INFO "error in reading and errnum is %d.\n", ret);}elseprintk(KERN_INFO "%s mada_voltage is %s.\n",devp->mada_name,value);return ret;}struct file_operations mada_fops = {.open = mada_open,.release = mada_release,.read = mada_read,.write = mada_write,};int mada_setup(struct mada_dev *devp, int min, int gpio_num){int ret = 0;printk(KERN_INFO "mada_setup function.\n");if(!gpio_is_valid(gpio_num)){printk(KERN_INFO "invalid gpio_num:%d.\n", gpio_num);return -1;}else{gpio_request(gpio_num,"sysfs");gpio_direction_output(gpio_num,false);gpio_export(gpio_num,false);}devp->mada_gpio = gpio_num;devp->mada_high = 500;//devp->mada_voltage = MADA_VOLTAGE(devp);devp->mada_hrt_state = false;devp->mada_gpio_value = false;devp->devnum = MKDEV(mada_major, min);sprintf(devp->mada_name, "mada%d", min);cdev_init(&devp->cdev,&mada_fops);ret = cdev_add(&devp->cdev,MKDEV(mada_major, min),1);if(ret){printk(KERN_INFO "add mada%d fail. error is %d", min, ret);memset(devp, 0, sizeof(struct mada_dev));gpio_free(gpio_num);gpio_unexport(gpio_num);return ret;}elsedevp->device = device_create(mada_class,NULL,MKDEV(mada_major, min),NULL,devp->mada_name);return 0;}void mada_del(struct mada_dev *devp){hrtimer_cancel(&devp->mada_hrt);gpio_unexport(devp->mada_gpio);gpio_free(devp->mada_gpio);device_destroy(mada_class,devp->devnum);unregister_chrdev_region(devp->devnum, 1);memset(devp, 0, sizeof(struct mada_dev));kfree(devp);}int __init mada_init(void){int ret = 0, i;printk(KERN_INFO "mada_init begin.\n");mada_devp = kzalloc(MADA_NUM * sizeof(struct mada_dev), GFP_KERNEL);if(IS_ERR(mada_devp)){ret = PTR_ERR(mada_devp);printk(KERN_INFO "vmalloc_fail and err is %d.\n", ret);goto fail;}if(mada_major == 0){ret = alloc_chrdev_region(&mada_devnum,0,MADA_NUM,MADA_NAME);mada_major = MAJOR(mada_devnum);}else{mada_devnum = MKDEV(mada_major, 0);ret = register_chrdev_region(mada_devnum,MADA_NUM,MADA_NAME);}if(ret < 0){printk(KERN_INFO "register_fail and err is %d.\n", ret);goto fail;}mada_class = class_create(THIS_MODULE, MADA_NAME);for(i=0; i
2016-11-15 18:46:15

【STM32飞控制作】第七实验室的姿态模块资料

分享一个第七实验室姿态模块的源码及说明书。感觉他们的代码写的很好,大家有做飞行器可以参考下,学习一下他们的写法。
2015-09-26 16:02:41

【阿波罗STM32F767试用体验】第十四☞结项贴,ucosiii下完成数据测量,以及YYFISH的version 0.1版本

stemwin,但是苦于时间有限,目前没有成功,以后有时间争取补上吧.在移植到ucosiii之前,基于裸机下的演示在帖子第七篇☞裸机下的测控仪开发搞一段落,但路还很长好像那个视频播放有些问题.这次我就再
2017-06-11 18:39:12

介绍i.MX RT1xxx系列MCU的Raw NAND启动

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MX RT1xxx系列MCU的Raw NAND启动。  前面铺垫了七篇启动系列文章,终于该讲具体Boot Device了
2022-02-22 07:20:51

如何玩转STM32-F429系列

如何玩转STM32-F429系列
2021-10-13 06:45:39

如何玩转STM32-F429系列控制器?

如何玩转STM32-F429系列控制器?
2021-11-12 06:06:38

如何使用Zedboard运行reVision堆栈?

/Adam-Taylor-s-MicroZed-Chronicles-Part-180-All-about-the-Xilinx/ba-p/756988但该芯片自带板,Zynq 7020属于Zynq家族。是否可以在电路板上使用它?如果没有,支持reVision的官方(Xilinx / AVNet / ...)主板的最低成本是多少?筹码怎么样?
2019-10-10 06:25:58

如何零死角玩转STM32-F429系列

如何零死角玩转STM32-F429系列
2021-10-13 08:47:02

如何零死角玩转STM32-F429系列

如何零死角玩转STM32-F429系列
2021-10-12 07:43:14

无法获取重复的microZED以太网MAC地址

我昨天才发现我的两块microZED板都有相同的MAC地址(第一次将它们同时插入网络)。通过u-boot代码,我看到MAC地址被烘焙到环境中(在zync_common.h中)。#define
2019-09-16 14:57:55

电工学_第七版_上册电工学第七版下册课后答案

电工学第七版下册课后答案
2022-01-27 13:49:51

电源测量小贴士(六):损耗测试步骤要点

提供了自动计算功能,在电路活动时,可以测量高功率开关上的可重复开关损耗和传导损耗。 在一切就绪后,您可以转向连载的第七篇,其将介绍效率和规范测试。 文章来源:日图科技 微信:Ritu-17微博:日图科技Ritu
2016-09-02 14:39:38

至芯科技之altera 系列FPGA教程 第七篇 新建verilog文件

至芯科技之altera 系列FPGA教程 第七篇 新建verilog文件
2016-08-11 03:22:30

解密蓝牙mesh系列 | 第七篇

mesh系列 第二》)。 图 1 – 蓝牙mesh协议栈 蓝牙mesh网络采用低功耗蓝牙作为其射频通信协议栈。而具体如何使用,则是蓝牙mesh网络协议栈最底层的承载层需要负责的工作。 目前定义了两个承载层
2019-07-25 08:36:13

通向FPGA之路---玩转Altera之验证V1.0

通向FPGA之路---玩转Altera之验证V1.0
2012-08-15 13:08:27

通向FPGA之路---玩转Altera教程

系列教程的宗旨是在力求全面介绍Altera及其QuartusII软件原理的基础上,对何如使用Altera FPGA进行基础设计、时序分析、验证、优化四大方面进行讲解通向FPGA之路---玩转
2012-12-04 14:36:51

零死角玩转STM32+初级+中级+系统分享

零死角玩转STM32+初级+中级+系统
2019-01-16 16:29:06

零死角玩转STM32_初级

想学习STM32的朋友必不可少的资料。共享给大家. 《零死角玩转 STM32》系列教程由初级、中级、高级、系统、 四个部分组成,根据野火 STM32开发板旧版教程升级而来,且经过重新深入
2015-02-12 11:05:33

零死角玩转stm32 (初级,中级,高级,系统)【无提取码】

` 本帖最后由 Linux_ARM 于 2016-5-2 13:57 编辑 [hide]零死角玩转stm32-初级 http://pan.baidu.com/share/link
2016-05-02 13:54:26

零死角玩转stm32_高级

想学习STM32的朋友必不可少的资料。共享给大家. 《零死角玩转 STM32》系列教程由初级、中级、高级、系统、 四个部分组成,根据野火 STM32开发板旧版教程升级而来,且经过重新深入
2015-02-12 11:06:24

飞思卡尔 KL 系列常见问题和解答汇总

KL 系列常见问题和解答汇总KL 系列 FAQ (十)KL 系列 FAQ (九)KL 系列 FAQ (八)KL 系列 FAQ ()KL 系列 FAQ (六)KL 系列 FAQ (五)KL 系列 FAQ (四)KL 系列 FAQ (三)KL 系列 FAQ (二)KL 系列 FAQ (一)
2015-01-22 15:42:37

Adam Taylor玩转Microzed系列第81部分

By Adam Taylor 到目前为止的文章中,我们已经研究了MicroZed开发板上使用以太网的数据传输问题。我们还没有涉及片上外设通信的问题:实时时钟,非易失内存以及独特的传感器。这些通信涉及到I2C或者SPI总线。
2017-01-13 11:07:11748

Adam Taylor玩转MicroZed系列第80部分

Adam Taylor玩转MicroZed系列的前期部分中,我们介绍了IP栈的概念。(见Adam Taylor玩转MicroZed系列第79部分:Zynq SoC以太网第3部分)接下来就是在我们的设计中使用该协议栈了。SDK开发环境允许我们创建BSP的时候包含一个轻量级的IP栈(lwIP)。
2017-01-13 11:17:111033

Adam Taylor玩转MicroZed系列,第79部分

By Adam Taylor 在本系列博客的前两部分中,我们研究了带有Zynq SoC PS(处理器系统)的以太网MAC(介质访问控制层),包括深入探讨了一个MAC使用范例。以太网MAC是一个基础的构建模块,它允许我们实现一个IP栈,然后因此给我们的工程创建联网条件。
2017-01-13 11:24:11669

Adam Taylor玩转MicroZed系列第76部分:关联布局宏的约束

By Adam Taylor 在约束系列的最后,我们讲讲关联布局宏(RPM)的约束。RPM允许你在FPGA的布局中将DSP、FF、LUT和RAMS等资源组合在一起。与PBlocks不同,RPM并不
2017-11-10 14:49:02748

Adam Taylor玩转MicroZed系列73:用其他的Zynq

By Adam Taylor 在过去一周中,我接到了很多不同人的来信,他们正在使用以Zynq为基础的开发工具。他们非常想知道怎么样去把MicroZed系列博客教程应用到他们所选择的硬件平台上。加上
2017-02-08 02:12:49426

Adam Taylor玩转MicroZed系列74:物理约束

研究了相关的时序约束后,在设计中我们也不能忽视所能运用到的物理约束。一个工程师最常用的物理约束是I/O管脚的放置和与每个I/O脚相关的参数定义(标准、驱动能力等)。然而,还有其它类型的物理约束: •放置约束——定义元件位置 •布线约束——定义信号布线 •I/O脚约束——定义I/O脚位置和I/O脚参数 •配置约束——定义配置方法 按照惯例,有一些约束独立于这些组之外。Vivado套件有三个约束,并且主要用于网表: •DONT_TOUCH——用来防止
2017-02-08 02:20:11206

Adam Taylor玩转MicroZed系列,第75部分:放置约束

By Adam Taylor 在先前的博客中我们研究过I/O约束,下一个合乎逻辑的步骤就是研究如何在我们的设计中用FPGA进行放置和布线约束。使用放置约束的原因如下:为了帮助实现时序,或者
2017-02-08 02:22:11238

Adam Taylor玩转MicroZed系列69:关于Zynq的约束简介

通过前面的学习,我们已经对Zynq系列的PL和PS部分已经有了相当多的了解。其中有关约束的部分我们曾经提到过但是没有重点关注。约束可以添加特定的信息到你的设计,并在综合工具和实现工具中可以得到实现
2017-02-08 03:58:43645

Adam Taylor玩转MicroZed系列68:AXI DMA Ⅲ,软件部分

上周的博客中我们完成了硬件的搭建,并且把硬件部分导入到SDK,见Adam Taylor’s MicroZed Chronicles Part 67: AXI DMA II,下一步通过写一个简单的程序
2017-02-08 05:53:11303

Adam Taylor玩转MicroZed系列67:AXI DMA II

上周的博客中我们学习了Zynq SoC的AXI DMA,我解释了怎样利用AXI DMA控制器将数据从PL搬运到PS。在本期博客中我们将学习怎样完成硬件的搭建。 首先我们要更深入的了解一下AXI
2017-02-08 08:10:39286

Adam Taylor玩转MicroZed系列66:AXI DMA

在我最新一期发表的博客中介绍了如何通过Zynq PS(处理器系统)内部的AXI总线接口寻址Zynq SoC的XADC模块以及如何调试与分析你的应用程序。但是我们仍然没有看到Zynq SoC的一个非常
2017-02-08 08:14:11153

Adam Taylor玩转MicroZed系列64:Zynq应用分析

在本系列上一篇博客中,我们学习了解了使用XMD和XSDB来调试我们的应用和系统。然而为了确保我们的应用在性能上是优化的,另一个非常重要的方面就是对应用程序进行详细分析。 分析不同于调试,就分析功能
2017-02-08 09:53:00130

Adam Tayor玩转MicroZed系列65:Zynq 应用分析 II

在此系列博客的前面几期中,我们已经可以运行示例应用并获得用于分析的程序运行数据。运行分析器可以生成一个gmon.out格式的文件,它包含了分析数据。当应用程序运行自然结束或者通过SDK来终止应用程序
2017-02-08 09:56:49180

Adam Taylor玩转MicroZed系列63:调试Zynq应用程序

在上一篇的MicroZed系列博客中,我们学习了两种与XADC进行通信的方法:Zynq SoC 的AXI或者DevC接口。通过在每个驱动程序中输出XADC的基地址,我演示了这两种XADC通信方法
2017-02-08 09:58:42221

Adam Taylor玩转MicroZed系列62:对Zynq XADC问题的回答

本周的博客内容将继续学习Zynq SoC的XADC,上周一名读者提出了一个非常有意思的问题,我觉得有必要探究一下这个关于XADC的问题,也有必要中断一下正在进行的关于PicoBlaze处理器的学习
2017-02-08 10:04:11242

Adam Taylor玩转MicroZed系列61:PicoBlaze第六讲

前面的几篇博客中,我们通过介绍怎样驱动CCD的一些知识了解了PicoBlaze的一些特点,同时也知道了通过Zynq PS(处理器系统)可是实现PicoBlaze的动态可重配置,我觉得在这次博客当中
2017-02-08 11:11:37134

Adam Taylor玩转MicroZed系列60:Zynq与PicoBlaze第五章:控制CCD(一种图像传感器)

作者:Adam Taylor 在上一篇博客中我们已经知道了如何动态更新PicoBlaze的运行程序,现在我们要学习一个完成的设计应用。一个非常相关的应用就是驱动CCD(电荷耦合元件)图像传感器,因为
2017-02-08 12:31:33144

Adam Taylor玩转MicroZed系列54:在Zynq SoC上玩转PetaLinux

正如我上周所讲,Petalinux是Xilinx针对Zynq SoC提供的Linux官方版本。为了攫取该版本最大资源,我们需要创建自己的版本。这就需要我们在Linux环境下进行开发。现在,并不是
2017-02-08 13:58:08164

Adam Taylor玩转MicroZed系列55:在Zynq SoC上运行Linux操作系统

如果在我们的虚拟机上已经安装好了SDK,我们就得使用Linux操作系统来建立我们自己的应用程序。这通常需要对 Zynq SoC的硬件重新进行定义。 首先,我们要做的就是确保将VIVADO设计套件以及
2017-02-08 13:58:11300

Adam Taylor玩转MicroZed系列52:一年15万访问量,奖励大家一个pdf文档

我必须承认这是一篇我从来不希望要写的博客。当我开始写玩转MicroZed时,我还不确定每周一篇写到52篇。达到这样的里程碑并拥有150,000的浏览量,我想回顾过去的一年在Zynq SoC上涵盖
2017-02-08 15:35:37108

Adam Taylor玩转MicroZed系列50:AMP(非对称多进程处理模式)和Zynq SoC的OCM(片上存储器)

作者:Adam Taylor 在上一篇博客中我们了解了Zynq SoC的OCM(片上存储器) ,利用它可以实现在AMP模式下内部处理器内核之间的通信。现在我们将写一些程序代码将这个设备(OCM)利用
2017-02-08 15:38:12606

Adam Taylor玩转MicroZed系列53:聊聊Linux 和 SMP

作者:Adam Taylor 在最近的几篇博客中,我们花了主要精力讲解操作系统和AMP(非对称多进程处理),接下来我们希望看到Linux系统在microzed板上运行。我们目前还没有讨论
2017-02-08 15:42:12529

Adam Taylor玩转MicroZed系列51:中断和AMP

作者:Adam Taylor 上篇博客中我们看到了在ZynqSoC的两块ARM Cortex-A9 MPCore处理器之间共享数据。我提到方法可以改进——使得更加高效——我们可以使用软件中断来进行
2017-02-08 15:47:34222

Adam TaylorMicroZed教程第40章:MicroZed操作系统第二部分

介绍完操作系统后我将会在Zynq SoC上演示,我打算首先在MicroZed上实现的操作系统就是Micrium公司的uC/OSiii。这是一个硬式实时操作系统,可以点击这里下载。 该OS已经用于大量
2017-02-08 18:26:11149

Adam Taylor玩转MicroZed系列42:MicroZed操作系统第4部分

最近的几篇关于MicroZed系列的博客中我们介绍并了解了RTOS(实时操作系统)的概念,既然已经介绍了基本知识,是时候在MicroZed开发板上实现运行我们的第一个操作系统。我们将使
2017-02-08 18:27:06323

Adam Taylor玩转MicroZed系列41:MicroZed操作系统第三部分

作者:Steve Leibson, 赛灵思战略营销与业务规划总监 在我前面的一篇博客(查看Adam Taylor玩转MicroZed系列40:MicroZed操作系统第二部分)中,大家已经见识
2017-02-08 18:27:11202

Adam Taylor玩转MicroZed系列43:使用XADC,Alarms和中断

我本来打算在这篇博客中继续介绍探讨运行于Zynq SoC上的操作系统。然而由于上周有人提问过一些关于Zynq SoC外设XADC,中断和alarms的问题,我认为我们应该快速的了解一下以及我们怎样
2017-02-08 18:30:02312

Adam Taylor玩转MicroZed系列34:使用MicroZed驱动Adafruit RGB NeoPixel LED阵列第5部分

在这期博客前面的几期,我们介绍了驱动Adafruit Neopixels设计实例的解决方案架构。我们使用Vivado方块图设计这个解决方案(具体可以查看Adam Taylor玩转MicroZed系列
2017-02-08 19:05:11281

亚当泰勒玩转MicroZed连载37:用MicroZed驱动Adafruit RGB NeoPixel LED阵列(第8节)

作者:Steve Leibson, 赛灵思战略营销与业务规划总监 By Adam Taylor 我们采用基于ZynqMicroZed板来实现Adafruit NeoPixel驱动器,前后花了
2017-02-08 19:06:11152

Adam Taylor玩转MicroZed系列39:MicroZed操作系统第1部分

到目前为止,我们已经从Zynq/MicroZed系列博客中看到了很多设计的例子,但是这些设计都没有使用到操作系统。裸板系统对于目前我们博客中涉及到的例子已经足够满足设计要求了,但是如果我们想使用更加
2017-02-08 19:09:11111

Adam Taylor玩转MicroZed系列29MicroZed I/O扩展板卡

最近我拿到了一块MicroZed I/O 扩展板卡,这个扩展板补充完善了MicroZed系统化模块(SOM)设计方法,通过分解位于MicroZed开发板背面的两个小型的I/O引脚集管上的I/O引脚
2017-02-08 20:20:29359

关于使用FPGA实现复杂数学函数的计算的分析

作者是Adam Taylor,该文章发表在 第87期XCell期刊 上。Adam经常给XCell期刊投稿,在XCell日报上,他的“MicroZed Chronicles”系列文章已经发表了近30期,最近他成为了e2v科技的系统工程主管。
2019-10-06 17:09:003013

Zynq PS/PL 第七篇Adam Taylor’s MicroZed 系列27

Adam Taylor's博客系列讲解在基于ARM的Zynq SoC芯片可编程逻辑上实现定点数学函数计算。 我们已经在MicroZed 系列的前期博客中学习了在PL(可编程逻辑)内实现定点运算,现在
2017-02-09 02:07:37210

亚当泰勒玩转MicroZed连载32:驱动Adafruit RGB NeoPixel LED阵列

在上一篇博文中,我介绍了让人着迷的Adafruit NeoPixel RGB LED,并且大概描述了NeoPixel驱动设计的基本要点。(参见” 亚当泰勒玩转MicroZed连载31:系统模块驱动
2017-02-09 03:41:03280

Zynq PS / PL 第六篇: Adam Taylor玩转 MicroZed 系列26

Adam Taylor's博客系列讲解基于ARM的Zynq SoC芯片可编程逻辑实现定点算法以提高性能。 这个博客系列每周发布,迄今为止已经发布了6个月,我们在Zynq SoC处理器系统(PS
2017-02-09 07:58:12193

Zynq PS / PL 第四篇:Adam Taylor MicroZed系列之 24

了解Zynq PS / PL接口之后;到目前为止,我们已经分析了Zynq All Programmable SoC芯片中的PS (处理器系统)与PL(可编程逻辑)之间的接口。
2017-02-10 12:00:11957

Zynq PS/ PL第五篇:Adam Taylor MicroZed系列之25

我们先来了解一下上节中介绍的Zynq SoC PS/PL接口,我创建一个很简单的外设,使用的是DSP48E1的DSP逻辑片,依靠这个外设第一个寄存器内的控制字执行乘法,加法或减法。
2017-02-10 12:04:41469

Adam Taylor玩转MicroZed系列之57:Zynq和PicoBlaze第二部分

到现在为止,我们知道如何在基于Zynq SoC的系统中例化PicoBlaze 软核处理器。在这篇博客,我们将继续探索更多关于如何生成PicoBlaze 程序以及如何使用JTAG接口更新程序而不是重新编译整个设计。
2017-02-11 07:01:06926

Adam Taylor玩转MicroZed系列之58:Zynq和PicoBlaze第3部分

Zynq SoC的处理系统提供额外功能让我们可以建立一个更加灵活的Zynq 程序下载系统以适应更多工作。
2017-02-11 07:03:111053

Adam Tayloy玩转MicroZed系列59:Zynq与PicoBlaze第4章

在以前发布的玩转MicroZed系列博客中,我们建立了一个基于Zynq的系统,通过使用双端口RAMS和BRAM(块RAM)控制器将两个PicoBlaze处理器核连接到Zynq的PS部分,现在我们将学习一下怎样实现更新存储在双端口RAM中的PicoBlaze处理器的程序。
2017-02-11 07:05:11943

Adam Taylor玩转MicroZedMicroZed操作系统

如何获得FreeRTOS演示并且在MicroZed上运行。FreeRTOS由Real Time Engineering公司开发,为小容量和极快运行速度的嵌入式系统提供帮助。
2017-02-11 10:03:121513

Adam Taylor玩转MicroZed:FreeRTOS

在上一篇博客中成功地演示了FreeRTOS并在基于ZynqMicroZed板上运行之后,显然我们想要能够编写我们自己的应用程序。因此,我们将首先举一个简单的例子。我们将配置Zynq SoC的XADC并且在串行链路上输出结果。
2017-02-11 10:03:131019

zynq linux AXI DMA传输步骤教程详解

本文主要介绍zynq linux AXI DMA传输步骤教程,具体的跟随小编一起来了解一下。
2018-07-08 05:46:0029549

一文教你如何玩转Zynq平台

经过这几年的市场磨砺,Zynq-7000 FPGA SoC器件平台在开发者中的认知度和接受度越来越高,这种“ARM处理器+可编程逻辑”的创新架构,可以帮助开发者在设计中找到高性能与灵活性的完美平衡,对此大家也心知肚明。 但是在实际的应用中,想要玩转Zynq这种“异构”平台,并非信手拈来这样简单。
2018-06-26 06:40:008504

有哪些小技巧可以改进图像处理开发

Adam Taylor讨论了使用Zynq®和Zynq UltraScale +™SoC开发图像处理应用程序时学到的一些技巧
2018-11-30 06:37:002023

ZYNQDMA与AXI4总线

ZYNQDMA与AXI4总线 为什么在ZYNQDMA和AXI联系这么密切?通过上面的介绍我们知道ZYNQ中基本是以AXI总线完成相关功能的: 图4‑34连接 PS 和 PL 的 AXI 互联
2020-11-02 11:27:513880

STM32CubeMX第七篇之MCU屏

文章目录前言主程序配置模式A配置时序应用前言本文主要讲解自己实现MCU控制程序。本程序具有以下功能:能够输出汉字能够输出ASCII字符串能够输出整数本文使用的HAL库的版本为:STM32Cube_FW_F4_V1.25.0本文使用的STM32CubeMX版本为:6.1.1该工程的下载地址为:keil版本:https://github.com/zhenhaiyang/keilCube版本:https://github.com/zhenhaiyang/STM32CUBE关于MCU
2021-10-28 17:36:058

已全部加载完成