9186|12

5979

帖子

8

TA的资源

版主

楼主
 

Altera SoC活动的一些建议 [复制链接]

 
Altera SoC活动已经开展了2个多月的时间,大伙在这段时间内一定学习的很辛苦,SoC本身就是个全新的架构,涉及的知识范围很广,很多人要不只熟悉FPGA,或者熟悉ARM,更有甚者两者都要重头学起,难上加难。

我也遇到了同样的问题,进展也是举步维艰,上周感冒,很多事情都耽搁了,闲暇的时候认真的思考了一下Altera SoC应该怎么去学习和使用,我总结了以下几个方面,这样我们都可以在本次活动中有所成长,有所进步!
     
1、  硬件方面:
  • 可以认真研究一下Altera SoC的可靠性设计,比如热启动或者冷复位,存储器保护等,当然所有的可靠性设计都需要靠实践来检验,但也不妨碍我们先从理论上去研究和分析,知己知彼,方能百战不败;
  • FPGA 和 ARM之间的数据交互,这对硬件设计人员来说绝对是个福音,数据都从内部走了,传统的设计里面arm和fpga如果通过总线通信,要连几十根数据线和地址线,有的对布线还有比较高的要求,比如阻抗匹配等
  • 电源设计,电源设计是否方便,功耗的估算,是否需要特殊处理等
  • 外围接口设计,比如网口、串口、pci-e等;我们可以单纯的作为ARM或FPGA独立设计,同时也可以相互合作,比如FPGA可以直接访问HPS的外设,这样也增加了系统设计的灵活性;
  • 系统的配置模式,多种的启动模式,可以适合不同的应用场合,增加了系统配置的灵活性
2、  软件方面:
软件方面设计的内容就更加的五花八门,种类繁多了
  • 可以分析和编写linux相关的驱动,比如LED,按键,CAN,网络等等,当然其它的操作系统也是可以选择的
  • 可以基于OPENCL做一些测试,这个已经有坛友在做了,而且做的不错
  • 可以测试一下ARM和FPGA之间的数据交互,理论上他们之间的通信速率加起来好像能到5Gbps,
  • 可以体验一下FPGA控制HPS的外设,比如串口,SPI,can等
  • 可以做一些移植工作,比如一些开源的软件啊,ser2net,samba,ftp等等,
  • 可以记录以下Altera相关软件的使用方法,以及使用过程中存在的问题或不足,或者带来了哪些便捷性
3、  系统设计:
每个应用的场景的有所不同,大家可以集思广益,各抒己见,我一开始计划是单纯做一些测试和性能评估的,后来我又想做一个《基于web的数据采集系统》,我以这个来谈谈我想做的事情,以及准备怎么做,同时还存在哪些问题吧。

我想做的事情:
     1)通过FPGA控制ADC采集数据;
           2)通过内部总线完成FPGA和ARM之间的数据交互;
           3)通过web把采集到的数据展示出来,可以远程访问;

我准备怎么做:
1)硬件系统,我的是embest的soc板卡,自带了高速ADC
2)Web服务器,选择的是lighttpd
3)图形显示我选用的是jscharts,JScharts是一个用于在浏览器直接绘制图表的JavaScript工具包

我已完成哪些工作:
1、  FPGA控制ADC进行数据采集
2、  lighttpd服务器的移植与配置,已经可以访问网页了
3、  jscharts显示折现图,已经完成
存在的问题和难点
1、  如何把fpga的数据传递到arm中
2、  如何把arm获取的数据传递给jscharts做显示

这里只能起到抛砖引玉的作用,希望大家一同努力,有问题共同讨论。

前面也写过一篇,供参考:
Altera SoC体验之旅--致全体参与者(必读)
https://bbs.eeworld.com.cn/thread-454309-1-4.html

此帖出自Altera SoC论坛

最新回复

有是有,不过有些东西部太好export出来,你懂的。 下周一认证考试完了,哥们加班加点也整一个可以供大家玩的版本,到时候release给大伙,争取月底前搞定   详情 回复 发表于 2015-3-17 12:55

赞赏

1

查看全部赞赏

点赞 关注(1)
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复
举报

542

帖子

71

TA的资源

纯净的硅(中级)

沙发
 
柱哥V5,真乃学习、竞赛之楷模。
此帖出自Altera SoC论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
我看文中提到fpga也可以控制hps的外设,我想知道这种控制除了nios,除了jtag还能怎么控?或者说在Qsys中,还有什么模块能作为axi master或者avalon master的。
再比如F2H桥对于FPGA来说其接口是一个AXI Slave的,那如果我想主动通过这个桥给HPS发送数据,我需要一个什么核去做这个AXI Master来驱动F2H,目前只想到DMA,虽然DMA收发都是master的,但是其控制接口是slave的,说白了就算用DMA也一样需要个master,那这个master如果不是HPS还能是谁,难道FPGA自己写个master核?
此帖出自Altera SoC论坛

点评

我的理解也是自己写个master,然后挂在avalon总线上[/backcolor]  详情 回复 发表于 2015-3-16 17:01
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

4
 
本帖最后由 ThisOneGood 于 2015-3-16 16:30 编辑

还有,如果真的是自己写的master核,添加到soc中之后,对于arm怎么去跑linux,altera提供的api都是自带核的,自己写的核没有api怎么办?就好比我自己写了一个类似dma的东西,但是它的配置接口肯定是没有对应的api的,altera有这种功能可以生成底层控制的api?不太可能吧。。
此帖出自Altera SoC论坛

点评

我的理解是,对于arm来说就是对地址空间进行读写操作啊,所谓api可以把memory操作函数包装一下就可以了  详情 回复 发表于 2015-3-16 17:05
 
 
 

回复

5979

帖子

8

TA的资源

版主

5
 
ThisOneGood 发表于 2015-3-16 15:16
我看文中提到fpga也可以控制hps的外设,我想知道这种控制除了nios,除了jtag还能怎么控?或者说在Qsys中,还有什么模块能作为axi master或者avalon master的。
再比如F2H桥对于FPGA来说其接口是一个AXI Slave的,那如果我想主动通过这个桥给HPS发送数据,我需要一个什么核去做这个AXI Master来驱动F2H,目前只想到DMA,虽然DMA收发都是master的,但是其控制接口是slave的,说白了就算用DMA也一样需要个master,那这个master如果不是HPS还能是谁,难道FPGA自己写个master核?



我的理解也是自己写个master,然后挂在avalon总线上
此帖出自Altera SoC论坛
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

5979

帖子

8

TA的资源

版主

6
 
ThisOneGood 发表于 2015-3-16 16:27
还有,如果真的是自己写的master核,添加到soc中之后,对于arm怎么去跑linux,altera提供的api都是自带核的,自己写的核没有api怎么办?就好比我自己写了一个类似dma的东西,但是它的配置接口肯定是没有对应的api的,altera有这种功能可以生成底层控制的api?不太可能吧。。



我的理解是,对于arm来说就是对地址空间进行读写操作啊,所谓api可以把memory操作函数包装一下就可以了
此帖出自Altera SoC论坛

点评

我基本已经无奈的接受就是要自己写个master,因为如果使用dma,就感觉好像为了必须用f2h桥才用dma的,结果无非由从原来的h2f读数据变成了从f2h写数据,难道是为了提高数据读取吞吐或者说通道? 之所以说无奈  详情 回复 发表于 2015-3-16 17:33
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

7
 
本帖最后由 ThisOneGood 于 2015-3-16 17:50 编辑
chenzhufly 发表于 2015-3-16 17:05
我的理解是,对于arm来说就是对地址空间进行读写操作啊,所谓api可以把memory操作函数包装一下就可以了


我基本已经无奈的接受就是要自己写个master,因为如果使用dma,就感觉好像为了必须用f2h桥才用dma的,结果无非由从原来的h2f读数据变成了从f2h写数据,难道是为了提高数据读取吞吐或者说通道?
之所以说无奈,是因为我不明白这么几点:
1、自己写个master很简单吗。。这个master的配置由谁来操作或者说由谁来触发?fpga自己写呗,定时器?又或者再定义个协议?我勒个擦。。
2、如果好几个外设都要走这条路,难道我还要自己做个排序做个优先级,那我干脆变成个arm?
3、好几条路我就根据每个外设写这么一个master?
4、SoC不是强调底层的高效灵活,为何还要让fpga去没事客串当个主控呢?
我已经是一锅浆糊了,谁能帮我。。
此帖出自Altera SoC论坛

点评

可以肯定的说,你的理解是正确的,只不过没你想想的那么复杂 一个master很容易写,比如说一个write-only的master,让AXI或者avalon的master口去往某个地址写数据就OK了,你要做的就是根据总线协议判断总线状态,  详情 回复 发表于 2015-3-16 23:45
 
 
 

回复

1025

帖子

1

TA的资源

纯净的硅(高级)

8
 
ThisOneGood 发表于 2015-3-16 17:33
我基本已经无奈的接受就是要自己写个master,因为如果使用dma,就感觉好像为了必须用f2h桥才用dma的,结果无非由从原来的h2f读数据变成了从f2h写数据,难道是为了提高数据读取吞吐或者说通道?
之所以说无奈,是因为我不明白这么几点:
1、自己写个master很简单吗。。这个master的配置由谁来操作或者说由谁来触发?fpga自己写呗,定时器?又或者再定义个协议?我勒个擦。。
2、如果好几个外设都要走这条路,难道我还要自己做个排序做个优先级,那我干脆变成个arm?
3、好几条路我就根据每个外设写这么一个master?
4、SoC不是强调底层的高效灵活,为何还要让fpga去没事客串当个主控呢?
我已经是一锅浆糊了,谁能帮我。。
可以肯定的说,你的理解是正确的,只不过没你想想的那么复杂

一个master很容易写,比如说一个write-only的master,让AXI或者avalon的master口去往某个地址写数据就OK了,你要做的就是根据总线协议判断总线状态,可以写的时候(总线未反压你的master口),你又想写的时候,把数据丢出去就OK了

master的配置,可以分解成两个要点来理解。第一点,简单一点说,就是master工作的时候,需要一些工作模式相关的配置参数,这些参数可以理解成放置在指定的ram中,master开始工作之前,先从这些ram中把相关参数读出来,然后决定自己以何种模式和方式去工作。第二点,ram中的实际数据被写的过程,就是master被配置的过程,这个当然需要另外的master,通过工作的master所在的module的slave口来把参数写到ram中,往往写这个slave口的master就是CPU啦,当然,如果这个module需要和其他module协同工作的话,也有可能是其他module来配置这个module的master

至于优先级,这个总线自己来仲裁,你只需要把优先级功能拿来使用即可

这些工作只需要一个非常简单的状态机即可全部完成,不需要arm这么复杂的状态机



此帖出自Altera SoC论坛

点评

1、你所说的write-only master我可不可以理解为半个dma?好像感觉是不难了。。 2、优先级总线仲裁这东西,是soc自己添加进去的吗?就像位宽adapter之类的适配器也是自动添加的? 3、你开始讲根据总线协议,这  详情 回复 发表于 2015-3-17 09:23
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

9
 
lelee007 发表于 2015-3-16 23:45
可以肯定的说,你的理解是正确的,只不过没你想想的那么复杂

一个master很容易写,比如说一个write-only的master,让AXI或者avalon的master口去往某个地址写数据就OK了,你要做的就是根据总线协议判断总线状态,可以写的时候(总线未反压你的master口),你又想写的时候,把数据丢出去就OK了

master的配置,可以分解成两个要点来理解。第一点,简单一点说,就是master工作的时候,需要一些工作模式相关的配置参数,这些参数可以理解成放置在指定的ram中,master开始工作之前,先从这些ram中把相关参数读出来,然后决定自己以何种模式和方式去工作。第二点,ram中的实际数据被写的过程,就是master被配置的过程,这个当然需要另外的master,通过工作的master所在的module的slave口来把参数写到ram中,往往写这个slave口的master就是CPU啦,当然,如果这个module需要和其他module协同工作的话,也有可能是其他module来配置这个module的master

至于优先级,这个总线自己来仲裁,你只需要把优先级功能拿来使用即可

这些工作只需要一个非常简单的状态机即可全部完成,不需要arm这么复杂的状态机


1、你所说的write-only master我可不可以理解为半个dma?好像感觉是不难了。。
2、优先级总线仲裁这东西,是soc自己添加进去的吗?就像位宽adapter之类的适配器也是自动添加的?
3、你开始讲根据总线协议,这个是自己定义的呗,比如我想发,他同意,我发;他请求,我同意,我发;定时发……
此帖出自Altera SoC论坛
 
 
 

回复

5979

帖子

8

TA的资源

版主

10
 
楼上有没有现成的例子啊
我正准备做一个
此帖出自Altera SoC论坛

点评

有是有,不过有些东西部太好export出来,你懂的。 下周一认证考试完了,哥们加班加点也整一个可以供大家玩的版本,到时候release给大伙,争取月底前搞定  详情 回复 发表于 2015-3-17 12:55
你问的是我楼上吧,我是没有,还在根据项目需求考虑有没有必要一定自己去写  详情 回复 发表于 2015-3-17 11:27
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

22

帖子

0

TA的资源

一粒金砂(中级)

11
 
chenzhufly 发表于 2015-3-17 09:24
楼上有没有现成的例子啊
我正准备做一个


你问的是我楼上吧,我是没有,还在根据项目需求考虑有没有必要一定自己去写

此帖出自Altera SoC论坛
 
 
 

回复

1025

帖子

1

TA的资源

纯净的硅(高级)

12
 
chenzhufly 发表于 2015-3-17 09:24
楼上有没有现成的例子啊
我正准备做一个
有是有,不过有些东西部太好export出来,你懂的。

下周一认证考试完了,哥们加班加点也整一个可以供大家玩的版本,到时候release给大伙,争取月底前搞定



此帖出自Altera SoC论坛
 
 
 

回复

5979

帖子

8

TA的资源

版主

13
 
顶起!
大伙加油啊
此帖出自Altera SoC论坛
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表