dsp开发的一般流程
如何自学FPGA研发?
如何自学FPGA研发?
自学FPGA需要一些基础,而且需要学习庞杂的知识,下图是我总结的一个FPGA学习者需要掌握的知识体系或是架构!基础从数字电路开始,学会常用的电路,比如加法器,计数器,上升沿下降沿检测等,移位寄存器。并且用Verilog语言能描述出来,做好每一个Module的仿真。养成良好的文档化设计习惯和代码风格!掌握完基础的知识,然后开始学习写驱动和协议,简单的协议如UART,IIC,SPI等,驱动如AD,DA,数码管等器件!最后学习软核和硬核等!
该如何理解嵌入式开发?
嵌入式开发实际上包括三大方向:FPGA(现场可编程逻辑门阵列)、ARM、DSP(数字信号处理)。不知题主是想了解哪个方向的开发。下面简单谈谈三大开发方向。
一、FPGA开发1、FPGA的编程语言FPGA开发的编程语言有两大类:Verilog、VHDL。近几年又推出systemverilog,在verilog基础之上进行扩展、添加(比如支持接口的定义)。
1)、Verilog
verilog与C语言编程风格类似,通俗易懂,有C基础的同学很容易学习verilog。
2)、VHDL
VHDL理解上复杂,不适合初学者,但实际上厂家的IP开发,底层都是基于VHDL的,VHDL逻辑更严谨。
2、FPGA的开发平台不同厂家的FPGA开发,软件开发平台不一样,各有自己的开发工具,而且有很多便宜的开发板,学习资料较多。
1)、altera
软件开发工具:quartus,nios,
2)、xilinx
软件开发工具:ISE、Vivado、SDK、HLS等。
3、FPGA的设计思想自顶向下设计
4、FPGA的应用方向1)、通信
2)、航空航天
3)、汽车
4)、图像处理
5)、医疗器械
5、FPGA对开发者的要求对于FPGA的入门初学者,应该理解数字电路设计、模拟电路设计(大二理工类必修课),能够看懂硬件原理图,根据自身专业方向,选择合适的FPGA开发。
二、ARM开发ARM开发本人接触较少,只是了解大概,题主可以上网搜索。
1、ARM的开发语言——CARM的常用开发语言就是最通俗易懂的C语言(大学生的必修课)
2、ARM的开发方向1)、ARM嵌入式驱动
嵌入式驱动实现底层硬件功能,常用开发于各种板卡驱动,芯片驱动等开发
2)、linux内核
linux内核开发是建立在Linux系统开发,可以根据自身系统需要,来增加或减少linux系统中的内核模块,量身定制。很多智能设备上都用到linux,也驱动开发。
3、ARM的应用领域
应用非常广泛,最常见的就是手机,智能终端,网络芯片,成像,安全等等。
三、DSP开发1、DSPDSP,即数字信号处理,主要做控制设计(低端芯片),算法设计(高端芯片)。对于有单片机基础的同学可以向DSP方向发展。
2、DSP开发平台1)、TI
软件开发工具CCS。
2)、ADI
软件开发工具Blackfin。
3、DSP开发流程DSP的开发流程和C语言的开发一致,包括底层驱动,算法模块设计,系统优化,板载验证。
4、DSP应用DSP应用也是很广泛,C算法设计常用DSP实现。
1)、语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。
2)、图像/图形:二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增强等。
3)、军事:保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和反搜索等。
4)、仪器仪表:频谱分析、函数发生、数据采集、地震处理等。
5)、自动控制:控制、深空作业、自动驾驶、机器人控制、磁盘控制等。
6)、医疗:助听、超声设备、诊断工具、病人监护、心电图等。
还有很多其他应用领域就不一一介绍,DSP开发适合研究算法的高端人才,需要了解很多算法。
以上是嵌入式开发最基础的了解。