Abstract

只要使用了VGA、TRDB-LCM或者TRDB-LTM,就會使用SDRAM當作frame buffer,由於SDRAM頻寬有限,若沒妥善分配頻寬,最後影像就會不正確。

Introduction

為什麼需要了解如何計算SDRAM使用頻寬呢?

1.若需自行更改VGA、TRDB-LCM、TRDB-LTM輸出的解析度,則必須更改其clk,所以SDRAM頻寬必須重新分配。

2.若加上TRDB-DC2、TRDB-D5M之後,則SDRAM頻寬更為吃緊,必須小心分配SDRAM頻寬。

3.為了將DE_CCD、DE2_LCM_CCD、DE2_70_D5M_LTM等範例移植到SOPC上,必需先對SDRAM頻寬有概念,轉而設定Avalon Bus Arbitration Rule。

本文分析3個經典範例DE2_CCD、DE2_CCD_detect、DE2_70_D5M_LTM的SDRAM頻寬使用方式,其他範例可舉一反三。

DE2_CCD :這是DE2 + TRDB-DC2 + VGA的組合,TRDB-DC2跑25MHz,VGA跑25MHz,SDRAM為TRDB-DC2與VGA之間的frame buffer,跑100MHz。 由於DE2只有1顆16 bit SDRAM,但RGB各為10 bit,1個pixel已經30 bit,顯然16 bit的SDRAM已經不夠用,所以DE2_CCD使用了Sdram_Control_4Port,將SDRAM模擬成2 read 2 write,這樣相當於一次可寫入32 bit,一次可讀出32 bit,好像是1顆32 bit SDRAM一樣。 不過當SDRAM變成2 read 2 write之後,由於讀寫同時進行,所以100MHz /4 = 25MHz,每個port的有效頻寬剩下25MHz而以,這是讓16 bit SDRAM當32 bit SDRAM的一種trade off。 當TRDB-DC2以25MHz寫入SDRAM時,由於一個pixel是30 bit,所以2個write port都用上了,因此是25MHz * 2 = 50MHz。 當VGA以25MHz讀取SDRAM時,也是以32 bit讀取,所以2個read port都用上了,因此25MHz * 2 = 50MHz。 如此TRDB-DC2的50MHz加上VGA的50MHz,剛好是100MHz,完全瓜分了SDRAM的100MHz頻寬。

由於VGA只有640 x 480,若想提高解析度,必須參考(筆記) D-Sub VGA timing table (SOC) (DE2) (DE2-70)的規格,設定適當的解析度,不過這樣還不夠,由於VGA的時脈提高,而SDRAM頻寬有限,勢必還得降低TRDB-DC2的時脈,如此SDRAM頻寬才夠TRDB-DC2與VGA瓜分。

DE2_CCD_detect: 這是DE2 + TRDB-DC2 + VGA的組合,主要實現real time的motion detection,TRDB-DC2跑25MHz,VGA跑25MHz,SDRAM跑100MHz。 由於motion detection需要2個frame做比對,所以SDRAM需要存2個frame,也就是2個read port可以讀出2的frame資料做比對,因此就不可能如DE2_CCD那樣,使用32 bit來存一個pixel的RGB,只能使用16 bit存1個pixel,因此只用了1個write port。 當TRDB-DC2以25MHz寫入SDRAM時,由於只使用了1個write port,因此25MHz * 1 = 25MHz。 當VGA以25MHz讀取SDRAM時,由於2個read port都用上了,因此25MHz * 2 = 50MHz。 所以25MHz + 50MHz = 75MHz,SDRAM的100MHz只使用了75MHz,頻寬足足有餘。 在(原創) 如何將CMOS影像以RGB16的方式存入SDRAM? (SOC) (DE2-70) (TRDB-D5M) (TRDB-LTM)中,我曾經使用DE2_CCD_detect的技巧,只存了RGB 16bit,主要為了省記憶體與留下1 read port與1 write port另作他用。

DE2_70_D5M_LTM :這是DE2-70 + TRDB-D5M + TRDB-LTM的組合,TRDB-D5M跑25MHz,TRDB-LTM跑33MHz,SDRAM跑166MHz。 由於DE2-70有2顆SDRAM,所以這個範例就不再使用DE2那樣4 port的方式,而是1 read、1 write在第一顆SDRAM,另外的1 read、1 write在另一顆SDRAM。 當TRDB-D5M以25MHz寫入SDRAM時,由於只使用了1個write port,因此25MHz * 1 = 25MHz。 當TRDB-LTM以33MHz讀取SDRAM時,由於只使用了1個read port,因此33MHz * 1 = 33MHz。 所以25MHz + 33MHz = 58MHz,SDRAM的166MHz只使用了58MHz,頻寬足足有餘。

Conclusion 大家幾乎都會拿DE2/DE2-70 CD的範例加以修改,改成自己要的結果,不過很多人忽略了SDRAM頻寬的計算,導致最後結果不正確,DE2因為只有1顆16 bit SDRAM,所以Sdram_Control_4Port來模擬32 bit SDRAM,頻寬的計算比較麻煩;而DE2-70因為有2顆SDRAM,可以直接使用雙通道的方式將16 bit兩倍成32 bit,而頻寬計算的方式也比較單純。 See Also (筆記) D-Sub VGA timing table (SOC) (DE2) (DE2-70) (原創) 如何將CMOS影像以RGB16的方式存入SDRAM? (SOC) (DE2-70) (TRDB-D5M) (TRDB-LTM)

如何計算SDRAM使用頻寬?相关推荐

  1. 計算機術語英文翻譯臺 - 陸對照(侯捷老師整理)

    轉載自侯捷的網站 以下是侯捷個人陸續收集整理的有關於我所涉獵的領域的術語對照(英中繁簡). 歡迎所有朋友給我意見(任何意見).謝謝. 新書寫作,或發表文章時,我會以此表為參考. 本表所列,並不表示我在 ...

  2. 線陣相機處理時間計算方法

    線陣相機圖像處理時間計算,以xx案子為例, 相機使用16K線陣 最大速度300mm/s FOV 300mm 計算方法: 1,            每個像素點大小=FOV/像素數=300/16*100 ...

  3. 计算机实测物理实验报告,計算机实测物理系数实验论文.doc

    計算机实测物理系数实验论文 辽宁石油化工大学 物理实验论文 实验内容计算机实测物理系数实验姓名学院地点薛霞教育实验学院理学院330学号专业.班级指导教师0903040228实验0903许星光实验时间 ...

  4. TP-Link無線路由器(分享器)頻寬控管

    需求: 對十個終端進行頻寬的控管(有線連接),也需要無線的連線 設備: 兩台TP-Link AC750(每台四個LAN端口),一台TP-Link hub 由於資金有限,兩個路由器最多也只有8個接口,如 ...

  5. 寫一個函數計算當參數為 n(n很大) 時的值 1-2+3-4+5-6+7……+n

    看到網路上一篇blog一個問題,引發一群網友的討論. Q:寫一個函數計算當參數為 n(n很大) 時的值 1-2+3-4+5-6+7--+n 這是個常見的級數問題,我們必須化簡成closed form ...

  6. 计算机分类及在信息社会中的应用,計算机在信息社会中的应用.doc

    計算机在信息社会中的应用 PAGE 11武汉市事业单位工人技能鉴定 技师论文课题名称 计算机在信息社会中的应用 学生姓名 工 种 工作单位 指导老师 完 成 时 间: 2013年 月 日目 录TOC ...

  7. matlab 白色像素点,MATLAB 簡單的計算白色輪廓中像素點的個數

    近來,有朋友問到,如何計算白色輪廓中的像素點的個數.我在這里就舉一個超級簡單的例子,就是假設一副二值圖片,其背景是黑色的,而你的邊緣是白色的,而且你的白色邊緣中不包含黑色的點,就如附件中的那個圖像.下 ...

  8. 投資效益計算公式4/10

    一.投資利潤率 按投資原始總額計算的投資利潤率=稅後利潤/原投資總額 二.投資回收期 回收期=投資金額/平均每年現金淨流量 現金淨流量=淨收益+年折舊額 三.淨現值法 淨現值=每年的現金流入量現值之和 ...

  9. 四阶行列式直接展开_【Just For Fun】n 階行列式計算 宏 生成器,四阶行列式的最优展开...

    [Just For Fun] 本系列纯粹娱乐.研究用.一些旁门左道的东西. 事实上可能完全没用. (๑•̀ω•́๑) 重构版本: [Just For Fun]n 階行列式計算 宏 生成器(重构) 要用 ...

最新文章

  1. Flash传值给asp页面
  2. WCF基础 (续 暴露元数据交换节点)
  3. 一次犹豫不决策略选择
  4. ArcGIS实验教程——实验三:矢量数据采集与编辑(矢量化)
  5. Oracle技术之索引与Null值对于Hints及执行计划的影响
  6. Python学习之旅:使用Python实现Linux中的ls命令
  7. 学java编程语言_对于零基础的人而言 该如何学Java编程语言
  8. ad转3d视图快捷键_AD 常用快捷键
  9. 手机中好用的软件有哪些?让我来告诉你吧
  10. ​万字长文阐述前端技术浪潮与应用
  11. 电厂3D可视化_输变电站三维扫描建模
  12. Xilinx XDMA 上位机应用程序控制逻辑
  13. Linux服务情书,Linux定时任务给心爱的小姐姐发情书
  14. 2021-2027全球及中国温湿度传感器行业研究及十四五规划分析报告
  15. js css3挂历撕掉动画特效
  16. 正版Xshell+Xftp免费使用,你还在找破解版吗
  17. 中国电信eSIM即将支持Apple Watch 为何说苹果与运营商关系尴尬?
  18. Spacebuilder可以做什么?
  19. JAVA实现多人聊天
  20. 群晖域名注册_群晖如何绑定自己的域名?

热门文章

  1. Vagrant 管理部署 VirtualBox (推荐使用)
  2. 单元测试(VS CppUnitTest)
  3. 着手一个手游项目的思考
  4. vue-cli打包构建时常见的报错解决方案
  5. IE8的项目在IE11下 一些功能无法实现的解决方案
  6. Tensorflow学习笔记6:解决tensorflow训练过程中GPU未调用问题
  7. Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)
  8. MySQL遇到Deadlock found when trying to get lock,解决方案
  9. Nginx PHP 报504 Gateway time-out错误的解决方法
  10. Java异常ClassCastException