终于静心了- - ,写点心得

水牛   2010-1-22 14:50 楼主
一直想等比赛完了,写点东西留给刚上路的难兄难弟们,一直有事耽搁,可能是比赛太累了引起各种失调 - -!
    因为要准备大学生电子设计大赛,所以一开始自学了5416这个板子,后来由于5416片上资源实在太少不适合电子竞赛就转学了2812。因为身边一直也没个人交流,所以每一步都比较艰辛,想起住在实验室的一年里,每天大半夜喝着咖啡,听着小曲,调着板子,日子艰辛却令人回味,觉得日子就这么永远继续下去也不错,娶个板子。。。    汗
    先提个建议:
    1. 手里一定要有本关于28X硬件的书方便查,不要没事就问些比如外部中断是电平有效还是上升有效呢,哪个寄存器控制呢?   现在的书好像都是翻译TI的文档的译版,内容差不太多 没什么见解,都是技术手册类型的。
    2.多上论坛,多下论文,多搜google。虽然有时候论坛里的问题不会被很好解决,论文很多都是没有被实现就拿出来一顿闲扯,但是  我在论坛上还是认识了很多很多好人,帮我解决问题,让我张见识,包括我大哥。好论文就看看各个学校的优秀硕士毕业设计就好了。还有外国的一些dsp论坛,也不错的,外国人在论上说English不像英语46级那么贱,我都看的懂,学到不少东西。
    3.多实践才能发现有些东西不像书上说的那么简单,当然把问题弄明白后,发现 恩 确实那么简单。
    4.无论是28x,还是达芬奇,还是arm fpga,开发工具始终都是外家工夫。硬件,编程功底,算法思想才是内家工夫,不要以为用了DSP了就比用51 avr的人强。一直很佩服那个用MEGA8做usb转并口下载线的那个大哥,在我们这用的泛滥成灾了。 有时候,用dsp做流水灯,测温度和用dsp做随机等效采样,语音识别,图像处理的人  是有些差别的。      

     XINTF:因为学习DSP是从54X入手的,而5系的DSP都是分成3个区:程序区,数据区,IO区  入手2812的时候自以为是了一下,转了很久才晓得2812的存储器映射是把数据和程序区连在一起了,而5系的所谓IO空间被替换成了XINTF,当然XINTF也是负责外部接口的。想想,2812人家都是32位的了,空间一下子从2^16上位到了2^32,没必要再分家了吧。大家用单片机的时候往往比较在意IO口的操作,而学DSP的时候总线结构是一定要理解的。用XINTF的时候,把数据线接一个缓冲器,就相当于一组IO口了吧,分配一个地址就相当于一组IO口,只要把XINTF和缓冲器的片选弄好,你就有无数个GPIO了。用外部存储接外设的时候,要知道你板子上的flash和ram都映射了哪两组zone区,别把这两块区域用了。要会用*((volatile  unsigned  int *)0x4FFB)这类的方式操作外部存储单元。
    GPIO: 一定要确定你的GPIO脚的配置,是配了GPIO还是第二功能。确定输出输入配了没。 很简单,但是程序改多了有时候就容易忘。还有,DSP的GPIO很脆弱,具体多少mA忘了,不过有一次调一个dds  AD9852的时候,用mps430一直没问题,用2812调,烧了。很郁闷不知道怎么回事,想了半天以为带电插拔让静电给烧了?费了好大劲,重焊了快片子,再调,再烧···   诅咒了半天9852,后来发现可能是限流电阻小了,2812的GPIO比单片机腼腆的多。
    ADC:  2812的ad说道很多,配起来也较麻烦,那个启动/停止这两种方式要理解,DSP内部AD通道之间有时会有串扰,要避免串扰,未使用的通道要接地。还有一个比较重要的地方,就是ad的采样率和存储速度。做示波器,把ad开到了最快,但是实际上发现怎么只有1M不到的样子。AD没配错,郁闷了半天,想到其实AD跑的再快,存储的速度跟不上也没用。存储速度也就是说 ad_value[w]=AdcRegs.RESULT0;的速度,这关系到ADC中断函数的效率情况。不过我试过把中断函数写的再简洁,最终整个采样也就跑几M而已。  外部电路的话一般都是用FPGA对ram乒乓操作解决的,dsp一直没想到什么好办法。
    中断:中断也不知道说什么好。进入终端和结束中断的过程要搞好,有时候即使你带仿真器是好的,脱机了也会有问题。当然引起脱机问题的原因,是什么问题都有可能。另外记得要在时钟函数里,把外设时钟打开,要不然外设不跑中断当然进不去 - -      我总这样  人生···
    CMD:看看书,其实也没什么好说的,写好一个就放着吧,用TI的FFT FIR这些算法的话,CMD要开辟相应的区,具体怎么开比如FFT的旋转因子的存储空间啊相应文档里说的很清楚。    CMD里不能用//注释    要用/*  */才能编译通过(不知道是不是只有我的ccs才这样 呵呵)  
    脱机:这个纠结了我很久,因为想要脱机后程序和数据依然在ram里跑,在网上也一直没找到具体操作方法。后来在网上遇见了我大哥(风之殇 网名 呵呵 不知道咋起个这个犹豫的名字呢),他给了我一种装载部分代码的方法,用#pragma CODE_SECTION(hoho_all, "ramfuncs");加上内联函数inline的方法。这个具体的过程一两句也说不清楚,在TI找到了说明文档,其实说的巨详细的。后来又找到了TI关于把全部代码上电之后从flash转移到ram里跑的方法,用的时候只需要加入两个汇编程序和新的CMD文件,希望这个大家用的时候一定把原理搞懂,汇编程序看懂。
    IQMath:hellodsp里有中文文档,不会IQ格式,不是好dsp工程师。开始觉得不会就不会呗,后来细化的算法精度的时候发现没Q格式当然是不行的。编译的时候CMD里也要有申明的。
    数字信号处理算法:由于电脑悲剧,以前的关于滤波器 FFT 脱机的TI文档都不见了,文档上讲的巨详细的,给不了大家了,手里有一个写的示波器的程序,上面FFT,FIR,脱机,一些正弦内插的算法都有,屏是sed1335的控制器,大家想看就看下。不过我觉得比如说如果想做做FFT,我建议一定要找到TI的文档手册,认真的看一遍,我就吃过很大的亏。滤波器要配合matlab算出滤波器系数,matlab的源文件 TI关于滤波器的手册里已经给了,不过给的matlab里面用的是fir1型滤波器,即填入截止频率 波动幅度(DB)等一些参数就会生成滤波器系数了。如果需要根据已知的幅频特性表得出滤波器系数,可以用matlab里的fir2型滤波器,具体需要的话大家可以研究下,matlab我也是半瓶子。

    刚跟女朋友闹别扭,哎人生···  极其影响心情,就写这些吧。最后想感谢下我大哥,还记得第一次跟大哥网上聊天是因为请教他脱机问题。因为很久没用,他帮我找了一个小时的程序,后来我掉线了(学校的网络质量就像武汉的天气  水分太大)。哈哈 他找了半天找到了,结果我人不在了,还以为我不理他跑了,给他气的 呵呵呵。   大哥是个好人···    希望以后我有能力了能和他一起创业,呵呵。
    有一段时间没碰dsp了,说的东一块西一块想起什么说什么,大家别见怪,哪里说的有问题也请一定指正,别让我误人子弟。以后想学学达芬奇,最近在看H264,觉得基础薄了 呵呵 加油了。。。     大家也加油。。。

回复评论 (20)

支持原创
每天进步一点点
点赞  2010-1-22 17:20
写的不错 加油加油
点赞  2010-1-22 17:31
加油了。。。     大家也加油。。。
点赞  2010-1-23 07:59
能发下你做的USB转并可的下载线原理图和PCB,驱动以及固件吗?
点赞  2010-1-23 17:24
感谢心得分享
我追求崇本务实,我追求完美第一!我选择低调做人,我选择高调做事!
点赞  2010-1-24 09:09

回复 6楼 sunhong 的帖子

楼主说的那个mega8做的下载线应该是USBASP吧。我给你传一个吧,是AVR的下载线



USBASP.rar (1.39 MB)
(下载次数: 51, 2010-1-24 12:44 上传)
只有求知欲,没有求偶欲的人是植物,只有求偶欲,没有求知欲的人叫动物,既没求知欲,又没求偶欲的人是矿物。
点赞  2010-1-24 12:44
谢谢LZ分享,3Q
点赞  2010-1-24 23:38

感谢楼主的分享

楼主好。我现刚学2812,有几个问题不忒明白:
ADC的采样率最低是多少?采样窗时间的大小确定为多大为好?
现在好多论文在设计滤波时,都采用MATLAB的ccslink和 simulink直接生成c代码,这种方式是否可行?
我做的设计是做信号采集,然后分析出波形的最大最小,周期,频率等特征值。硬件只是用2812的片上资源,学习中发现fir滤波只是将频带之外的去除,频带内的噪声如何去除?用一些先代滤波算法??
点赞  2010-3-16 13:45

33333333333333333

用心写的文章
点赞  2010-3-17 01:06
楼主很厉害,很有潜力啊
不断地学习,才会有创新! 淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
点赞  2010-3-17 16:31
写的很好啊,,我若dsp上遇到问题了会多多向你请教的啊,写的很精彩
愿与大家共同进步
点赞  2011-2-12 14:29
非常不错.这就是积累吧.
非常赞同,"不要以为用了DSP了就比用51 avr的人强。"
无论软件,硬件,算法都是基础,工具.都是金刚转.
能解决实际问题,是我们要做的瓷器活.
点赞  2011-2-16 08:54
加油!在电子行业默默贡献自己的力量!:)
点赞  2011-2-16 13:21

楼主给力

楼主相当给力
点赞  2011-9-17 18:59
同为大学生,楼主写的东西,感觉到很有压力啊~~~~~~~~~
点赞  2011-9-20 15:15
感谢楼主的分享,
点赞  2011-12-17 19:20
楼主厉害啊
点赞  2011-12-18 18:33
好好利用已有的平台学习啊 支持下楼主 有前途啊 嘿嘿嘿 不像我们。,。。。。。
点赞  2011-12-18 18:34

回复 楼主 水牛 的帖子

嗯  是武汉的朋友呀   加油加油!!!
点赞  2011-12-18 21:44
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复