DSP与STM32区别

发布者:xrmilk最新更新时间:2021-06-08 来源: eefocus关键字:DSP  STM32  编译环境 手机看文章 扫描二维码
随时随地手机看文章

如果我需要很多高级的接口,比如以太网和USB,那么我自然选STM32,如果我需要实现一些算法,那肯定会选DSP。如果你对运算速度不敏感,反正72M的速度已经比原先单片机快很多了,那当然是看你熟悉哪个,哪个价格比较好,支持比较好。


从51 AVR到DSP最大的障碍

1、应该是编译环境吧,TI的DSP都用的是CCS,CCS界面和原先IAR区别不是一般的大,比如程序导入,比如观察变量,比如烧写FLASH。恩,是的。用过了IAR那种傻瓜化的操作了之后,真是怎么弄怎么别扭,CCS真是太不友好了。但是没办法,IAR他们是专门做编译软件的,TI主要是做DSP的,TI也意识到这个问题了,所以现在推出的CCSV4好像在这方面有很大的加强。不过网上还是CCS3.3的资料最多,大家也熟悉,如果刚接触还是先用CCS3.3为好。


如果你手头有快开发板,那里面应该有对这些操作的详细说明。所以这个慢慢应该也可以熟悉。


2、库文件。TI的库文件都是联合+结构+位域的形式。对这些结构不是非常熟悉的话可能看着有点晕,这个只能慢慢去看C的书。最纳闷的可能就是它的地址映射,如何把寄存器映射到相应的地址,那是它由编译器来支持的主要通过#PROGRM来实现,可以去看看它的CMD文件


3、CMD,CMD文件可能是入门最大的一个坎了,单片机或者ARM根本就没这么一说,这破东西到底啥用呐?CMD文件主要作用就是用来做内存分配,你的芯片里面有FLASH有RAM有BOOT ROM,你编写的程序有代码,要烧到FLASH中,有全局变量要存到RAM的全局变量区域,有局部变量,要存到堆栈中。CDM文件其实就是把你代码中的这些一块一块的东西和具体的硬件存储对应起来。你可以随你需要任意来配置,比如我有一个数据表格,普通的单片机你定义好了之后会有编译器来帮你存放到一个地方,但是DSP里面你可以通过配置CMD把它放在你认为合适的地方。再比如堆栈空间的大小,以前从来没关心过堆栈大小,但是开辟的太大的话可能浪费内存空间。当然,每个芯片都有一个标准的CMD文件,初学者完全可以不用去修改它。


4、文档。TI的文档包括数据手册和外设指南,很多人说很乱,不像其它芯片,所有外设的资料都会放在一起,但是TI会每个外设弄一个。这就要说说TI的外设,它的外设都非常专业,是的专业。比如它的PWM外设,叫ePWM,也就是增强型的PWM,这个外设可以轻松输出非常复杂的PWM波形,而且不用CPU参与。所以它的外设指南有100多页,你会发现很多外设都是这样,里面有很多很多增强的功能,相对应的它的说明文档也就非常长。要是全部都集合在一起那就会非常的大。而且它的每个外设都是有独立版本的,比如ADC,已经从0版到3版,而ePWM还是1版,分开之后升级的维护会方便很多,很多外设在类似的芯片都是一样的。


用STM32的时候我从来没看懂过它的库,甚至都没仔细看过它的手册。但是最后也搞出来了,完了之后我对这块芯片没多少熟悉的感觉。但是用C2000系列的DSP的时候则要反反复复的去看外设指南,分析手册上给出的结构,让我对芯片非常熟悉,再加上它的编译环境是完全可以配置的,我甚至都知道我某个变量会在哪个地方。


工业控制与自动化, 这个按21IC的网友说:“那是万精油”面很广。。。!


芯片只是个躯壳。 重要的是专业知识和算法。TI的DSP 性能质量稳定可靠。 让你用的放心。


而STM32, 有许多未知的因素,比如BUG,可靠性等等,如果楼主的产品价钱利润高,当然使用TI的DSP或者MICROCHIP的DSPIC.咱们不用太担心 芯片的质量问题,芯片的BUG/抗干扰等等。。。


TI的DSP有些地方做的比STM32专业好多。例如可靠性,TI的DSP的许多寄存器有写保护功能,因此对某些从引脚等干扰芯片内部寄存器/改写内部寄存器等严重问题,会有很大帮助。但是STM32没有这个功能。还有TI在DSP在电机控制控制方面做得很专业,PWM部件的功能,比如死区,输入保护,PWM脉冲的特殊波形等方面都有独到的地方。


而STM32 还是显得比较嫩。 TI多年前都专门有虚拟浮点库给定点的DSP使用。也是最找出浮点DSC的厂家。28335比STM32F4早了3-4年推出市场。


而且TI 还出了一个芯片内包括两个核心:ARM7/CM3+DSP的控制器。还有多通道同时采样转换的ADC , TI在医学/电力电子与新能源方面的应用等都可以看出 TI比ST公司专业很多。更知道咱们需要什么。


但对于咱们使用者来说,如果是中档路线或民用的工业产品,或者对成本比较敏感的产品,当然要STM32之类的了。作为工程师,可以快速使用多种芯片,这个是必须的。


用STM32的好处是, 芯片可以前后呼应, 有ARM7,ARM9, CORTEX-M/A等等。一系列的产品。从低到高,功能外设都很强大,可以承前启后的。如果是作为学习,我建议楼主用STM32来入门。


关键字:DSP  STM32  编译环境 引用地址:DSP与STM32区别

上一篇:STM32之内部温度传感器
下一篇:关于STM32主存储块擦除编程操作的一些疑问

推荐阅读最新更新时间:2024-11-12 17:03

DMA的外设地址简单说明
说成外设寄存器地址不就完了么,和内核的总线地址又容易混起来,总之dma的源和目的地址,涉及到外设的,就是外设寄存器,iis数据要从总线跑到外设寄存器上,dma才能亮剑 关于在STM32的DMA中使用外设地址 在使用的DMA的时候,有时候需要将外设的地址作为源地址或者目的地址,对于初学者来说这个地址在哪边确定有点犯难,这篇文章就来告诉大家如何快速找到你需要的地址。 我们先看一个DMA初始化的例子: //DMA初始化函数 void UsartDMA_Init(void) { DMA_InitTypeDef DMA_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENAB
[单片机]
STM32 硬件错误HardFault_Handler的真凶
STM32出现HardFault_Handler故障的原因主要有两个方面: 1、内存溢出或者访问越界。 2、堆栈溢出。 最近遇到的问题是栈溢出,情况是这样的,举例说明: static char data ; void fun1(unsigned char *buf) { int i=0; for(i=0; i 5000; i++) { data = buf; } } void fun2(void) { unsigned char buf ; .........; fun1(buf); //执行完毕此函数出现硬件错误HardFault_Handler printf( data: %s\r\n ,buf); } int main()
[单片机]
8051单片机和STM32单片机的编程环境对比
单片机编程是一门实战性的技术,程序要在单片机平台上跑起来才能看到效果、才能积累编程经验。在学校学习单片机课程时,可能会感觉到一直有一种脱节的感觉,因为一直没有用武之地。其实学习单片机很简单,第一步就是搞清楚编程环境。 入门单片机时,我们常用51型8051单片机和STM32单片机。这两种单片机比较典型,因为学校里单片机课程是基于51单片机的,而STM32的单片机则具有较多的学习资料。下面就这两种单片机介绍一下编程环境。 1、单片机常用的编程环境 比较流行的单片机环境有keil和IAR,这两种环境可以覆盖市面上90%的单片机型号,而且都提供了函数库。根据单片机位数不同,这两个编程环境也有不同的版本。 1.1 Keil的常用版本
[单片机]
8051单片机和<font color='red'>STM32</font>单片机的编程<font color='red'>环境</font>对比
stm32串口奇偶校验
STM32串口通信使用奇偶校验的时候应该设置数据位长度9bit,奇偶校验是硬件完成的,并且stm32用校验位时,数据位要选9位,8位会出现故障可能。 STM32串口通信使用奇偶校验代码如下:#ifdef USART1_ON //允许USART1的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); _InitStructure.USART_BaudRate = 9600; USART_InitStructure.USART_WordLength = USART_WordLength_9b; USART_InitStructure.USART_StopBits = U
[单片机]
STM32开发环境】Linux下开发stm32(三) | 寄存器工程开发
先来回顾一下,前两篇 Linux下开发stm32(一) | 使用gcc-arm-none-eabi工具链编译 和 Linux下开发stm32(二) | 使用openocd下载与调试 中,我们介绍了如何创建一个空的裸机工程(只有启动文件和main文件),并编译工程生成elf文件,然后将其转为bin格式或hex格式,使用openocd下载,最后编写了一个makefile雏形,并成功点亮了一个LED~ 但是这个LED我们是通过指针直接操作寄存器地址来完成的,接下来,我们在此基础上,引入stm32头文件,其中包含了寄存器的宏定义,也就是使用寄存器进行开发~ 1.创建寄存器工程 首先将上一节中创建的裸机工程00-template-re
[单片机]
【<font color='red'>STM32</font>开发<font color='red'>环境</font>】Linux下开发<font color='red'>stm32</font>(三) | 寄存器工程开发
ADI公司的人数统计算法确保高效空间利用与工作人员安全
中国,北京 – Analog Devices, Inc. (ADI)今天推出ADI EagleEye™ ADSW4000人数统计算法,用于检测和统计会议室或办公室等室内空间中的人数。ADSW4000是一系列应用级软件算法中的首个算法,这些算法都是ADI EagleEye平台的一部分,该平台还包含基于ADI Blackfin®嵌入式数字信号处理器(DSP)的硬件子系统和一组应用级软件构建模块,让用户能够快速开发自己的人数统计系统。ADSW4000算法提供了系统边缘节点分析,可借助有用见解来提高空间的利用率,另外还能通过距离监控保障人员安全,以及在智能楼宇空间内提高能效。 ADSW4000的主要特性: • 用于室内
[嵌入式]
ADI公司的人数统计算法确保高效空间利用与工作人员安全
基于STM32-蜂鸣器
1.蜂鸣器 蜂鸣器是一种发声设备,被广泛用于计算机、打印机、复印机、报警器、电子玩具等。后面介绍定时器是会给大家说说利用蜂鸣器实现歌曲演奏。蜂鸣器分为有源蜂鸣器和无源蜂鸣器。那么什么是有源,什么是无源呢?这里的有源不是指电源的“源”,而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声;无源蜂鸣器则没有自带震荡电路,必须外部提供 2~5Khz 左右的方波驱动才能发声。 2.硬件介绍 这里使用STM32F103实现无源蜂鸣器的交替发声,下图是硬件设计图。首先,STM32F1 的单个 IO 最大可以提供 25mA 电流(数据手册查看),而蜂鸣器的驱动电流是 30mA 。这里使用一个NPN三极管(S8050)扩
[单片机]
基于STM32-蜂鸣器
Dialog获TENSILICA HiFi Audio/Voice DSP IP授权
【中国,2013年9月26日】—— 高度集成的电源管理、音频、模数转换及短距离无线技术供应商Dialog半导体公司 (法兰克福证券交易所代码: DLG)今天宣布,它已从电子设计创新领先企业Cadence设计系统公司(纳斯达克证券交易所代码: CDNS)获得Tensilica® HiFi Audio/Voice DSP IP的授权。Dialog将开始使用该IP,为其连接产品开发下一代音频解决方案。 Cadence® Tensilica HiFi Audio/Voice DSP是业界使用最广泛的可授权音频/语音DSP产品系列,支持超过100套成熟的音频/语音软件包。为了提升用户的音频体验,这些软件包都做了特别的优化。 “
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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