×

使用FPGA设计CCD驱动传输电路的资料说明

消耗积分:0 | 格式:rar | 大小:14.38 MB | 2019-11-26

分享资料个

  电荷耦合器件CCD是一种图像传感器,作为CCD工业相机的核心部件,被广泛应用于非接触测量。许多的光学实验都需要使用到CCD工业相机,结合实际应用,我们提出了两个问题,分别是能否使用普通CCD芯片设计出高帧频的成像系统,以及能否实现两个CCD相机的同步采集。CCD工业相机的关键技术在于CCD驱动传输电路的设计,为了在实践中解决这两个问题,本文对CCD芯片的驱动脉冲和时序关系进行了详细的分析,设计出了基于FPGA的CCD驱动传输电路。

  驱动CCD芯片的方法有很多,主要可以通过数字电路、单片机、专用IC、DSP、可编程逻辑器件对其进行驱动。采用数字电路驱动,调试难度大,不适合应用于大面阵CCD。单片机虽然灵活性好,但驱动频率较低,不能满足本设计中驱动频率较高的CCD芯片的需求。专用IC芯片虽然集成度高、调试方便,但灵活性不好,也不利于后端传输电路的设计。DSP主要偏重于大量的数字信号处理,成本高,而本设计则偏重于逻辑时序设计,数字信号处理不多。虽然可编程逻辑器件开发难度大,但可以在线编程,程序易于修改,系统集成度高,驱动频率高,是最符合本设计需求的。可编程逻辑器件主要有CPLD和FPGA,CPLD更适合完成各种算法和组合逻辑,FPGA更适合完成时序逻辑。而且相比于CPLD,FPGA的规模更大,功能也更强,在数据转移和存储方面更有优势,有利于后端的数据采集及传输,为以后系统的升级提供了更有利的空间。因此,本设计采用FPGA作为整个系统的控制中心。由于Altera公司的CycloneⅡ系列芯片主要应用于逻辑设计和简单的数字信号处理,是一类中性能、低成本的芯片,并从本设计中所需I/O口数量和逻辑单元数量来考虑,最终选择该系列的EP2C8Q208C8芯片。

  本文以解决上述两个问题为前提,用FPGA作为控制中心,设计出了面阵CCD驱动传输电路,包括前端的CCD驱动电路和后端的数据采集、存储和传输电路,后端由A/D转换模块、SDRAM缓存模块和USB接口模块组成。本文的CCD芯片采用的是SONY公司的面阵黑白CCD图像传感器ICX205AL,A/D转换芯片采用的是美国ADI公司的面向CCD的低功耗单通道模拟信号处理器AD9824,SDRAM芯片采用的是Hynix公司的容量为128Mbit的存储器HY57V281620ETP-H,USB接口芯片采用的是Cypress公司的支持USB2.0协议的芯片CY7C68013A。在QuartusⅡ开发平台上,使用Verilog硬件描述语言对各时序电路进行硬件描述。本文主要完成了前端CCD驱动时序电路的设计,完成了后端A/D转换电路的时序设计、缓存器SDRAM的读写时序设计、USB与FPGA通信的时序设计以及USB的固件程序设计,并完成了整个系统的PCB设计。仿真和实际测试结果表明,所有的时序信号均满足设计要求。

  经过研究发现,可以通过超频技术来提高帧转移频率,从而提升成像系统的速度;以及可以通过改变CCD的驱动时序来提高系统的成像速度。但是,对于可超频的范围还需要进一步通过实际测试才能获知。如何实现两个CCD相机的同步采集还需要作进一步的研究。

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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'使用FPGA设计CCD驱动传输电路的资料说明',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);