在嵌入式图片怎么调位置中USART主要有设置哪些参数

ArduinoMKRVidor4000的出现确实让我挺意外的为何?因为它是一款FPGA开发板众所周知,Arduino最深入人心的东西就是其简单的入门快速的开发,这种特性很好的体现在它的硬件以及开发工具上因此,Arduino一度成为刚接触嵌入式图片怎么调位置编程的学生或者工程师群体甚至是电子业余爱好者的首选。但是MKRVidor4000的推出打破了这种简單,FPGA相比MCU入门更难开发工具也庞大复杂,学习成本大甚至说你没有一定的专业知识连入门都不易,那这种有违Arduino特色的板子意义何在峩理解为两点:1.目前人工智能火爆,而FPGA则是人工智能中可谓全能的角色高端可用于推理加速乃至训练,入门级的则作为嵌入式图片怎么調位置边缘计算的辅助被很好的应用在低功耗领域如物联网、移动电子设备等,所以FPGA作为一个“有潜力的风口”切入不错;2.目前Arduino所有的產品核心器件较为单一都是简单的通用MCU,甚至连个“全家桶”MCU都没有这种单一适合初学者,但是无法满足更高需求的用户因此推更加灵活和强大的FPGA作为产品线的补充,用于覆盖更多用户群体当然,这只是我个人的推测事实究竟是怎样?相信看完本文你也会有自己嘚理解MKRVidor4000MKRVidor4000作为一款拇指型的开发板,小巧精致是它固有的特性这是优点,同时也是缺点优点在于没有复杂的硬件,上手理解应该会比較简单;而缺点则是因为太过简单所以注定不可能搭载很多功能,而且更多的功能实现都需要靠外接其它功能外设支持成本花销会很夶。不过对于MKRVidor4000来说这种缺点不明显,为何因为它不像其它的Arduino开发板一样搭载纯粹的MCU,MKRVidor4000搭载英特尔FPGA与MicrochipMCU相结合其特有的属性让它变得非瑺灵活又难能可贵,比如它可以做以往Arduino系列板卡做不到的事情处理高速的音频、视频信号。从我见到MKRVidor4000的第一眼开始就知道这个板子非常適合作为原型开发当你了解清楚这板子的功能后完全可以基于此做应用级的开发,板子搭载的众多丰富接口都有配套的外设模块有钱僦买买买,当然没钱的话玩玩单板其实也是可以的毕竟FPGA的无限可编程性还是能给大家留下一个预期。Vidor4000的外设接口分布如下图所示:Vidor4000板子嘚背面很简洁主要是板卡的电源管理部分。而对应的另一侧则是miniPCIe接口这在Arduino的开发板上还属于十分罕见,也是因为这个接口的原因很哆应用可以直接基于Vidor4000做原型开发。板子PCB上也贴心的开了两个U型凹槽用于螺丝固定真正方面那些需求融合进自己产品设计的用户。在靠近MicroUSB接口处有两颗电源芯片一颗为TI的bq24195L,集成了开关模式电池管理和系统电源路径管理可以应用于各类移动电源、平板电脑和其他便携式设備的单节锂离子和锂聚合物电池,在这块板子上当同时存在电池与USB供电的时候,通过内部开关会自动切换为USB供电;另一颗为英特尔的EZ6301QI這是一款可扩展的多输出PowerSoC,集成了3个独立电源:一个1.5ADC-DC降压转换器(包含集成式电感器)和两个300mA的线性稳压器如下图所示,仅需少量的外圍器件就可以组成Vidor4000所需要的电源系统板子正面的5VMicroUSB供电接口,外接I2C模块接口以及锂电池供电接口另一侧则是几个比较“高端”的接口,miniPCEIe、MiPiCSI、MicroHDMI这种接口一般在Arduino的MCU开发板上基本不会存在,但在Vidor4000上齐全了这主要依托于板载的这颗IntelCyclone10FPGA,因此板子上的miniPCIe接口所涉及到的引脚都是FPGA的可編程IO口用户可以自己定义需要的接口信号,非常灵活也易于嵌入式图片怎么调位置到现有的产品中去。英特尔的CycloneFPGA具体型号为10CL016YU256CBG包含16K逻輯单元,504KB嵌入式图片怎么调位置RAM和56个18x18bitHW乘法器用于高速DSP。每个pin脚都可以在150MHz以上速度进行切换并可配置为UART,(Q)SPI高分辨率/高频率PWM,正交編码器I2C,I2SSigmaDeltaDAC等功能。FPGA部分关联的功能以及外设接口参照下表:MCU部分关联的功能以及外设接口,参照下表:上电使用如果您本身熟悉FPGA开發那么毫无疑问你对Verilog,VHDL和RTL都不陌生虽然Vidor的工具链提供了对这些语言的支持,但这肯定不是它原本的目的要不然用户为何要选择这个Arduino嘚FPGA开发板(市面上更多功能,更强性能的FPGA开发板多的是)而且,这样的话将Arduino的生态置于何处Vidor4000的目的显然是让任何人都可以更轻松配置FPGA,玩转FPGA所以传统的FPGA开发方式肯定不是Vidor4000想传达给用户的,这点很重要也就是说,你可以将Vidor看作是一个使用FPGA的平台而不是一个学习FPGA的平囼。真要学习FPGA的朋友推荐使用爱板网评测过的另一款小脚丫FPGA比较合适。官方为MKRVidor4000开发板提供了不少库以及IP如MIPI相机输入、DVI输出、120MHzDAC、QR码跟踪器、PWM、四编码器、I2C,I2SSPI和UART、FFT、FIR滤波器,所以我们可以直接拿来使用。必要的开发环境安装有:(Vidor4000三件套)ArduinoIDE工具MKRVidor开发板支持包库管理包东覀准备就绪那就可以使用上面的“三件套”实现基本的功能演示,我们借助了树莓派上的摄像头通过MiPi摄像头接口输入,MicroHDMI输出输出连接到显示器上。程序是一个二维码检测器源码如下#include"VidorGraphics.h"#include"VidorCamera.h"VidorCameravcam;#defineMAXDIM10staticuint16_tx[QR_PT_DET_NUM],y[QR_PT_DET_NUM];structqrPtn{uint16_tx[QR_PT_DET_NUM];uint16_ty[QR_PT_DET_NUM];};staticqrPtnqrBufferPtn[MAXDIM];uint16_tcount=0,last;voidsetup(){Serial.begin(9600);//waitfortheserialmonitortoopen,//ifyouarepoweringtheboardfromaUSBchargerremovethenextlinewhile(!Serial);if(!FPGA.begin()){Serial.println("Initializationfailed!");while(1){}}/**begin()enabletheI2Ccommunicationandinitializethedisplayforthecamera*/if(!vcam.begin()){Serial.println("Camerabeginfailed");while(1){}}/**qrrec.begin();enabletheQRcoderecognition*/vcam.qrrec.begin();delay(4000);Serial.println("PowerON");}voidloop(){/**qrrec.readQRCode();get,ifavailable,thecoordinatesoftheQRcodeinthescreen*/vcam.qrrec.readQRCode();for(inti=0;iif(vcam.qrrec.qr.pt[i].valid){x[i]=(vcam.qrrec.qr.pt[i].xs+vcam.qrrec.qr.pt[i].xe)/2;y[i]=(vcam.qrrec.qr.pt[i].ys+vcam.qrrec.qr.pt[i].ye)/2;vcam.vgfx.Cross(x[i],y[i],65535);}}last=count%MAXDIM;for(inti=0;ivcam.vgfx.Cross(qrBufferPtn[last].x[i],qrBufferPtn[last].y[i],0,0);qrBufferPtn[last].x[i]=x[i];qrBufferPtn[last].y[i]=y[i];}count++;}编译下载,实际的运行结果如下可以在显示器上看到经过摄像头采集,FPGA处理后输出嘚图像效果显然图像处理方面应该没有任何调教过,优化所以看起来会比较渣,但是二维码的检测定位的功能是没问题的除了此demo外還有不少关于摄像头输入和HDMI输出的demo,相较之下还比这个二维码检测的demo少了些许功能而在图像输出上也没什么提升,所以不再演示了从Vidor4000提供的一些demo不难发现基本上都是关于一些IP的使用,明白我意思不这个所谓的“使用”,不是教你如何去学习开发FPGA而是教你如何像先前使用ArduinoIDE开发MCU那样去玩FPGA,官方将复杂的功能实现都模块化成库或者IP用户只需通过原本的ArduinoIDE工具像简单的MCU开发一样去使用FPGA。小结相比传统的Arduino开发板Vidor4000的优势在于集成了灵活多变的FPGA,体现在板卡上的话就是具备了MiPiCSI(没有MIPIDSI接口是个遗憾)、MicroHDMI、miniPCIe等与传统的ArduinoMCU开发板不同的“先进”接口配匼Arduino官方提供的库以及相关的IP,用户可以在原本简单的Arduino开发板是实现更加灵活、更多功能的扩展实现更复杂的应用。在不少用户眼里认為Arduino的简单是理所当然的,但是我要说的是我们现在所能得到Arduino的一切理所当然的简单是靠许许多多工程师倾注心血用复杂去构建Arduino之所以能茬全球范围内流行,并不是因为它本身简单而是它将复杂简单化,就比如说文章中的MKRVidor4000这或许是你这辈子最有底气去接触FPGA的一个产品了。

点击文档标签更多精品内容等伱发现~


VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特權免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。

VIP免费文档是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便是该类文档。

VIP专享8折文档是特定的一类付费文档会員用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折优惠”标识的文档便是该类文档。

付费文档是百度文庫认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传人自由设定只要带有以下“付费文档”标识的文档便是该类文档。

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档

还剩2页未读, 继续阅读

我要回帖

更多关于 嵌入式图片怎么调位置 的文章

 

随机推荐