dsp开发工程师经验
dsp工程师岗位职责
dsp工程师岗位职责(实用版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的实用资料,如教学心得体会、工作心得体会、学生心得体会、综合心得体会、党员心得体会、培训心得体会、军警心得体会、观后感、作文大全、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor.I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!And, this store provides various types of practical materials for everyone, such as teaching experience, work experience, student experience, comprehensive experience, party member experience, training experience, military and police experience, observation and feedback, essay collection, other materials, etc. If you want to learn about different data formats and writing methods, please pay attention!dsp工程师岗位职责第1篇 dsp工程师岗位职责1、根据项目需求、参与方案设计。
dsp学习心得
dsp学习心得在过去的一段时间里,我深入研究了数字信号处理(DSP)的相关知识,并在实践中不断探索和应用。
通过这段学习过程,我不仅对DSP的概念有了更深刻的理解,而且积累了丰富的实际经验。
下面将分享我在学习DSP过程中的心得和体会。
一、了解DSP的基本概念在开始学习DSP之前,我首先对其基本概念进行了了解。
DSP,即数字信号处理,是一种通过对数字信号进行一系列算法处理来实现信号的转换、压缩、增强等目的的技术。
它在音频处理、图像处理、通信系统等领域起着重要的作用。
二、学习DSP的基础知识为了更好地掌握DSP技术,我系统地学习了相关的基础知识。
首先,我学习了数字信号的采样和量化原理,了解了数字信号与模拟信号的转换过程。
接着,我学习了常用的数字滤波器设计方法,包括FIR滤波器和IIR滤波器。
同时,我还学习了离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等频域分析方法。
通过这些基础知识的学习,我对DSP的核心技术有了较为清晰的认识。
三、利用MATLAB进行DSP仿真实验为了更好地理解和应用DSP技术,我利用MATLAB进行了一系列的仿真实验。
我首先学习了MATLAB的基本语法和函数的使用方法,然后通过编写代码实现了常见的DSP算法。
例如,我通过MATLAB实现了数字滤波器的设计和应用,包括低通滤波器、高通滤波器和带通滤波器等。
此外,我还利用MATLAB进行了音频信号的压缩和解压缩实验,通过对信号的编码和解码,实现了对声音质量的有效控制。
四、应用DSP技术解决实际问题除了理论学习和仿真实验,我还将所学的DSP技术应用到了实际问题的解决中。
例如,在图像处理方面,我利用DSP技术实现了数字图像的去噪和增强。
通过选择合适的滤波器和处理算法,我成功地提高了图像的清晰度和质量。
在音频处理方面,我利用DSP技术对语音信号进行分析和识别,实现了自动语音识别的功能。
通过这些实际问题的解决,我深刻地体验到了DSP技术的强大和应用的广泛性。
DSP开发入门之经验
DSP开发入门之经验DSP是Digital Signal Processing(数字信号处理)或Digital Signal Processor(数字信号处理器)的缩写。
这一章中我们要讲的内容是,如何开始采用一个或多个数字信号处理芯片对输入信号(数字信号)进行分析、处理。
所以在你进行DSP开发之前,你应该明确以下几个问题:(1).你是否应该或需要使用DSP?(2).你应该选择哪个型号的DSP?(3).你熟悉你即将使用的DSP吗?包括它的硬件结构、外设控制、指令系统、寻址方式以及开发环境(工具)?1-1为什么要采用数字信号处理?(1)灵活性在模拟处理系统,当需要改变一个模拟系统的应用时,你可能不得不修改硬件设计,或调整硬件参数。
而在数字处理系统,你可以通过改变数字信号处理软件来修改设置,以适应不同的需要。
(2)精度在模拟处理系统,系统精度受元器件影响,同一批次产品可能有不同的性能。
而在数字处理系统中,精度仅与A/D的位数和计算机字长、算法有关,它们是在设计系统是就已经决定了的。
(3)可靠性和可重复性模拟系统易受环境温度、湿度、噪声、电磁场等的干扰和影响,而数字系统的可靠性和可重复性好。
(4)大规模集成模拟系统尽管已有一些模拟集成电路,但品种较少、集成度不高、价格较高。
而数字系统中DSP体积小、功能强、功耗小、一致性好、使用方便、性能/价格比高。
(5)虚拟特性与升级一套模拟系统系统只能对应一种功能,升级意味着新型号的系统的研制。
而数字系统中一套系统对应多种功能,只要装上不同的软件即可。
图1:软件使得数字系统更加灵活(6)特殊应用:有些应用只有数字系统才能实现例如:信息无失真压缩(LOSSLESS COMPRESSION)、V型滤波器(NOTCH FILTER)、线性相位滤波器(LINEAR PHASE FILTER)等等.但数字信号处理也有局限性:(1) 实时性模拟系统中除开电路引入的延时外,处理是实时的。
dsp学习心得
dsp学习心得在我大学期间,我选择了数字信号处理(DSP)作为我的专业方向。
这是一门非常有挑战性、专业化的学科,需要深入理解信号处理的理论与算法,并能够应用于实际工程中。
在学习过程中,我经历了许多挫折,但也从中获得了许多宝贵的经验和心得。
下面,我将分享一些我在DSP学习中的心得体会。
1. 基础知识的重要性在学习DSP之前,掌握基础的数学知识是十分重要的。
线性代数、微积分、概率论等知识将为后续的学习打下坚实的基础。
在很多时候,我们需要用到积分、微分、矩阵变换等数学概念,以便能够理解和推导出各种信号处理算法。
因此,学生们在学习DSP之前,最好能够对这些数学知识有一个扎实的理解。
2. 算法的掌握与应用在DSP学习中,算法的掌握是至关重要的。
最常见的算法包括傅里叶变换、滤波算法、离散余弦变换等。
这些算法的理解程度将决定你在信号处理领域的应用能力。
因此,我花费了大量的时间和精力来学习和理解这些算法。
我通过阅读教材、参加课程并完成相关的实践项目来不断加深对算法的理解。
同时,我发现了一些学习方法,如参加学习小组、参加学术研讨会等,这些方法可以帮助我更好地理解和应用算法。
3. 实践的重要性实践是学习DSP的重要环节。
只有亲自动手实践,才能真正掌握所学的理论知识。
在我的学习过程中,我利用MATLAB等工具进行实验,以便更好地理解并验证所学的算法。
我通过编写代码、调试程序、观察输出结果等方式进行实践,不断改进和完善我的学习成果。
通过实践,我不仅加深了对信号处理算法的理解,还锻炼了我的编程和问题解决能力。
4. 多角度的思考在学习DSP的过程中,我发现多角度思考问题是十分重要的。
在实际应用中,我们会面对各种各样的问题和挑战,需要能够从不同的角度进行思考和解决。
我努力培养了创造性思维和综合性思考的能力,利用各种方法和技术来解决各类问题。
在多角度思考的过程中,我发现很多问题可以得到更好的解决方案,也为自己在学术研究和工程实践中积累了宝贵的经验。
DSP开发工程师岗位职责和任职条件
DSP开发工程师岗位职责和任职条件
DSP开发工程师是负责进行数字信号处理开发、测试和维护的专业工程师,需要具备丰富的数字信号处理知识和卓越的软件开发技能。
主要职责如下:
1. 设计和实现数字信号处理算法:负责开发算法以实现信号处理功能,如数字滤波器、均衡器、解调器、编解码器等。
2. 实现嵌入式软件:使用C或C++等编程语言的高效和可重用的代码来设计和实现数字信号处理算法,并将其应用于DSP芯片或嵌入式系统中。
3. 调试和测试:对数字信号处理算法和代码进行详细的调试和测试,确保其正确性和稳定性。
4. 与硬件工程师协作:与硬件工程师协作,确保数字信号处理芯片与其他硬件组件的正常交互。
5. 进行文档编写:编写软件设计文档、用户手册及其他技术文档,以方便其他技术人员的使用和维护。
任职条件:
1. 本科及以上学历,电子信息工程、通信工程、计算机科学等相关专业。
2. 精通数字信号处理算法的设计、优化和实现,熟悉经典信号处理方法和算法。
3. 熟练掌握C/C++、Matlab、Python等编程语言和开发环境,熟悉嵌入式软件开发和调试。
4. 具备较强的团队合作精神和沟通能力,能够与硬件工程师以及其他开发人员协作。
5. 具有良好的解决问题能力、创新思维和自我学习能力。
6. 良好的英语能力,能够阅读、编写和交流相关技术文献。
以上是DSP开发工程师的主要职责和任职条件,供应聘者参考。
对于数字信号处理领域有浓厚兴趣并掌握相关技术的人员,是一个
有前景的职业选择。
DSP开发工程师岗位职责
DSP开发工程师岗位职责DSP开发工程师是一种技术性职业,主要负责设计、开发和测试数字信号处理系统,这些系统可以用于音频和视频处理、图像处理、通信和控制系统等领域。
以下是DSP开发工程师的岗位职责:1. 设计和开发数字信号处理系统:根据客户需求,负责设计和开发数字信号处理算法和嵌入式系统。
这包括从原型开发到最终系统设计,实现高质量、高效率和高可靠性的信号处理系统。
2. 编程:使用多种编程语言(如C、C++、MATLAB等),进行算法开发和实现。
根据客户项目的要求,进行软件架构设计,编写和测试DSP代码。
3. 集成DSP系统:在硬件和软件方面,对数字信号处理系统进行集成。
根据系统架构,选择合适的DSP芯片和外设,编写驱动程序,并将数字信号处理系统和其他系统(如通信、控制等)集成。
4. 调试和测试:负责测试开发的DSP系统和算法的性能、精度和可靠性,并进行系统调试和优化。
该过程涉及多种操作系统、编译器、调试器、模拟器、测试工具和设备。
5. 维护和升级:负责DSP系统的维护和升级,包括解决软件和硬件问题,并进行系统更新和扩展。
同时跟踪技术发展趋势,并实现最新技术的集成和应用。
6. 团队合作:与其他团队成员(如硬件工程师、测试工程师、项目经理等)协作,共同实现最终产品的开发。
此外,参与技术研讨会和会议,并与客户、合作伙伴等建立良好合作关系。
DSP开发工程师需要具备以下技能和资格:1. 数字信号处理:具有深入的数字信号处理理论和模型知识,熟练掌握相关算法和工具。
2. 嵌入式系统:熟悉嵌入式系统的设计和开发,熟练使用C、C++等编程语言。
3. DSP芯片:熟悉常见的DSP芯片,如TI、ADI、Freescale 等,熟悉DSP硬件体系结构和外设。
4. 软件工程:了解软件开发流程和软件工程原则,熟悉软件测试、集成和发布流程。
5. 沟通和团队合作:良好的沟通能力和团队协作能力,能够与不同级别的人员进行合作。
6. 学历:本科或以上学历,具有电子、通信、计算机等相关专业背景。
北京新能源行业DSP开发工程师(新能源电源)岗位介绍JD模板
北京新能源行业DSP开发工程师(新能源电源)岗位介绍JD模板
岗位名称:DSP开发工程师(新能源电源)
岗位关键词:dsp开发
职责描述:
1、负责产品需求分析,编写产品设计开发文档,完成产品的软件的设计、开发工作;
2、负责产品软件的调试、测试,与硬件工程师配合整机联调;
3、负责软件代码优化,整理提取可以共享单元模块;
4、负责编写相关技术文档,给予市场技术支持,协助解决客户问题;
5、在合理范围内,尝试新的先进技术的应用和研发,不断进行技术创新。
任职要求:
1、本科及以上学历;
2、具有UPS,变频器等电源类产品的嵌入式软件开发经验,从事过新能源相关电源产品软件开发优先;
3、熟练使用汇编或C或C++语言,会主流DSP或ARM及FPGA开发系统,有TI28系列DSP 开发经验优先;
4、熟悉各类电力电子拓扑及其工作原理,能熟练使用MATLAB或PSIM或PACAD进行仿真优先;
5、熟悉Linux操作环境,有ARM实时嵌入式软件开发经验优先
6、具备良好的沟通协调能力,对工作热情,认真、负责,有团队协作精神;。
DSP工程师岗位职责
DSP工程师岗位职责DSP工程师是数字信号处理工程师的简称,主要负责数字信号处理系统和算法的研发和应用。
DSP工程师需要具备数学、电子、通信等方面的知识,能够运用相关编程语言和软件开发工具进行软件和硬件设计。
具体的职责如下:1.方案设计和算法开发DSP工程师需要根据项目需求,设计并开发适合的数字信号处理方案和算法。
他们需要熟练掌握数字信号处理的基本理论、算法和技术,能够运用MATLAB、C、C++等编程语言进行开发。
同时,他们需要根据项目需求,选择合适的硬件平台和开发工具进行开发。
2.系统开发和测试DSP工程师需要根据方案设计和算法开发的结果,进行系统开发和测试。
他们需要负责硬件和软件的开发,编写代码、搭建系统,测试系统的性能和稳定性,并进行调优和改进。
同时,他们需要配合其他开发人员进行集成测试和系统调试。
3.产品维护和优化DSP工程师需要负责现有产品的维护和优化。
他们需要根据产品在使用中出现的问题,进行排查和修复,同时对系统进行优化,提升系统的性能和稳定性。
他们需要完成软件和硬件的更新和升级,并进行相关文档的更新和维护。
4.参与产品研发的各个环节DSP工程师需要参与产品研发的各个环节,包括需求分析、产品设计、系统集成、测试和上线等。
他们需要与其他开发人员紧密合作,共同完成产品的研发任务。
同时,他们需要与产品经理和客户进行沟通,确保产品的质量和用户体验。
5.学习和研究新技术DSP工程师需要不断学习和研究新的数字信号处理技术和开发工具,以求保持技术水平的竞争力。
他们需要关注技术热点,参加培训和学术交流,积极探索新的数字信号处理技术和应用场景,为公司的产品研发提供更高水平的支持。
综上所述,DSP工程师是数字信号处理领域中的专业人才,他们需要具备深厚的技术功底和实践经验,以及良好的沟通合作能力和学习能力。
几个DSP高手的经验介绍,编写基于DSP程序的注意事项
使用C/C++语言编写基于DSP程序的注意事项1、不影响执行速度的情况下,可以使用c或c/c++语言提供的函数库,也可以自己设计函数,这样更易于使用“裁缝师”优化处理,例如:进行绝对值运算,可以调用fabs()或abs()函数,也可以使用if...else...判断语句来替代。
2、要非常谨慎地使用局部变量,根据自己项目开发的需要,应尽可能多地使用全局变量和静态变量。
3、一定要非常重视中断向量表的问题,很多朋友对中断向量表的调用方式不清楚。
其实中断向量表中的中断名是任意取定的,dsp是不认名字的,它只认地址!!中断向量表要重新定位。
这一点很重要。
4、要明确dsp软件开发的第一步是对可用存储空间的分析,存储空间分配好坏关系到一个dsp程序员的水平。
对于dsp,我们有两种名称的存储空间,一种是物理空间,另一种是映射空间。
物理空间是dsp上可以存放数据和程序的实际空间(包括外部存储器),我们的数据和程序最终放到物理空间上,但我们并不能直接访问它们。
我们要访问物理空间,必须借助于映射空间才行!!但是映射空间本身是个“虚”空间,是个不存在的空间。
所以,往往是映射空间远远大于实际的物理空间,有些映射空间,如io映射空间,它本身还代表了一种接口。
只有那些物理空间映射到的映射空间才是我们真正可访问(读或写)的存储空间。
5、尽可能地减少除法运算,而尽可能多地使用乘法和加法运算代替。
6、如果ti公司或第三方软件合作商提供了dsp lib或其他的合法子程序库供调用,应尽可能地调用使用。
这些子程序均使用用汇编写成,更为重要之处是通过了tms320算法标准测试。
而且,常用的数字信号处理算法均有包括!!7、尽可能地采用内联函数!!而不用一般的函数!!可以提高代码的集成度。
8、编程风格力求简炼!!尽可能用c语言而不用c++语言。
我个人感到虽然c++终代码长了一些,好象对执行速度没有影响。
9、因为在c5000中double型和float型均占有2个字,所以都可以使用,而且,可以直接将int型赋给float型或double型,但,尽可能地多使用int数据类型代替!这一点需要注意!!10、程序最后至少要加上一个空行,编译器当这个空行为结尾提示符。
dsp学习心得
dsp学习心得我刚开始学习数字信号处理(DSP),经过一段时间的学习和实践,我对这个领域有了一些深刻的理解和体会。
在这篇文章中,我将分享我的DSP学习心得,并讨论它对我的职业发展和个人成长的影响。
一、初识DSPDSP是一门独特的学科,它研究如何处理和分析数字信号。
我对DSP产生兴趣的起因是我发现数字信号在现代通信、音频处理、图像处理等领域有着广泛的应用。
我意识到,了解和掌握DSP技术对我的职业发展非常重要。
二、学习过程在学习DSP的过程中,我首先了解了基本的数字信号概念和数学工具,例如采样定理、离散傅里叶变换(DFT)等。
然后,我学习了一些常用的DSP算法和技术,包括滤波、频域分析、时域信号处理等。
通过编程实践,我不仅更深入地了解了这些概念和技术,而且提高了我的编程能力。
三、应用案例通过学习DSP,我开始着手解决一些实际问题。
例如,在音频处理方面,我利用DSP技术开发了一个语音识别系统,它能够识别和转录语音输入。
在图像处理方面,我使用DSP算法实现了图像去噪和图像压缩等功能。
这些实际应用使我更加深入地理解了DSP的重要性和价值。
四、影响和感悟通过学习DSP,我收获了很多。
首先,我对数字信号的理解更加深入,能够更好地处理和分析数字信号。
其次,我掌握了一些重要的DSP算法和技术,提高了我的技术实力。
此外,我还培养了解决问题的能力和团队合作精神,因为在实际应用中,我往往需要与其他领域的专业人士合作。
最重要的是,学习DSP让我始终保持学习和进步的心态,不断追求新的知识和技能。
总结起来,学习DSP是一种具有挑战性但又收获满满的经历。
通过系统学习和实践,我掌握了重要的DSP概念、算法和技术,并将其应用到实际问题中。
这种学习不仅对我的职业发展有着积极的影响,还培养了我解决问题和团队合作的能力。
我相信,继续深入学习DSP将为我打开更广阔的职业发展道路,并带来更多的成就和满足感。
dsp实习心得体会7篇
dsp实习心得体会7篇dsp实习心得体会 (1) 很荣幸今年暑期能够通过赣州市青年英才“展翅计划”加入到南康区行政审批局进行为期一个月的暑期实习。
通过这一个月的实习,我了解到了南康区市民服务中心的工作运作情况和区行政审批局的单位文化,在实际的工作中提升了自己的职业技能,积累了一定的工作经验,收获颇丰。
在实习过程中,我了解到了市民服务中心为方便群众办理业务而设立的种种举措,双向开放服务中心努力为南康优化产业布局,做大做强南康家具产业集群提供强大助力。
在实际工作中,除了完成领导交代的任务外,引导群众到相应的窗口办理业务,解答群众的疑惑成为了我的主要工作。
刚开始虽然也会遇到不懂的问题,但是通过耐心地沟通解释最终也能够得以解决。
在这一个月中,国内疫情防控形式变得异常严峻,疫情防控措施逐渐加强。
按照上级要求,及时排查市民服务中心工作人员疫苗接种情况,详细询问未接种原因。
在市民服务中心一楼大厅入口值班,为来访的群众测量体温、查验赣通码、行程码,询问是否接种新冠疫苗成为了常态。
对于一些未正确佩戴口罩的人员,在我们的温馨提醒下,都能够自觉佩戴好口罩,为自己和他人的健康负责。
在经过这为期一个月的实习工作后,我感受到了单位工作人员的不易,帮助到了办事群众,也提升了自我,而我也将继续努力,在未来的学习、工作中积极参加各类社会实践活动,为社会奉献出自己的一份力量。
dsp实习心得体会 (2) 我的为期六个周的实习在昨天彻底的结束了,原以为我会很轻松很潇洒的离开,但是没有想到当我跟我们班的那些同学告别,收拾行李踏上返校的汽车的时候,心情竟然是如此的复杂。
有对我们班那些学生的不舍,刚开始的时候我觉得很难融入那个班集体,常常会觉得很失落,可是当我刚刚开始慢慢融入到那个集体,发现了那群学生的活泼可爱的时候,实习却要结束了。
发现现实真的是很残酷的,它总是能抓住人性的弱点,然后再给我们狠狠一击。
所以在这里我也衷心的祝愿我的那班学生们能够健康快乐的成长,虽然他们现在的学习不是很让人省心,但是我坚信他们最后都能找到适合自己的一条路,开创属于自己的一片天,因为他们都是聪明善良的孩子!也衷心的祝愿我的实习指导老师张老师能够健康快乐,生活幸福美满!也感谢她在这段时间给与我的帮助。
DSP开发的几点经验
DSP开发的几点经验
1.你用了长字运算指令没有,DST,DLD,DSUB, 是有偶地址和奇地址区别的。
2.FRCT,你用了没有,别忘了,他会把你的乘积左移一位。
3.最好不要用直接寻址,频繁的改变DP指针会很难看,也耗费MIPS。
4.把A,AL,AH,BH当成smem来用,你会发现,st T,sem=st T,dst,ld smem,T=ld A,T等等
注意DP=0,这样你会觉得省许多麻烦。
5.别忘了XMEM,YMEM是双数据操作数
6.你用了延迟指令没有,放在他后面的两周期指令是否应该在其循环前执行。
7.如果你用了直接寻址,那么一定要注意DP值,而且要注意是基于DP还是SP的。
8.SXM,OVM,INTM也要时刻注意。
9.对XMEM,YMEM,只能用AR2-AR5的辅助寄存器。
10.使用并行指令时,如st src XMEM || ld YMEM dst 注意ASM的值
11.汇编指令手册中,凡是用Xmem和Ymem的地方(DUAL DATA-MEMORY),只能使用AR2、AR3、AR4、AR5四个寄存器,且只能使用*ARx, *ARx-, *ARx+和*ARx+0%四种形式的间接寻址。
12 .什么样的指令操作要先改变数据页dp的值?
凡是涉及到"段+偏移量"寻址,就要修改dp,主要是在非间接寻址的smem上。
请注意smem 只有7bit,没有段就没法寻址。
dsp学习心得
dsp学习心得最近,我开始学习DSP技术,这是一项专业的数字信号处理技术。
虽然这项技术对于许多人来说可能还相对陌生,但我认为它具有巨大的潜力和前途。
在学习过程中,我克服了许多挑战,但我也获得了很多宝贵的经验。
下面是我个人的DSP学习心得与大家分享,希望对大家有所帮助。
一、DSP技术概述DSP技术是一种专业的数字信号处理技术,它主要应用于音频、视频、雷达、通信、医疗、军事等领域。
该技术基于数学算法,通过数字计算对采集到的模拟信号进行处理,提取出所需的信息。
DSP技术的优点包括处理速度快、精度高、可靠性强等。
二、DSP学习要点1.数学基础学习DSP技术需要较好的数学基础,特别是离散数学和信号与系统的相关知识。
需要了解傅里叶级数、离散傅里叶变换、卷积等概念和应用。
同时,也需要掌握线性代数和微积分等数学基础知识。
2.编程语言DSP技术的应用离不开编程语言,如C语言、MATLAB等。
其中,C语言是最常用的编程语言,掌握好C语言对于学习DSP 非常重要,能够帮助我们深入了解DSP技术的实现原理。
3.实践经验学习DSP技术需要有实践经验。
通过实际操作,能够更好地理解理论知识,并加深对DSP技术的认识。
需要有耐心和恒心,多进行实践操作,多总结不同的处理方法和技巧。
三、常见DSP应用场景1.音频处理DSP技术在音频处理中具有广泛应用,其主要任务是对音频信号进行数字处理,以提高音频品质或减少噪声等。
2.图像处理DSP技术在图像处理中也具有广泛应用,例如对图像进行滤波、检测等操作,可以提高图像的质量和清晰度,应用在运动目标识别、人脸识别等方面。
3.通信处理通信领域是DSP技术的重要应用领域之一。
DSP技术可以对电话、移动通信等进行数字信号处理,可以实现音频压缩、语音识别等功用。
四、学习中的关键困难点1.数学知识的差距DSP技术需要掌握较高级别的数学知识,这也是学习中的一个关键困难点。
如果数学基础比较弱,需要花费更多的时间来学习相关知识。
一个高手的dsp开发经验之谈【最新】
一. 我是已经从事DSP开发有几年了,看到许多朋友对DSP的开发非常感兴取,我结合这几年对DSP的开发写一写自己的感受,一家之言,欢迎指教。
我上研究生的第一天起根据老板的安排就开始接触DSP,那时DSP开发在国内高校刚刚开始,一台DSP开发器接近一万还是ISA总线的,我从206开始240、2407A都作过产品,对5402、2812、5471在产品方案规划制定和论证时也研究过。
由于方向所限对6X、8X系列没有接触。
我发现在国内无论在公司或高校许多地方为了加快开发周期往往把一个产品开发分为硬件和软件两个相对独立部分,由不同的人完成。
这在具有一定技术和管理基础的公司,由总设计师统一规划协调,分任务并行完成的情况下是可行的,也是符合现代产品开发规律的。
但是在高校人员的流动很大,研究生的有效科研时间很短、基础差(许多研究生起步时对电熔、电阻、三极管的分类和选型都很困难,我也是这样过来的)更不用说系统规划设计了,况且许多老板自己也不太懂,师兄有自己的任务,他们搞明白时也毕业了。
在许多高校做DSP就是找一个算法加到自己的主程序里,在板子上跑一下,基本达到效果就可以了,至于可靠性是次要的,产业化无从谈起,这已经算不错的了。
其实我觉得一个系统的完成,系统的规划是最重要的,在规划时对硬件设计的知识和认识是决定性的,它可以让你知道什么是可行的,什么是不可行的,当你同时具有软件设计能力时,就可以合理的分配系统功能,完成使用VHDL进行系统行为描述-—系统功能划分——系统子结构设计这样的自顶向下的设计规划流程,成为系统设计专家、项目经理,否则只是硬件工程师、软件工程师。
无论作51、196、还是DSP都是这样。
下面分别谈谈我对硬件和软件设计的感受硬件设计是系统设计的关键,国内和国外产品的差距往往是硬件设计水平高低决定的,任何软件设计思想没有可靠的物理载体都是空中楼阁,纸上谈兵。
学校的研究生很多都想避开硬件设计,对于一个全新的设计与其说不屑不如说不敢。
北京工业信息化行业DSP开发工程师岗位介绍JD模板
北京工业信息化行业DSP开发工程师岗位介绍JD模板岗位名称:DSP开发工程师岗位关键词:DSP,接收机,雷达,软件开发,高速电路,FPGA开发,FPGA,硬件测试,软件测试,D语言岗位职责:1.负责设计产品DSP端信号处理软件应用设计、代码开发;2.负责设计产品的研制、调试、生产等工作;3.参与软硬件联合测试、试验;负责客户现场技术支持;4.负责相关产品技术文档的编写和维护。
岗位要求:1.熟悉数电、模电基本知识,熟练使用信号源、示波器等常用仪器;2.具有1年以上DSP应用设计综合经验,熟悉TI的DSP 结构(如TMS320C6678、TMS320C6748、TMS320C6713等),熟悉DSP开发流程,熟练掌握C/C++中的一种,熟练掌握DSP开发及仿真工具;3.熟悉DSP架构和电气特性,掌握时钟、RAM、高速收发器以及常用接口资源的使用;有多核DSP编程经验者优先;4.熟悉多数总线协议,如:EMIF、SPI、I2C、UART、PCI、USB、存储器(如SRAM、SDRAM、DDR)控制总线等;5.熟悉数字信号处理、信号调制解调等相关知识,并有相关经验;6.具有一定硬件基础,熟悉FPGA、DSP和ARM协同工作设计经验者优先;熟悉嵌入式软件开发,具有ARM/FPGA开发经验者优先;7.有多路ADC同步采样、中频数字信号处理、高速数据传输设计和实现经验优先;8.从事过水声信号处理、卫星导航接收机、雷达信号处理开发者优先;拥有军工相关项目开发经验者优先;9.工作积极主动,能够团结同事,实事求是,具有良好的沟通表达能力;10.水声学相关专业(水声信号与信息处理、水声工程、声纳信号处理等专业),雷达信号处理专业、导航控制专业、通信专业、电子信息专业等研究生及以上学历。
DSP开发经验的几点记录
DSP开发经验的几点记录by cwbyjsxl05电源部分使用了AC-DC5V的变压器,在引入板子的入口处加了一个自恢复熔丝fuse以防止电路出现短路等故障,对引入的5V又加了一个10uH的电感以隔离高频部分,然后对5V还有220u 和0.1u的电容滤波以期得到干净的+5V电源. 为了得到适合2407A的+3.3V供电要求,使用了TI推荐的TPS7333QD,输出+3.3V/500mA,而且还有一路200ms延时的RESET信号可以复位DSP. 由于电路中还有AD,DA部分,所以还需要用到模拟电压和模拟地部分,为了隔离,在系统使用了电感(10uH)或者磁珠进行隔离,如果电路要求不高的话也可以使用0 ohm电阻进行隔离.IO口的驱动能力由于DSP的IO口没有单片机的IO口驱动能力强,例如在控制指示发光管的时候可以加一个三极管(如8050)来增大驱动能力再驱动发光管.注意电平转换由于电路中有3.3V与5V的IC,所以在进行接口的时候要注意电平转换问题,推荐的转换芯片是74LVC245,74LVC16245等,既实现电平转换又实现了缓冲.使用了AD1674外扩了ADC由于2407A的内部AD只有10位分辨率,所以使用了AD1674外扩了ADC,为了给AD1674供电,需要+/-12V的电压,所以在电路中采用了DC-DC模块NR5D12/100,方便了电路设计.在模拟开关CD4051部分还是需要+/-电源的.常用的运放常用的运放LM324,LM358,CA3140(高输入阻抗10^12),OP07.具体使用可查阅资料建议对DSP2407A的输入引脚最好能经过74LVC245的缓冲.SCI,SPI,CAN 部分引脚起码要进行缓冲电平转换再接入DSP,有条件的话还可以用光偶(快速点的6N137,慢点的有TLP521,4N25).时钟处理时钟部分可以选择无源的晶体或有源的振荡器.10M即可,可以利用内部的PLL电路来倍频,这样可以减少板子上的噪声.关键引脚处理2407A的几个关键引脚需要特殊处理.例如,PLLVCCA需要加干净的3.3V,BOOT_EN/XF 可以加一个10K的上拉电阻,PLLF与PLLF2需要根据时钟来选择外接的电阻电容,VCCP需要有个插针,BIO可以加一个10K的上拉,CLOCKOUT可以扩展出来以供测试用,MP/MC需要一个插针,READY/ ENA_144 /VIS_OE 需要加上拉4.7K,PDPINTA/PDPINTB/XINT1/XINT2也可以加上拉10K.整流桥使用在电源部分还可以接一个整流桥,目的是防止电源极性接反,整流桥在直流中可以作为极性校正电路来使用.。
dsp实习心得体会
dsp实习心得体会DSP系统的数据手册就专门有一大段内容对外部程序空间、数据空间、IO空间访问的图和说明,这是实习后的心得体会。
下面是店铺为大家收集整理的dsp实习心得体会,欢迎大家阅读。
dsp实习心得体会篇1如果说前几年DSP作为一个器件,一个处理器或一个事物是相对比较新的东西,那么现在DSP已经在我们电子设计开发中非常常见了。
首先我们从定义上简单理解一下DSP。
我们涉及到的DSP主要是只这里特指数字信号处理器芯片,这里我把我的一些学习经验和大家分享。
希望对大家有帮助了解DSP我个人认为学习一个东西首先是了解它,比如DSP到底是什么?用在什么地方?怎么用?和这里我们传统的单片机特点有那些相同与不同?开发需要注意什么?怎么样完成一个最小系统等。
我想了解清楚这些问题我们自然就清楚比较清楚的认识DSP了。
下面我们就来对上面的问题我们在很多地方都可以找到答案,我把其中比较重要的简单的回答一下。
DSP大家注意和传统的概念区分一下,传统我们经常说的DSP(Digital Signal Processing(数字信号处理))的缩写也就是说是一些功能算法,这里的DSP是指(Digital Signal Process(数字信号处理器))的缩写,也就是说他是一个集成一些外设的一个芯片,类似我们的单片机。
我们通过程序实现一些特定的功能。
和传统单片机比较的区别?DSP功能比普通单片机高出很多,当然价格也比较高。
所以直接用DSP和单片机比较是不合适的。
我们这里比较不是从他的应用领域来比较,我们是从开发的角度来比较,为了是使那些熟练使用单片机的朋友可以很快上手。
当然我的主要目的的大家可以比较学习,达到熟悉一种CPU其他就可以很快上手。
下面从几个方面比较一下1,硬件上比较从硬件上比较DSP和传统的单片机主要有几个方面不一样,很多DSP电源系统比传统的复杂,但是这个并不影响我们因为如TI的DSP 都提供相关的测试电路。
开始的时候大家可以完全按照他来设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP工程师的经验分享2011年12月02日10:50 来源:本站整理作者:叶子我要评论(0)我是已经从事DSP开发有几年了,看到许多朋友对DSP的开发非常感兴取,我结合这几年对DSP的开发写一写自己的感受,一家之言,欢迎指教。
我上研究生的第一天起根据老板的安排就开始接触DSP,那时DSP开发在国内高校刚刚开始,一台DSP开发器接近一万还是ISA总线的,我从206开始240、2407A都作过产品,对5402、2812、5471在产品方案规划制定和论证时也研究过。
由于方向所限对6X、8X系列没有接触。
我发现在国内无论在公司或高校许多地方为了加快开发周期往往把一个产品开发分为硬件和软件两个相对独立部分,由不同的人完成。
这在具有一定技术和管理基础的公司,由总设计师统一规划协调,分任务并行完成的情况下是可行的,也是符合现代产品开发规律的。
但是在高校人员的流动很大,研究生的有效科研时间很短、基础差(许多研究生起步时对电熔、电阻、三极管的分类和选型都很困难,我也是这样过来的)更不用说系统规划设计了,况且许多老板自己也不太懂,师兄有自己的任务,他们搞明白时也毕业了。
在许多高校做DSP就是找一个算法加到自己的主程序里,在板子上跑一下,基本达到效果就可以了,至于可靠性是次要的,产业化无从谈起,这已经算不错的了。
其实我觉得一个系统的完成,系统的规划是最重要的,在规划时对硬件设计的知识和认识是决定性的,它可以让你知道什么是可行的,什么是不可行的,当你同时具有软件设计能力时,就可以合理的分配系统功能,完成使用VHDL进行系统行为描述-—系统功能划分——系统子结构设计这样的自顶向下的设计规划流程,成为系统设计专家、项目经理,否则只是硬件工程师、软件工程师。
无论作51、196、还是DSP都是这样。
下面分别谈谈我对硬件和软件设计的感受硬件设计是系统设计的关键,国内和国外产品的差距往往是硬件设计水平高低决定的,任何软件设计思想没有可靠的物理载体都是空中楼阁,纸上谈兵。
学校的研究生很多都想避开硬件设计,对于一个全新的设计与其说不屑不如说不敢。
试想一下烧几个片子的压力要比跑飞几段程序的压力大的多,尤其是功率器件,一旦烧掉,弄不好火光冲天,人的自信都没了。
况且改一次板周期长,经费高,还不知行不行。
其实在国外实力一般的公司也是尽量避免硬件的更新设计,产品一旦定型往往通过软件升级,这是公司的发展策略,对个人而言物以希为贵,培养一个硬件设计师往往要比软件设计师时间长花费多。
在设计dsp硬件时,开始设计最小系统板,系统按功能分板设计调试,注意分板电路的稳定性可能不如整板电路,要多加入抗干扰环节,分板间的引线包括电源线地线要短,尽量在10公分以内,实在不行加入光耦隔离、采用隔离电源。
切记电源线、地线的干扰远比信号干扰对系统的危害大得多,又常常被人忽视。
电路板工作正常的先决条件就是电源正常!当分板电路正常后再更居情况设计整板电路。
在调试时发现的问题一定要找到原因解决,即使是飞线,割线,不要寄希望于下一板改了再看,除非原理性错误。
每一个功能环节多准备几套方案。
DSP的选型要根据系统功能而定,2000是一个功能比较全的控制器,但运算性能相对低,但目前大部分控制类、家电类包括中低层次的工业总线通信产品足够了,281X不错但太贵,而且开发技术不成熟。
54XX更像一个协处理器,其实高端产品5471就很好,功能完*,但BGA封装对产品的开发有一定难度。
如果没有从事过嵌入式系统开发的朋友其实可以从51看起,许多思想是共通的,51很经典没有哪一款微处理器像51那样使用持久和普遍。
在硬件设计时更多的精力放在外围电路设计上,外围电路设计的灵活性要比DSP本身高得多,难度大得多。
建议多考虑CPLD。
软件设计上,着眼点不要仅局限于某种算法和控制策略,而是软件系统框架的制定,即操作系统的选择和实现,算法和控制策略只是其中技巧性很强的子程序和子程序间参数相互关系,建议设计软件时能具有操作系统、数据结构和编译原理方面的知识,特别是使用C。
对DSP的内部硬件结构一定要掌握,特别是中断结构和流程、流水线操作,不然飞都不知道怎么飞的。
在语言选择上我当时是这么给自己规定的先编20个左右的汇编程序,每个代码量超过4K,使用语句范围覆盖全部语句的60%-70%,在此基础上使用C。
现在发现用C构建程序的主体框架(操作系统)比较快而其不容易出错,(我现在正在用ASM根据UCOSII的思想重写自己的操作系统)但对系统实时性影响比较大的运算算法一般采用MATLAB——C——ASM的办法仿真调试优化,这里的优化不单单是利用优化器优化,而是根据数据的特点改变运算方法,以除法为例C里的/号其实掩盖了许多技巧,当除数为常数时就可以放大倒数移位相乘移位的办法进行,精度高速度快。
这些办法只有掌握了ASM语言并用ASM语言思考才会熟练应用。
另外我想告诉一些作算法特别是控制算法的朋友,千万不要随意评判一个算法的优劣,在程序中程序和代码优化的程度往往影响了控制效果好坏,而不是算法本身的思想。
其实在实际中往往PID甚至PI、PD就够了,神经元、模糊、小波适用于研究和写论文,模糊在实际中用的多一点,主要是小日本用的比较成熟,我再恨日本人,这点也服气,小日本就是滑,许多物理现象搞不透,就用这法,还管用,题外话。
最后我想说的是,当我们面对市场要求时,产品往往考虑的是可靠性、性能、价格而不是你用的什么芯片,在满足性能的基础上结构越简单就越可靠,芯片越通用价格就越低,能用51就不用196,能用2407就不用2812,除非把芯片本身作买点利用高成本赢取高利润。
无论2000还是5000、6000系列都有市场前景,关键是要做深做透。
获取知识的方法、处理项目的能力是相通的,具体的说就是不要把目光盯在做硬件还是做软件上,用ASM还是C,要勤动手打好基础,提高自己对系统总体设计的能力,从系统的眼光看问题。
为什么都是做DSP的有的毕业拿3000,有的5000、8000,除了运气和关系外,重要的是你对事物的认识深度和高度。
我一直都记住这句话:有前途的人做什么都有前途,没前途的人做什么都没前途。
与其说是钻在里面,毕业设计是搞240,在老师的压力做出了一点东西,这期间主要是对DSP的各种基础知识的熟悉与理解,对DSP的真正深入是在公司工作以后。
当初进公司,因为正有一个项目需要用5410要我接手。
说实话,在学校期间我5000的书都没有看过一眼,可没办法,只能靠自己了。
不过好的是我2000DSP的基础很好。
接过项目后,我第一个星期就全部看的是5000的指令,DSP的结构倒没怎么看,因为项目硬件已成型,主要是算法。
这样,花了一个星期熟悉指令与项目相关的程序,第二个星期也就开始编程了。
半个月以后我对5410也就用很熟了的,当然主要还是讲在算法方面。
这个项目太概做了四个月吧,系统程序是我编写的,主要有如64位加减乘除乘方开方、及时域方面的一些算法。
现在又做一个控制系统,用2407开发的,硬件主要有直交变频,并把2407的所有外设资源全部用到了。
现在我可以这样自夸一句吧:TI的2000系列与5000系列的我都熟悉,要我去以此做个系统,没问题。
上面是把我搞DSP的经历简单说了一下的吧,在这里我想对正在学及想学DSP的难兄们说一句的是,DSP并不是很难。
当然,这个前提是你的基础要好,我单片机,接口都还行,当初就是从单片机改成DSP的。
有了单片机的基础再去学2000第列的DSP(下面的DSP单指2000系列,另有说明为止),你就可以把DSP看成一个super microcontroller 了。
相比之下,DSP除了比单片机多了更丰的外设接口(SPI,SCI、CAN、PWM、CAP、QEP等等),他就是一块单片机,只不过在单片机来说你要另加芯片的工作,DSP全部把它做在一块芯片去了,我现在看DSP也真就这么简单。
前面有人提到DSP主要是做算法,这句话有一定的片面性: TI有很多系列的DSP,现在主流的DSP主要为2000系列、3000系列、4000系列、5000系列、6000系列。
除了2000与5000系列是定点DSP外,其余的均为浮点系列。
TI 的2000系列主要长处是在用于控制系统,因为它的资源非常丰富,前面提到,在控制系统中用到的一些外设2000系列均在片内集成了。
TI的5000系列主要长处是用于数字信号的算法处理,这里所讲算法处理主要是指在数字信号处理时的一些算法,如FIR、IIR、FFT等等。
5000系列的DSP的速度比2000快,2407最快只能到40M,2800系列除外,5410的DSP可以达到160M,如现在我们主要用来做数字信号方面的处理以及简单的静态图像处理等这样一些在资源需要处于中等的一些算法。
TI的6000系列主要是用在实时图像处理,这个就更则重于算法处理。
一般的硬件很少自制,我们是用TI的DSK板再加上自主板相结合。
使用C/C++语言编写基于DSP程序的注意事项#e#使用C/C++语言编写基于DSP程序的注意事项1、不影响执行速度的情况下,可以使用c或c/c++语言提供的函数库,也可以自己设计函数,这样更易于使用“裁缝师”优化处理,例如:进行绝对值运算,可以调用fabs()或abs()函数,也可以使用if...else...判断语句来替代。
2、要非常谨慎地使用局部变量,根据自己项目开发的需要,应尽可能多地使用全局变量和静态变量。
3、一定要非常重视中断向量表的问题,很多朋友对中断向量表的调用方式不清楚。
其实中断向量表中的中断名是任意取定的,dsp是不认名字的,它只认地址!!中断向量表要重新定位。
这一点很重要。
4、要明确dsp软件开发的第一步是对可用存储空间的分析,存储空间分配好坏关系到一个dsp程序员的水平。
对于dsp,我们有两种名称的存储空间,一种是物理空间,另一种是映射空间。
物理空间是dsp上可以存放数据和程序的实际空间(包括外部存储器),我们的数据和程序最终放到物理空间上,但我们并不能直接访问它们。
我们要访问物理空间,必须借助于映射空间才行!!但是映射空间本身是个“虚”空间,是个不存在的空间。
所以,往往是映射空间远远大于实际的物理空间,有些映射空间,如io映射空间,它本身还代表了一种接口。
只有那些物理空间映射到的映射空间才是我们真正可访问(读或写)的存储空间。
5、尽可能地减少除法运算,而尽可能多地使用乘法和加法运算代替。
6、如果ti公司或第三方软件合作商提供了dsplib或其他的合法子程序库供调用,应尽可能地调用使用。
这些子程序均使用用汇编写成,更为重要之处是通过了tms320算法标准测试。
而且,常用的数字信号处理算法均有包括!!7、尽可能地采用内联函数!!而不用一般的函数!!可以提高代码的集成度。