![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
fpga_ccd_68013
文章平均质量分 57
小都爱吃小橘子
一个嵌入式工程师,啥都会一点
展开
-
(完结项目)fpga采集双路CCD摄像头1000帧图像上传到上位机显示
话不多说直接上图,示波器采的是原样的数据,而上位机显示的是已经采集好并且解析出来的。整个工作流程是这样的, Fpga通过一定的时序采集CCD的图像,将其暂存在sdram中,在一幅图像前面插入流水号和帧头,上位机通过USB2.0接收板卡上面的数据,并且经过校验流水号和帧头无误后,将图像数据显示出来。暂时由于硬件受限做到1秒采集1000帧(已经达到美国某科研实验室他们仪器的水平),噪声波动比较小,0.5毫伏级别,可通过上位机在线设置采集频率硬件成本只要500多块钱,比某实验室的...原创 2022-04-16 22:08:37 · 2128 阅读 · 8 评论 -
Altium Designer画四层板
概述:简单的来说,四层板就是在双层板的基础上,中间加入了一个PWR层和GND层,在我画板的时候心得就是,布线变得超级简单,没有那么复杂。这是电源层,打几个过孔就可以连接到这电源了这是GND层,通过AGND和DGND分开画四层板,肯定是元器件比较多。1.方便找元器件,工具-交叉选择模式。右键原理图或者pcb,点击垂直分离,然后再点击元器件,就可以快速找到对应的2.加入两个新的层,设计-叠层管理,添加层,4层板分别是TOP GND PWR BOTTOM3.元器件丝印问题,把丝印同原创 2022-03-30 10:32:21 · 9954 阅读 · 1 评论 -
(六)CCD传感器1000帧fpga-68013-usb2.0传输:上位机MFC的c++部分
我是在cypress例程上改的,具体加入了下发数据和解析上传的数据图中圈出来的地方是对应的显示操作的地方以下是按了start后,就这样下发AAAA的数据后跟着frame_number这个从界面输入的数据程序if (n != 0) { USBDevice->Open(DeviceIndex); OutEndpt = USBDevice->EndPoints[m_OutEndptComBox.GetItemData(m_...原创 2022-03-26 19:27:45 · 1204 阅读 · 2 评论 -
(五)CCD传感器1000帧fpga-68013-usb2.0传输:verilog程序部分quartus编译
整个工程中,一共编译了这么些.v文件,相对应的bdf很复杂,但是RTL视图很清晰配置参数: fpga的fifo用了4096 乘 2个,分别用作sdram的输入和输出,sdram=16Mccd的工作点,通过几个参数定义出来parameter PRE_SH = 1;parameter ON_SH = PRE_SH + 6; // SH*400ns=2400ns,1000ns,1500nsparameter AFTER_SH = ON_SH + 1;parameter PR...原创 2022-03-26 18:51:29 · 416 阅读 · 0 评论 -
(四)CCD传感器1000帧fpga-68013-usb2.0传输:实际测试数据
测试数据部分1产生数据:由于fpga采用的是verilog硬件语言,只要ccd那里时序没问题,数据一定是可靠的。当然了,如果硬件上有干扰另当别论,在实际测试时候,由于供电的纹波以及高频振荡,偶尔有干扰信号出现,出现这个干扰,首先使用fpga自我校验,如果校验不成功,则fpga板子上led亮用来提示2传输数据:在测试的时候这里问题出现的是最少的,因为用了usb传输,usb有个机制是传输主动获取,在协议上没啥大问题,这里不具体展开在实际测试的时候,只要usb能连接的上,线不松动,数据就没问题3原创 2022-03-26 09:49:02 · 2421 阅读 · 0 评论 -
(三)usb68013-fpga-ccd采集项目:理论数据分析
在做实验之前应该先计算好理论数据,这是很重要的,可以防止一些低级错误和在出问题的时候能够清晰知道根源usb2.0部分:理论上,USB2.0传输速度最高可达到480Mbps,即60MB/s,如果几台设备共用一个USB通道,主控制芯片会对每台设备可支配的带宽进行分配控制,所以USB2.0实际传输速度不超过30MB/s对于我们数据1000帧来说,一帧为2088(一路ccd有2088个点数据)*2(2路)=4176个16进制数据=8k多个bit,那么1000帧大约一秒8M有人问为什么不采用usb3.0原创 2022-03-26 09:09:14 · 454 阅读 · 0 评论 -
(二)CCD传感器1000帧(可调)采集,fpga主控,sdram存储 68013usb2.0传输到上位机保存显示:fpga逻辑程序
fpga这部分是花了大部分时间调试的,总结出来:比较难调试,调试方式单一概述fpga控制ccd传感器和ad转换芯片,从而获得ccd上所有阵列的电压数据,之后将数据存储在sdram中,然后控制68013芯片向上位机发送存储在sdram中的数据。乍看之下比较简单,一条线的逻辑,但是需求中这样一步一步操作比较浪费时间,就没法做到高效,因此在fpga程序中保证高效就得采用并行。举例来说取第4个ccd数据的时候,第3个ccd数据向ad转换器转换,第2个数据存入sdram,第1个数据从sdram中取出。原创 2022-03-19 19:33:25 · 515 阅读 · 0 评论 -
(一)CCD传感器1000帧(可调)采集,fpga主控,sdram存储 68013usb2.0传输到上位机保存显示:项目介绍
这是一个关于ccd图像采集到上位机的项目,从设计pcb到开发上位机,开发了很久。期间遇到了各种大大小小的坑,特此记录一下。功能说明:自己设置的帧率,通过上位机下发到fpga中,fpga控制ccd采集像素存储到sdram中,按照下发的帧率将sdram中的数据通过68013传输到上位机,上位机解析数据和保存数据开发环境:dell5577笔记本带固态硬盘,quartus13,Visual Studio 2013,cypress软件,ad,keil等开发的软件:fpga固件,68013中原创 2022-03-19 10:18:57 · 1217 阅读 · 3 评论