抛砖引玉,俺自己弄的板子,CYCLONE III+SDRAM+SRAM+PHY,可以ping通【恢复】
前后开了3次板买元器件总共花了千把元,终于把它弄好了,磕磕绊绊的一度想放弃。找了很多地方都没有完整的资料,只好找英文资料一点点的啃。开始选的是DM9161A,但第2次开板换成了dp83848c。
直到前天才发现,nios目录下就有份资料。照葫芦画瓢, 终于ping通了。以前还以为是板子设计有问题。TNND
板子上有这些芯片ep3c25,mt48lc16m16,61lv25616,dp83848c,epcs16,at26df161
fpga缺了2个引脚,焊接的时候不小心弄弯了,掰回来就掉了。
配置芯片epcs和spi flash尚未测试。断掉的两个引脚中有一个是pll4的电源,另一个是spiflash的cs引脚,幸好其他引脚没有问题。
网络部分可以ping通,但尚未进一步测试(有新任务,没时间搞这个了)。用的是nios移植好的NicheStack TCP/IP。
不要问我什么问题,我也是半瓶水。你不懂的我也不懂。
我也是初学者,里面有个自己写的verilog程序,千万别笑话我,我就这么点水平。。
对大虾来说我弄的东西太简单看不上眼,不过对小弟来说,不容易呀!
砖抛出来了,有玉的尽管砸过来。
背面的照片,电源芯片加了个散热片,后来测试发现功耗很低,没有必要加它
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_557103.jpg
(原文件名:beimian.jpg)
正面的照片,可以看到断了的引脚,我原本为fpga也配了个散热片,但用了之后发觉温度比cyclone2低了不少
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_557104.jpg
(原文件名:zhengmian.jpg)
ping测试
http://cache.amobbs.com/bbs_upload782111/files_11/ourdev_557183.jpg
(原文件名:ping.jpg)
电路图,pdf格式。画的很乱,凑合看吧。
ourdev_557105.pdf(文件大小:68K) (原文件名:ep3c25board.pdf)
调试过的项目包,文件也很乱,修改了多次。我用的pojie似乎有点问题,tse mac只能在调试状态下运行
ourdev_557163.rar(文件大小:2.23M) (原文件名:EP3C25NET.rar)
本贴被 windowsce 编辑过,最后修改时间:2008-12-24,12:21:13. 相当不错.
layout也是自己搞的? sdr的布板比较简单,手工布出来就好了。ddr就不行咯~没那个水平~ 哈哈。有人给我说过NIOS下又资料。但我没有找到。在哪里呀?在传一份了。最好是ep1cX 我安装的是quartus 8.0 sp1在c盘
C:\altera\80\nios2eds\examples\verilog\niosII_cycloneII_2c35\TSE_SGDMA
我参照这个做的。 一个牛人准备诞生啊!恭喜恭喜 -_-!
所有都是别人做好的,我不过就是拿来用而已
我的水平距离入门还差得远 呵呵我也是刚刚学的现在才学PIO的函数和LCD的函数!大家努力吧 强的,不过我觉得用phy芯片没有直接用自带mac的芯片好用 我用的是SOPC带的Tri-Speed Ethernet核。
NIOS把一切都准备好了,很容易就可以使用。
之前我绕了弯路,回头来看,这个太简单了,只要布线没错,就没有其他技术问题。 楼主有初生牛犊不怕虎的精神,赞一个 在网上找到了一篇NIOS驱动SRAM的文章,原来只加个三态桥就可以了。。。 楼主mt48lc16m16 你买的后缀是什么啊?多少一片啊? taobao上买的,后缀a2p,一片23 MT48LC16M16A2P-75IT?
本贴被 lanyuye 编辑过,最后修改时间:2008-12-29,21:58:17. 0828
-75 D 你的哪个TAOBAO地址给我下,谢谢 那个淘宝ID是 电子元件大全
北京中发的经销商,我这个板子,所有IC都是从他那里买的 好的,我找下看 人很强.
不过如果加个W5100上去很简单的,芯片内就集成了TCP/IP,以太网的MAC和PHY,直接连接就可以了 楼主位-强人:你的扳子做好了,我是深圳一家专门生产电子产品的,你这个开发的是做那方面产品的,如果可以我们可以谈谈吗?我的QQ:1064953939 我们长期采购成熟产品技术方案,欢迎大家联系我! 楼主,你的TSE的驱动是怎么写的啊?
难道直接写上层的ip层? 还有你的TSE现在破解了吗? 楼主怎么联系 我想一起研究这个板子!!
laoniu85@foxmail.com 我找到NIOS下面的例子了
verilog\niosII_cycloneII_2c35\TSE_SGDMA
不过编译一堆错误 改了半天 现在有个 DDR的 package错误不晓得咋改~~ bucuo
赞lz一个! 不错,值得学习 不错,楼主花了不少心思 你好,我用CYCLONE III+SRAM+PHY做了一块板子。上电后不一会DP83848C就很烫,网络变压器的两个灯也是亮的?
请问你的DP83848C后缀是什么? 好东西。。。我也打算做飓风3的。。EP3C40的板子。。 DP83848VV 前几天又试了试
NICHESTACK还是不错的东东
使用起来也不错,它实现的是UNIX socket,和LINUX下面的socket编程没啥两样
altera已经移植好了NICHESTACK,只要配置正确,写程序就能用。 24楼的朋友:
【24楼】 laoniu85
积分:68
派别:
等级:------
来自:
我找到NIOS下面的例子了
verilog\niosII_cycloneII_2c35\TSE_SGDMA
不过编译一堆错误 改了半天 现在有个 DDR的 package错误不晓得咋改~~
我也把那个TSE_SGDMA 编译的一下 用的是VHDL版本的,在C:\altera\81\nios2eds\examples\vhdl\niosII_cycloneII_2c35\TSE_SGDMA下;
编译有4个错误,我复制过来你看看;
Error (10481): VHDL Use Clause error at ddr_sdram_0_auk_ddr_sdram.vhd(27): design library "work" does not contain primary unit "auk_ddr_functions"
Error (10800): VHDL error at ddr_sdram_0_auk_ddr_sdram.vhd(27): selected name in use clause is not an expanded name
Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 42 warnings
Error: Peak virtual memory: 233 megabytes
Error: Processing ended: Mon Aug 17 22:09:05 2009
Error: Elapsed time: 00:00:14
Error: Total CPU time (on all processors): 00:00:12
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 42 warnings
,应该就是work库下缺少auk_ddr_functions.vhd 文件,在quatus里面搜索了一下,发现C:\altera\81\ip\altera\ddr_ddr2_sdram\lib下有auk_ddr_functions.vhd ,有在altera网上找了下关于auk_ddr_functions的,把PDF里面的东西复制进来你看看,原文PDF链接:http://www.altera.com/literature/es/es_rldram_ii_71.pdf,下面这段是我复制的
Multiple Instances of the auk_ddr_functions.vhd File
When a project contains multiple memory MegaCore functions, the
Quartus® II project has multiple instances of the auk_ddr_functions.vhd
file (one per MegaCore function).
Affected Configurations
This issue affects all configurations.
Design Impact
The Quartus II project fails during compilation.
Workaround
Remove the auk_ddr_functions.vhd file associated with the RLDRAM II
controller from the list of files added to the Quartus II project, by choosing
Add/Remove Files from Project (Project menu). Keep only the
auk_ddr_functions.vhd file associated with the DDR or DDR2 SDRAM
controller.
Solution Status
This issue will be fixed in a future version of the RLDRAM II controller.
好像是说当有多个大容量存储器时候,把其他DDR或DDR2控制器移除掉,只保留auk_ddr_functions.vhd 文件作控制器,通过工程下的 添加/删除 来操作;
我也不会,郁闷啊 我想问下,你的sram IP核是自己写的把,我在sopc中添加时提示singnal unknown type export。我也用的IS61WV51216这款sram,怎么练到nios中,需要三态桥吗?从网上下了个sram ip核,添加是成功,但应用程序无法加载上去跑,要注意什么吗? TO:楼主
可以给上传一下你的BOM表吗?想复制一个,自己研究用。对了那个spi flash干什么用的?是不是可以不用? DDR的核没用过。。。
俺那个除了一个成品之外,没有什么BOM表。 DP83848,在官方网站上有个原理图,我就照着那个做的。
电源部分是用在线设计工具生成的,那个工具会给出具体的电阻电容规格。
spiflash没有什么作用
也没什么复杂的东西,都是网上有现成资料的~ 好的,谢谢楼主的及时回复。我去官网看看 其实我一直想弄个有网络和TFT-LCD接口(最起码要能玩7寸屏的)的新板子~不过一直停留在计划中…… 不错,赞一个。 38楼的要是做出来了,卖一块我玩玩啊,最好有摄像头接口的。 顶一下,看你的FPGA很强的,踩一脚做个记号 以前一个项目用过EP2C8,SDRAM+FLASH+CAN+SDCARD+RTC,NIOS II玩玩还可以,用来做项目就不太合适了,还不够成熟。
现在打算用LM3S来代替,成本和开发难度都大大降低 请教楼主,关于SDRAM部分布线的注意事项。
我做了一块EP2C8的板子经常出现操作SDRAM时校验失败的问题,起初以为是时钟相位的问题,但怎么调都是老样子。
SDRAM部分布线是否要求等长?SDRAM的时钟是否必须从PLLOUT管脚驱动? 不一定非要走pll管脚,但如果条件允许是最好的选择。
以下都是我的经验,仅供参考
跑100M的话,不用严格等长。
我一般把DQ/DQM引脚成组连到FPGA的同一个IO BANK,并且芯片离FPGA近一点。组内的长度差我控制在400mil以内,尽量不走过孔。
地址管脚我一般走的比较远,长度差一般在1000mil。我最近画的几块板子,都在地址管脚的FPGA端加了22R的电阻。
我1月份画的一块板子,2片SDRAM(MT48LC16M16),用NIOS的SDRAM控制器跑100M连续运行3天未出问题。跑120M(24M倍频5倍)测试4小时没出问题。
http://cache.amobbs.com/bbs_upload782111/files_26/ourdev_533495.png
(原文件名:2010-2-11 1-28-51.png)
所有引线的长度清单。
SDR_A0 Signal Layers Only 3230.817mil
SDR_A1 Signal Layers Only 3216.705mil
SDR_A10 Signal Layers Only 3329.836mil
SDR_A11 Signal Layers Only 3692.200mil
SDR_A12 Signal Layers Only 3610.966mil
SDR_A2 Signal Layers Only 3176.857mil
SDR_A3 Signal Layers Only 3184.119mil
SDR_A4 Signal Layers Only 3703.180mil
SDR_A5 Signal Layers Only 3808.081mil
SDR_A6 Signal Layers Only 3757.488mil
SDR_A7 Signal Layers Only 3692.561mil
SDR_A8 Signal Layers Only 3628.049mil
SDR_A9 Signal Layers Only 3719.031mil
SDR_BA0 Signal Layers Only 3357.646mil
SDR_BA1 Signal Layers Only 3343.948mil
SDR_CAS Signal Layers Only 3484.889mil
SDR_CKE Signal Layers Only 2493.563mil
SDR_CLK Signal Layers Only 2365.668mil
SDR_CS Signal Layers Only 3371.758mil
SDR_DQ0 Signal Layers Only 367.319mil
SDR_DQ1 Signal Layers Only 439.536mil
SDR_DQ10 Signal Layers Only 762.467mil
SDR_DQ11 Signal Layers Only 697.005mil
SDR_DQ12 Signal Layers Only 633.057mil
SDR_DQ13 Signal Layers Only 552.686mil
SDR_DQ14 Signal Layers Only 508.424mil
SDR_DQ15 Signal Layers Only 428.053mil
SDR_DQ16 Signal Layers Only 428.053mil
SDR_DQ17 Signal Layers Only 508.424mil
SDR_DQ18 Signal Layers Only 552.686mil
SDR_DQ19 Signal Layers Only 633.057mil
SDR_DQ2 Signal Layers Only 483.799mil
SDR_DQ20 Signal Layers Only 688.851mil
SDR_DQ21 Signal Layers Only 740.394mil
SDR_DQ22 Signal Layers Only 787.044mil
SDR_DQ23 Signal Layers Only 855.884mil
SDR_DQ24 Signal Layers Only 828.345mil
SDR_DQ25 Signal Layers Only 747.974mil
SDR_DQ26 Signal Layers Only 692.180mil
SDR_DQ27 Signal Layers Only 611.809mil
SDR_DQ28 Signal Layers Only 592.008mil
SDR_DQ29 Signal Layers Only 491.952mil
SDR_DQ3 Signal Layers Only 575.701mil
SDR_DQ30 Signal Layers Only 447.690mil
SDR_DQ31 Signal Layers Only 367.319mil
SDR_DQ4 Signal Layers Only 619.963mil
SDR_DQ5 Signal Layers Only 700.334mil
SDR_DQ6 Signal Layers Only 736.442mil
SDR_DQ7 Signal Layers Only 824.967mil
SDR_DQ8 Signal Layers Only 858.272mil
SDR_DQ9 Signal Layers Only 806.729mil
SDR_DQM0 Signal Layers Only 876.51mil
SDR_DQM1 Signal Layers Only 945.923mil
SDR_DQM2 Signal Layers Only 923.734mil
SDR_DQM3 Signal Layers Only 909.241mil
SDR_RAS Signal Layers Only 3470.777mil
SDR_WE Signal Layers Only 3482.279mil
以上仅供参考!!! MARK 回复【楼主位】windowsce
-----------------------------------------------------------------------
mark mark mark 回复【楼主位】windowsce
-----------------------------------------------------------------------
niu mark mark To:windowsce
我一直关注楼主的作品,觉得很好,于是自费仿照楼主的原理图做了一套,现在已经焊接上了,可是当楼主的工程打开编译的时候出现了警告
Warning: OpenCore Plus Hardware Evaluation feature is turned on for the following cores
Warning: ""Triple Speed Ethernet" (6AF7_00BD)" will use the OpenCore Plus Hardware Evaluation feature
Warning: Messages from megafunction that supports OpenCore Plus feature
Warning: Messages from megafunction that supports OpenCore Plus feature TSE_MAC
Warning: The Triple Speed Ethernet MegaCore MAC function will be disabled after time-out is reached
Warning: Megafunction that supports OpenCore Plus feature will stop functioning in 1 hour after device is programmed
只能用1个小时呀,而且jtag电缆还不能拔掉,求楼主帮忙,我的邮箱:liming_nefu@126.com,谢谢! 解决了那个OpenCore Plus feature will stop functioning in 1 hour after device is programmed
复制一个features就可以了 最早我偶然找到过tse-mac的破解,但实在不知道搁哪里了。网上也找不到了…… doushi gaoshao,xuexi 呵呵Mark了! mark 我又来了,
我复制的板子有一个奇怪的问题,当nios系统建成以后,用我自己写的测试代码就能共成功运行,使用楼主的工程就会出现 processor not responsed!,不知是什么原因。我用的版本是9.1
怪怪的,
我仿照楼主的工程自己也弄了一个带有tse ip的 .sopc,可惜出现的结果不对
Copyright 1996-2008 by InterNiche Technologies. All rights reserved.
prep_tse_mac 0
prepped 1 interface, initializing...
INFO : TSE MAC 0 found at address 0x04012000
INFO : PHY National DP83848C found at PHY address 0x01 of MAC Group
INFO : PHY - Automatically mapped to tse_mac_device
INFO : PHY - Restart Auto-Negotiation, checking PHY link...
INFO : PHY - Auto-Negotiation PASSED
INFO : PHY - Restart Auto-Negotiation, checking PHY link...
INFO : PHY - Auto-Negotiation PASSED
INFO : PHY - Checking link...
INFO : PHY - Link established
INFO : PHY - Speed = 100, Duplex = Full
OK, x=0, CMD_CONFIG=0x01000000
MAC post-initialization: CMD_CONFIG=0x05000203
RX descriptor chain desc (1 depth) created
mctest init called
IP address of et1 : 0.7.7.6
Created "Inet main" task (Prio: 2)
Created "clock tick" task (Prio: 3)
DHCP timed out, going back to default IP address(es)
Simple Socket Server starting up
看ip address of...一行,而实际上我的ip设置如下
#define IPADDR0 9
#define IPADDR1 8
#define IPADDR2 7
#define IPADDR3 6
#define GWADDR0 5
#define GWADDR1 4
#define GWADDR2 3
#define GWADDR3 2
#define MSKADDR0255
#define MSKADDR1255
#define MSKADDR2255
#define MSKADDR30
麻烦楼主看看什么原因! nios ii 工程中 怎么看不到lwip的源代码呢? 各位,经过几天的摸索,初步认为是9.1EDS的软件Bug。如果楼主的代码好用的话,我的也应该能用,因为我没有修改任何代码!
原因2:我把nios 提供的例子中的 代码在新版的nios IDE中编译了一下,成功运行,下面是运行结果
InterNiche Portable TCP/IP, v3.1
Copyright 1996-2008 by InterNiche Technologies. All rights reserved.
prep_tse_mac 0
Could not locate flash sector with MAC address.
prepped 1 interface, initializing...
INFO : TSE MAC 0 found at address 0x04806000
INFO : PHY National DP83848C found at PHY address 0x01 of MAC Group
INFO : PHY - Automatically mapped to tse_mac_device
INFO : PHY - Restart Auto-Negotiation, checking PHY link...
WARNING : PHY - Auto-Negotiation FAILED
INFO : PHY - Restart Auto-Negotiation, checking PHY link...
INFO : PHY - Auto-Negotiation PASSED
INFO : PHY - Checking link...
INFO : PHY - Link established
INFO : PHY - Speed = 100, Duplex = Full
OK, x=0, CMD_CONFIG=0x01000000
MAC post-initialization: CMD_CONFIG=0x05000203
RX descriptor chain desc (1 depth) created
mctest init called
IP address of et1 : 192.168.1.234
Created "Inet main" task (Prio: 2)
Created "clock tick" task (Prio: 3)
Acquired IP address via DHCP client for interface: et1
IP address : 192.168.2.157
Subnet Mask: 255.255.255.0
Gateway : 192.168.2.1
Simple Socket Server starting up
Simple Socket Server listening on port 30
Created "simple socket server" task (Prio: 4) 回复【60楼】ljt8015
-----------------------------------------------------------------------
新版的niosIDE中已经不再使用LWIP了
顺便说一下,我在61楼说9.1有bug,可能是我是不对的。因为我在工程中添加了ext_flash ip后(我的板子上没有外扩flash),工程又可以成功编译了 回复【53楼】liming_nefu
解决了那个OpenCore Plus feature will stop functioning in 1 hour after device is programmed
复制一个features就可以了
-----------------------------------------------------------------------
请教具体是如何解决,万分感谢~~!
俺也遇到了相同的问题~! 回复【楼主位】windowsce
-----------------------------------------------------------------------
不好意思,我刚来不太懂这样的问题应不应该问:板子上的那些阻容值应该怎么选择呢?有没有什么参考的资料? dddddd 好的,谢谢分享 板子画的非常漂亮,不过我还处在研究资料阶段,MARK先 LZ的网卡是腾达的,我的也是啊,呵呵 谢谢分享 MARK 回复【45楼】flyingcys 我心飞翔
mark
-----------------------------------------------------------------------
你用啥软件画的pcb 那些长度信息啥咋出来的。渴望得到答复啊。 MARK 请问nichestack 有时间限制吗? 非常感谢,正是我需要的,可我的不是SDRAM,而是DDR2 mark 回复【44楼】windowsce
不一定非要走pll管脚,但如果条件允许是最好的选择。
以下都是我的经验,仅供参考
跑100m的话,不用严格等长。
我一般把dq/dqm引脚成组连到fpga的同一个io bank,并且芯片离fpga近一点。组内的长度差我控制在400mil以内,尽量不走过孔。
地址管脚我一般走的比较远,长度差一般在1000mil。我最近画的几块板子,都在地址管脚的fpga端加了22r的电阻。
我1月份画的一块板子,2片sdram(mt48lc16m16),用nios的sdram控制器跑100m连续运行3天未出问题。跑120m(24m倍频5倍)测试4小时没出问题。
(原文件名:2010-2-11 1-28-51.png)
<center><a class=tt16 onclick="fnquickima......
-----------------------------------------------------------------------
请教楼主:
1、dq/dqm信号线如果连接在fpga不同的io bank中会出现什么问题?我对这个没概念,我做了个fpga的核心板,sdram和pfga相连的端口都是随便分配的,在我写的verilog程序中也没有体现,因此我对这个概念不是很清楚,希望得到楼主的解答;
2、您在地址管脚的fpga端加了22r的电阻,不知您有没有看过波形,以及这个匹配电阻选择的方法是什么。我不清楚SDRAM和FPGA端口特征阻抗是多少?另外数据端口需要做阻抗匹配吗? 关心一下,楼主的板子千兆网 能进行透明传输,速度到多少?如果产品稳定,可以考虑购买你的东西! mark 网口phy用的哪个公司的 回复【53楼】liming_nefu
解决了那个opencore plus feature will stop functioning in 1 hour after device is programmed
复制一个features就可以了
-----------------------------------------------------------------------
麻烦你能不能说的详细一点 我也遇到同样的问题了 谢谢 nios ii 学起来性价比不高 不如学or1200 ,论坛里有个帖子讲得详细 楼主这块板子 ,AS绝对会有问题! 学习, mark,學習!! 牛人啊 回复【楼主位】windowsce
-----------------------------------------------------------------------
lz很不错,学习中 请教sdram数据存储2M有10个左右异常,是什么原因《《《???找了很久原因还是不知如何是好,请教大侠,我邮箱2441701360qq.com,谢谢 FPGA的焊接有点恶心了 mark不错啊 您好,我用的sdram是突发写模式,突发长度256,存储后读出的数据发现2M数据个别数据异常,在16位数据的某一位跳变,请问这是时序问题??急待楼主指教一二,不胜感激~!!qq2441701360 回复【楼主位】windowsce
-----------------------------------------------------------------------
恭喜牛人 回复【59楼】liming_nefu
-----------------------------------------------------------------------
你好,我遇到了类似的问题,就是PHY无法识别的问题。提示信息,跟59楼说的一样。请问各位大侠,这是什么原因呢?跟没用Flash有关系么? 果断mark!!目前正在做这个,学习学习,谢谢楼主 顶起 mark! mark mark mark,有空再看 mark 要努力,大家都很猛。
页:
[1]
2