cc2530与51单片机区别
扫描二维码
随时随地手机看文章
首先要明白一个东西,可以叫架构或者说内核,可以把这个东西理解成芯片设计时候的大框架,STC系列的单片机是一个大的框架设计的,叫8051。STM32也是一个大框架设计的,叫ARM。这里没有说到2530,先别急,往后看。
那么是不是一种大框架设计出来的芯片都是一样的?其实也不都是一样的。区别有两方面,一方面是芯片硬件上的外设资源,另一方面,是芯片配套的软件SDK。
芯片硬件上的外设资源,包括但不限于它有多少个定时器,它有多少中断,有多少IO,有多少串口,有多少SPI,有多少IIC,当然,也包括它带不带无线射频的组件。所以你看STC的芯片型号非常多,区别其实就在外设(很典型的例子,stc12c5a60 pwm是8位的,stc15w4系列pwm是16位的)。传统的51单片机是不带无线射频部分的组件的,比如STC的芯片。而C2530设计的目的是面向ZigBee的,ZigBee是一种常用2.4G频段通信的协议簇。可以把ZigBee、蓝牙理解为同一层面的东西。所以这就是51单片机(暂且定义为以stc为代表的各种51单片机)和cc2530的一个区别,即硬件外设上,2530带无线射频组件,有丰富的外设(flash,ram等等)。
芯片SDK方面,芯片厂商设计芯片的时候光给你数据手册是不行的,因为现在芯片设计的越来越复杂,各家芯片厂商设计的芯片之间也有一些差异,所以这些厂商在设计芯片的时候,通常也会提供不同的SDK。比如,野火的《STM32库开发实战指南》就讲的STM32的库(相当于ST公司给大家的SDK),当然,现在有更好用的stm32cube了。你肯定会说,STC51单片机没给我SDK啊?STC的51单片机确实设计的太好上手了,不需要复杂的SDK,一个功能,数据手册几行代码复制出来就能用。但是在无线传感器网络这个领域就行不通了。比如刚才提到,2530比STC51多了无线射频的外设,那2540也比STC51多了无线射频的外设,2530和2540又有啥区别?区别就在SDK。2530和2540,一个应用场景是ZigBee,一个是蓝牙,Ti都为其设计了非常复杂的SDK,其中核心就是OSAL。可以这样理解,你要用STC51的方式,来操作寄存器写一遍蓝牙协议栈或者ZigBee协议栈,欢迎大神来尝试哈!搭起我的小板凳,强势围观。所以,我们不可能从零开始实现一个无线协议栈,那么TI就帮我们完成了,OSAL负责各种任务的调度,我们根据TI SDK预留好的借口,就能快速的开发出自己无线传感器网络的demo了。
综上,2530和普通51单片机的区别,硬件外设上,2530的外设更加强大,核心是多了无线射频的模组。软件层面上,2530提供了SDK,开发需要你了解OSAL才能用的好这个芯片,而普通51单片机没有。