原创 STM32开发历程--背景介绍

2009-1-7 22:32 2990 1 2 分类: MCU/ 嵌入式
很早就想写点东西,对自己学习算是有个交代(自己比较健忘,所以必须写到纸上,方便查阅,同时也可以帮助那些需要帮助的人)。
    工作了三四年,对MCU这个领域算是比较了解,用过51的单片机若干(SST STC ST AT MEGAWIN),AVR全系列基本用过,PIC主要用过18系列,凌阳的16位单片机(75系列)搞了好一阵子,LPC2000(ARM 7),LM3SXXX(COTEX-M3)都曾经用过,最经又在研究STM32F10X(COTEX-M3)系列的MCU。
    一年前就开始关注流明诺瑞的LM3Sxxx了,他的优势在于性价比高,但是ZLG代理商的服务相当的不到位,导致失去了我这个客户,我敢肯定的说他们一定会后悔的(但愿啊)。不久,STM32就和LM3S一样红红火火的上市了。同样出于前沿技术的好奇,对此系列的MCU进行了一定的了解,觉得用着工控上面是相当有竞争力的,所以自己给自己定了个目标,今年玩转他。今天是今年的最后一天,MCU基本已经上手,已经用它做了一个项目,感觉不错,在这里把心得体会和大家分享一下。
    这里主要说一下这块芯片的优势。
    1.定时器:定时器工作的模式较多,比较复杂,具体的要看数据手册。最主要的特点是定时器1支持六组PWM,前有死区设置,这个对高过变频器,UPS等同志来说相当于找到了知音,一看就知道了天生具备了三相异步感应电动机控制的能力,看看其他定时器,都有4路PWM,同样有死区控制,而且定时器有编码器模式,这不仅能控制步进电机、无刷电机,而且速度环的控制也能进行,真是无所不能,这是我看到的比较NB的片子了。
    2.ADC:12位分辨率,1Mbps的速度,16通道(外带一个温度传感器和内部电压检测),随便看看ADS的ADC芯片,20快钱也只能买个2通道,500Kbps的吧,这个ADC和MPS430的有相同之处,能够制定采样的顺序,进行不间断的采样,用起来相当的爽,很顺手。看看三项电力仪表可以用它了吧。还有一个我比较喜欢的功能就是带模拟量看门狗(比较像新名词啊),说白了就是设定最大值,最小值限制的,超过这个值可以产生中断(爽吧,有写东西不需要一直判断,刷新了)。
    3.DMA:DMA是最近才注意研究的功能,他能将外设的信息直接存储到SRAM中,或者将SRAM中的数据直接传递给外设,不需要CPU的干预,这样大大提高了效率,就拿ADC来举例吧。虽然ADC的采样速度能够到1M,但是我们要读寄存器什么的,这样速度永远到不了1M,然而用了DMA,我可以设定一个BUFFER给DMA,转换后DMA自动将转换值写入SRAM中,写完最后一个后如果还有数据,将从第一个开始覆盖,形成一个环形队列,这样加上过采样处理,能够大大改善ADC的采样精度。
    4.USART 串口资源比较丰富,有一个完整的9针串口(完整功能的串口,带CTS RTS等),同步异步都可以,有点就是数量多,由于GPIO可以REMAP,所以资源基本上都能用上,避免了51只能用一个资源的尴尬。
    5.价格:我大概问代理商申请了一些样片,100脚,128K flash 20K RAM ,淘宝价是30多快吧,你自己说值不值吧。
    介绍了这么多有点,下面我就开始写学习的过程(相当于复习一下了),以备以后用到时不要忘记了。同时给需要的朋友提供一些参考。
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户21751 2013-12-19 00:46

啊,怎么会这样!?
相关推荐阅读
用户1071009 2009-01-07 22:33
STM32开发历程1--工程的建立及库函数的使用
最近时间比较紧张,又要准备回家,所以很少有时间来写东西。但是事情总是要做的,不做是不行的,看到公司的小MM的程序跑不起来,还真有点心急。由于想给她锻炼的机会,算了,还是让她自己弄弄吧。    不扯远了...
我要评论
1
1
关闭 站长推荐上一条 /4 下一条