内容涉及以下:
●按照所处理的信号,对电子线路的分类
●数字电路的特点
●常用数字集成电路器件的种类和特点
●微控制器(Microcontroller,MCU)的结构
●德州仪器(TI)公司MSP430系列微控制器(MCU)的特点
●MSP430微控制器的最小系统电路
●MSP430微控制器的内部资源
●不同型号MSP430微控制器芯片的区别

引言

电子线路的功用是完成信号的产生、传输和处理。按照信号的特点,电子线路可以被划分为处理连续信号的模拟电路和处理离散信号的数字电路。相对于模拟电路,数字电路具有许多优点。首先,在数字系统中信号电压的准确值并不很重要,只要电压的变化不至于影响到对高、低电平的判定,这个变化就可以忽略不计,因此数字电路具有较好的抗干扰能力;其次,整个系统的准确度和精度容易保持一致,这是因为数字信号在处理过程中不会降低精度,而模拟信号在处理过程中会受到电路元器件参数的改变以及环境变化的影响;再者,数字信号存储方便、对它的处理过程容易通过编程来实现;最后,在许多情况下,完成同样功能的数字系统比相应的模拟系统便宜。
虽然数字电路相对于模拟电路具有上述的优点,但是自然界中信号的大多数是模拟信号,例如语音信号和图像信号,这就需要模拟电路对其进行处理。另外,在需要对带宽相当宽的信号,或者变化很快的信号,进行实时处理的场合,模拟电路则可能是唯一的解决方案。然而,对于数字电路具有足够速率执行信号处理任务的情况下,我们通常都会优先考虑采用数字电路来完成任务。
当前,常用的数字电路器件类型包括标准逻辑器件(例如74系列器件)、可编程逻辑器件(Programmable Logic Device,PLD)和微控制器(Microcontroller,MCU)。标准逻辑器件在集成度方面属于中小规模集成电路,它的种类包括各种逻辑门、触发器、译码器、多路选择器和计数器等芯片。这些器件的集成度较低,采用它们设计的数字系统需要较多的器件,这就使得电路连线复杂,系统的可靠性降低。标准逻辑器件芯片的功能确定,修改系统设计必须通过对电路重新设计和组装来实现,这就使得设计灵活性低。标准逻辑器件目前在数字电路设计中已不再广泛使用,但是它们对于研究数字系统基本构成模块的工作原理方面具有重要的意义,例如大学里的《数字电路逻辑设计》课程中目前仍然主要使用这些器件进行讲授。
使用与门、或门和非门能够实现任意组合电路,再添加上触发器就能够实现任意时序电路。可编程逻辑器件(PLD)可以认为是对标准逻辑器件的直接升级。一块可编程逻辑器件芯片内部集成了非常多的逻辑门和触发器,使得单一芯片具有实现一个应用系统所需要的逻辑资源,从而减少了应用系统中使用器件的数量,提高了系统的可靠性。可编程逻辑器件芯片内部逻辑资源的连接不需要手工进行,用户只需要使用计算机编写设计文件,然后完成设计文件到目标芯片的传输。可编程逻辑器件在下载设计文件以后,在它的内部将形成对应的硬件电路。需要更改设计要求时,只需重新编写设计文件,再次向芯片下载设计文件。不需要更改,或者较少需要更改电路连线,从而使得设计灵活性得到提高。
微控制器(MCU),也被称为单片机,可以被认为在其内部集成了许多完成算术运算和逻辑运算等功能的逻辑电路模块。微控制器的每一条汇编指令对应一个逻辑电路模块。微控制器依靠所运行的程序来完成工作。这个程序是设计者对微控制器的一组完整的指令,指令告诉微控制器其操作的每一步应该去调用什么逻辑电路模块,以及如何调用这个逻辑电路模块。这些指令以二进制代码的形式存储在存储器中,微3控制器从存储器中一次读取一条指令代码,并完成由指令代码指定的操作。
通过编写设计文件,或者程序,可以在可编程逻辑器件内部产生希望的硬件电路,或者控制微控制器完成不同的工作,这个特点使得设计灵活性得到提高。当需要修改系统设计时,设计者只需要改写设计文件,或者程序,不需要或者较少需要修改电路连线。
微控制器一次只能执行一条指令,因此它的主要局限性是工作速度。采用硬件方案设计的数字系统总是比软件方案设计的数字系统的工作速度快。可编程逻辑器件在下载设计文件以后,在它的内部将形成对应的硬件电路,这些电路是可以同时工作的。例如向2个数码管传送显示代码,这时可以同时进行。在微控制器中,向2个数码管传送显示代码的工作只能是逐个传送。可编程逻辑器件内部电路模块中信号处理的时间只来源于硬件电路产生的时间延迟,不存在指令读取和执行产生的时间延迟。上述工作特点使得可编程逻辑器件的工作速度比微控制器芯片快。
可编程逻辑器件的开发设计语言有许多种,其中VHDL和Verilog HDL这两种硬件描述语言已经获得广泛的应用,并且成为国际电气与电子工程师协会(The Institute of Electrical and Electronics Engineers,IEEE)的标准。不过这两种硬件描述语言现在并没有得到可编程逻辑器件开发软件的全面支持,例如Altera公司的QuartusⅡ可编程逻辑器件开发软件不支持浮点类型数据、不支持乘法和除法算术运算等。这些不足限制了可编程逻辑器件的应用。不支持浮点类型数据减小了所处理信号的动态范围,不支持乘除法算术运算使得一些信号处理功能不容易实现。在这些方面,微控制器开发中大量使用的C语言具有明显的优势。

一·MSP430系列微控制器

德州仪器(TEXAS INSTRUMENTS,TI)公司生产的MSP430TM系列微控制器(MCU)是一种基于精简指令集处理器(Reduced Instruction Set Computing,RISC)的16位混合信号处理器。芯片内部集成有模拟/数字转换器(Analog-to-Digital Converter,ADC)和数字/模拟信号转换器(Digital-to-Analog Converter,DAC),这就使得它不仅能够接收和输出数字信号,而且也能够接收和输出模拟信号,因此称作为混合信号处理器。MSP430系列微控制器的组成框图如图1.1所示。图1.1 MSP430系列微控制器的组成框图

MSP430系列微控制器中的CPU模块,图1.1中的“RISC CPU 16-Bit”模块,通过存储器地址总线(Memory Address Bus,MAB)和存储器数据总线(Memory Data Bus,MDB)与程序存储模块、数据存储模块以及各种外部设备模块连接起来,并采用统一的CPU指令和寻址模式。
如果采用汇编语言编程,开发者需要了解CPU内部的寄存器、各种寻址模式以及汇编指令等内容;如果采用C语言编程,这些内容不需要过多地关注,寄存器的使用和寻址模式的选择将由编译系统处理。本书采用C语言实现应用系统的开发。
图1.1中的“Flash/FRAM”模块用作程序存储器、“RAM” 模块用作数据存储器、“Port”模块表示芯片的输入/输出管脚。MSP430系列微控制器具有多种芯片型号、同一型号芯片还具有多种封装类型,共计400多款。在所有这些型号的芯片中,芯片内部程序存储器的存储容量从最小的0.5KB,到最大的256KB;数据存储器的存储容量从最小的128B,到最大的18KB;输入/输出管脚数量从14个到113个。不同的芯片内部资源配置用来满足不同的用户在功能和成本等方面的不同应用需求。
数字外围模块包括LCD驱动器、定时/计数器、并行数字输入/输出端口和串行数字输入/输出端口等。模拟外围模块包括模拟/数字转换器、数字/模拟转换器、比较器、运算放大器等。注意,并不是每一种MSP430微控制器芯片都能提供所有这些外围模块的功能,使用者需要根据应用系统的需求来选择合适的芯片型号。
监视定时器,俗称看门狗“Watchdog”,用来监视微控制器的工作状态。当出现程序运行异常的情况,它将强制系统复位。
模块“JTAG/Debug”用来支持用户程序的下载和调试。JTAG接口建立开发使用的计算机与MSP430微控制器芯片的联系。MSP430系列微控制器的所有型号芯片都支持通过JTAG接口对程序存储器编程。在MSP430系列微控制器的内部包含在片调试逻辑,该电路既支持高精度的模拟调试,也支持全速工作调试。也有一些型号的芯片还支持被称作“Spy-Bi-Wire”的2线接口,这种接口同样支持用户程序的下载和调试。
MSP430系列微控制器的最大特点为低功耗。为降低功耗,专门为芯片设计了灵活的时钟系统、多种低功耗工作模式,即时唤醒以及智能化外部设备模块。
时钟模块“Clock System”用来产生MSP430系列微控制器工作所需要的各种时钟信号。该模块可以在多个时钟源的支持下工作,既有需要添加外部晶体获得高频率稳定性的时钟源,也有不需要添加任何外部器件的内部时钟源。时钟模块的工作状态和工作频率能够由用户程序控制,这样使得微控制器在等待状态时可以采用低频率的时钟信号,甚至关闭时钟电路来降低系统的能耗;在工作状态时则采用高频率的时钟信号,加快信号的处理速度。用户程序能够选择时钟源,并且控制时钟电路的工作状态以及时钟频率,这是MSP430系列微控制器的特色之一。
当前,德州仪器(TI)公司生产的MSP430系列微控制器包括以下子系列。指令执行速度达8MIPS的MSP430x1xx子系列、指令执行速度达16MIPS的MSP430x2xx子系列、能够直接驱动LCD显示器的MSP430x4xx子系列、指令执行速度达25MIPS的MSP430x5xx子系列以及指令执行速度达25MIPS且能够直接驱动LCD显示器的MSP430x6xx子系列。上述这些子系列共包括了数百种具有不同逻辑资源和封装类型的芯片,读者可以在德州仪器(TI)公司的网站,www.ti.com,找到相关的信息。
本书专门介绍MSP430x2xx子系列微控制器的使用。MSP430x2xx子系列微控制器还可以再划分为MSP430G2xx、MSP430F2xx和MSP430AFE2xx分系列。本章的下面部分分别对MSP430G2231和MSP430F2619这2种型号的芯片进行介绍。硬件是软件开发的基础,硬件也是软件的控制对象,只有了解硬件情况才能为应用系统选择合适型号的芯片,并顺利地完成软件开发。
芯片MSP430G2231是德州仪器(TI)公司提供给高校的LaunchPad(MSP-ESP430G2)开发套件中支持的多种芯片之一,该开发套件售价仅$4.30。另外,MSP430G2231芯片具有双列直插类型封装,便于在面包板上组装应用电路。组装自己的应用电路对于初学者非常重要,即使微控制器是利用编写程序实现电路功能,但是硬件是软件的基础,也是软件的控制对象。只有对硬件电路具有深入的了解,才能编写出好的程序。组装电路是了解硬件电路的一个有效方法。MSP430G2xx系列芯片的一个缺陷是不支持外部高谐振频率晶体的时钟源,它仅支持32.768kHz的时钟晶振。芯片MSP430F2619支持最高达16MHz频率的外部晶体时钟源,当然也支持不需要添加任何外部器件的内部时钟源。另外,芯片MSP430F2619内部具有比芯片MSP430G2231种类更多的外围模块和数量更多的逻辑资源。本书后面对于MSP430系列微控制器各个模块的使用介绍将主要基于芯片MSP430G2231进行,在介绍芯片MSP430G2231不具备的模块时,即芯片MSP430F2619内部具有的外围模块时将特别指出。

二·MSP430G2231芯片

14管脚双列直插类型封装的MSP430G2231芯片管脚排列图如图1.2所示。

图1.2 MSP430G2231芯片管脚排列
MSP430G2231芯片具有双列直插类型封装,这点对于初学者非常方便,因为双列直插类型封装便于在面包板上组装应用电路。能够观察到自己完成设计、组装电路的工作情况,将使设计者立刻就能体会到成功的喜悦,增强学习的兴趣。对所从事的工作具有兴趣是做好工作的一个重要条件。同时,理论联系实践也是一种非常重要的工作和学习方法。
基于MSP430G2231芯片的最小系统电路图如图1.3所示。

图1.3 MSP430G2231芯片的最小系统电路图
MSP430G2231芯片具有14个管脚。管脚DVCC(管脚1)为电源管脚,管脚DVSS(管脚14)为接地管脚。电源电压范围为1.8~3.6V。使用面包板组装应用电路时,可以很方便地就近连接电源和接地,因此在电路图中出现多个电源接线端和接地接线端,这些端点读者可以自己完成与电源和接地的连接。MSP430G2231芯片电源管脚(管脚1)旁边放置的2个电容,C2和C3,用于电源的滤波。
MSP430G2231芯片的管脚10为复位管脚()。复位的目的是使得微控制器从一种约定的工作状态下开始工作。MSP430系列芯片在接电时,只要复位管脚为逻辑低电平,则系统将进入复位状态。图1.3给出了一种非常简单的复位电路,仅由1个电阻和1个电容组成,R1和C1。当系统加电时,由于电容C1上的电压不能突变,复位管脚呈现低电平,使得微控制器进入复位状态。随着电容C1充电,复位管脚的电位逐渐上升,当达到逻辑高对应的电位值,微控制器将退出复位状态,进入正常工作状态。
MSP430G2231芯片的时钟模块“Clock System”能够在以下3种时钟源的驱动下工作,采用频率为32768Hz外部晶体谐振器的振荡器、频率约为12kHz的内部低功耗振荡器和内部数字控制振荡器(Digitally Controlled Oscillator,DCO)。使用晶体振荡器需要在管脚XIN(管脚13)和管脚XOUT(管脚12)之间放置谐振频率为32768Hz的晶体谐振器,并且2个管脚再分别通过12pF的电容接地。使用内部低功耗振荡器和内部数字控制振荡器(DCO)则不需要添加任何外部器件,而且数字控制振荡器(DCO)的工作频率还可以通过用户程序进行调整。使用芯片内部时钟源的缺点是时钟频率的稳定度和精确度不如使用外部晶体谐振器的振荡器。图1.3所示电路使用芯片内部时钟源以简化电路组成。
MSP430系列芯片复位以后,时钟模块自动选择数字控制振荡器(DCO)作为时钟源,默认的时钟频率约为1MHz。推荐初学者使用芯片内部的数字控制振荡器(DCO),这样即减少了连线的数量,也避免了程序设计中对时钟模块的设置。
MSP430G2231芯片的功能方框图如图1.4所示。
图1.4 MSP430G2231芯片功能图
图1.4不仅给出了MSP430G2231芯片包含的功能模块、功能模块之间的联系,而且给出了芯片的逻辑资源。系统时钟模块“Clock System”输出3种时钟信号,供CPU使用的MCLK、供芯片内部其它功能模块使用的SMCLK和ACLK。时钟信号SMCLK和ACLK可以通过软件设置为与芯片的管脚相连接,这样就可以通过测试获得使用芯片内部的数字控制振荡器(DCO)作为时钟源时,这些时钟信号的实际频率。
MSP430G2231芯片具有2kB的Flash程序存储器,128B的RAM数据存储器。前者用来存储用户程序,后者用来存储信号处理过程的中间结果。用户编写的程序必须在这些逻辑资源之内工作。
在模拟信号接口方面,MSP430G2231芯片只具有模拟/数字转换能力,不具有数字/模拟转换能力。芯片内部的模拟/数字转换器具有10位分辨率,具有8个独立的输入通道,每1个输入通道可以通过软件设置为与芯片的管脚相连接。
在数字信号接口方面,MSP430G2231芯片提供了并行和串行数字输入/输出端口。并行数字输入/输出端口包括具有8位的P1端口和具有2位的P2端口。串行数据接口能够工作在SPI,或者I2C工作模式。每种类型端口可以通过用户软件设置为与芯片的管脚相连接。
该芯片内部还包含1个具有捕获/比较功能的16位定时器、看门狗“Watchdog”等电路。MSP430G2231芯片的编程/调试电路即支持JTAG接口,也支持“Spy-Bi-Wire”2线接口。LaunchPad(MSP-ESP430G2)开发套件采用“Spy-Bi-Wire”2线接口。
图1.2所示的MSP430G2231芯片管脚排列图中每个管脚的功用如表1.1所示。除过电源和接地管脚外,其它芯片管脚都是多用途管脚。例如管脚2,它能够用做并行数字输入/输出端口P1的管脚P1.0、定时器的外部计数信号输入管脚TA0CLK、MSP430G2231芯片时钟模块时钟信号ACLK输出管脚、模拟/数字转换器的0通道模拟电压输入管脚A0。芯片管脚具体用作为哪一种功用,需要在程序中进行相应的设置。
表1.1中列出的管脚功用需要结合后面的学习内容来逐渐掌握,但是需要有一些了解,因为硬件是软件开发的基础,硬件也是软件的控制对象,只有了解硬件情况才能顺利地完成软件开发。
表1.1 MSP430G2231芯片管脚功用表

三·MSP430F2619芯片

德州仪器(TI)公司生产的64管脚PM包装形式的MSP430F2619芯片管脚排列图和功能方框图分别如图1.5和图1.6所示。

图1.5 MSP430F2619芯片管脚排列图

图1.6 MSP430F2619芯片功能方框图
MSP430G2231芯片具有双列直插式的封装形式、价格便宜,适合初学者使用,但是芯片内部的逻辑资源较少。MSP430F2619芯片只有表贴式的封装形式,必须为它专门设计印制电路板,连同芯片本身的价钱,使得使用成本较高,但是芯片内部具有丰富的逻辑资源。
MSP430F2619芯片采用2组供电管脚。第1组,DVCC和DVSS,为数字电路部分的供电管脚。第2组,AVCC和AVSS,为模拟电路部分的供电管脚。分为两部分的目的为避免数字电路的工作对模拟电路供电稳定性的影响。
系统时钟模块“Clock System”能够连接2种谐振晶体,一种可以采用具有较低的谐振频率,另一种采用具有较高的谐振频率。晶体的最高谐振频率达16MHz。高的时钟频率能够支持芯片快的信号处理速度。采用基于晶体谐振器的时钟信号源,比采用芯片内部的时钟信号源具有高得多的频率稳定度。
MSP430 F2619芯片具有120kB的Flash程序存储器,4kB的RAM数据存储器。
模拟信号接口方面,MSP430F2619芯片具有模拟/数字转换和数字/模拟转换能力。芯片内部的模拟/数字转换器具有12位分辨率,具有8个独立的通道,每1个通道可以通过软件设置为与芯片的管脚相连接。芯片内部的数字/模拟转换器也具有12位分辨率,具有2个独立的通道,每1个通道也是通过软件设置为与芯片的管脚相连接。
数字信号接口方面,MSP430F169芯片提供了并行和串行数字输入/输出端口。前者包括6个具有8位的端口,P1~P6端口;后者有2个,它们都能够工作在UART、SPI、或者I2C工作模式。每种类型端口可以通过用户软件设置为与芯片的管脚相连接。
该芯片内部还包含2个具有捕获/比较功能的16位定时器、模拟电压比较器、看门狗“Watchdog”电路、硬件乘法器等电路。MSP430F2619芯片的编程/调试电路只支持JTAG接口。LaunchPad(MSP-ESP430G2)开发套件采用“Spy-Bi-Wire”2线接口,因此不能采用这种开发套件实现MSP430F2619芯片的编程/调试。
MSP430 F2619芯片提供的这些多种类、大数量的逻辑资源使得它能够满足大量工程设计的需要。鉴于篇幅的限制,这里不给出图1.5所示的MSP430F2619芯片管脚排列图中每个管脚的功用描述,感兴趣的读者可以在TI公司的网站上找到相关的信息。图1.6所示的功能方框图中每个功能块的详细功能、技术指标以及使用方法将在后继章节中结合具体使用进行介绍。

四·小结

德州仪器(TI)公司生产的MSP430系列微控制器(MCU)芯片内部集成有模拟/数字转换器(ADC)和数字/模拟信号转换器(DAC),这就使得它不仅能够接收和输出数字信号,而且也能够接收和输出模拟信号,因此称作为混合信号处理器。
MSP430系列微控制器的最大特点为节能,为此该系列芯片具有用户程序可控制的时钟电路以及系统工作模式。为了满足不同的应用需求,TI公司提供了多种型号的芯片,这些芯片具有不同的价格、不同的功能模块组成、不同的逻辑资源以及不同的封装形式。

MSP430系列微控制器简介相关推荐

  1. 单片机c语言波特率检测,基于MSP430系列微控制器串口通信时的波特率自动检测的实现...

    通常微控制器通过串行接口与其它终端进行通信时,两个终端需要通讯波特率一致才能达到准确与可靠的通讯效果,串行波特率的自动检测(ABR)可以解决通信终端的波特率自动匹配问题,从而实现微控制器与PC或其它主 ...

  2. ARM Cortex-M3相比于ARM其他系列微控制器的优势和特点

    注:该文来源于网络,未仔细考证其来源,若有不当,还请知会 ARM Cortex-M3相比于ARM其他系列微控制器,具有以下优势或特点 1. **流水线+分支预测 ARM Cortex-M3与ARM7内 ...

  3. STM32系列微控制器入门介绍

    文章目录 目的 基础需求 电路基础 编程语言 入门介绍 官方网站 型号选择 开发方式 开发工具 程序调试 固件烧录 资料说明 总结 目的 STM32是意法半导体(ST)推出的主要基于ARM Corte ...

  4. Cortex-M系列微控制器学习资源汇总

    原文地址:Cortex-M系列微控制器学习资源汇总 - 知乎 (zhihu.com) 前言: 自己前段时间开始接触基于Cortex-M7架构的STM32微控制器,从零开始摸索了很多,总结了很多资源.本 ...

  5. 嵌入式系统原理及应用《基于ARM Cortex-M3 内核的STM32F103系列微控制器》思维导图

    嵌入式系统原理及应用 <基于ARM Cortex-M3 内核的STM32F103系列微控制器>课程思维导图 目录 第一章 嵌入式系统概论 第二章 嵌入式系统开发 第三章 ARM Corte ...

  6. 基于c语言c8051f系列微控制器原理与应用,基于C语言C8051F系列微控制器原理与应用...

    第1章 微控制器的原理 1.1 微控制器与计算机的关系 1.2 微控制器系统简介 1.3 微控制器的发展 1.4 8位机发展的3次技术飞跃 第2章 C8051 F系列单片机结构 2.1 C8051F系 ...

  7. 使用STM32CubeMX和TrueSTUDIO开发STM32系列微控制器

    文章目录 这种方式现在已经不推荐了 关于STM32CubeMX STM32CubeMX介绍 为什么使用STM32CubeMX 下载及安装 关于TrueSTUDIO TrueSTUDIO介绍 为什么使用 ...

  8. 基于Cortex-M3内核和STMF03系列微控制器的系统设计与开发

  9. 微控制器CPU性能测试基准CoreMark

    origin:https://www.cnblogs.com/henjay724/p/8729364.html 痞子衡嵌入式:微控制器CPU性能测试基准(EEMBC-CoreMark) 大家好,我是痞 ...

最新文章

  1. 2020年高等数学方法与提高(上海理工大学)学习笔记:无穷级数
  2. 仿射变换 c语言,c语言数字图像处理(三):仿射变换
  3. input border IE6 bug
  4. android资源的热更新(替换 AssetManager+LoadedApk中的资源路径)
  5. kickstart实现网络安装centos6.3系统
  6. Scrapy+MongoDB+FastAPI搭建免费IP代理池接口
  7. python调用virustota接口api实现上传文件返回查毒结果
  8. 程序猿头头:数组应用(indexOf,includes,find,findindex)
  9. Unity Shader学习:玻璃材质
  10. Android Studio设置关闭当前页面的快捷键ctrl+w
  11. 【小迪安全】Day04基础入门-30 余种加密编码进制Web数据库系统代码参数值
  12. Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 19 declared in lib
  13. (WSL) Linux显示自己的系统logo ---- screenfetch
  14. 什么?RecyclerView中获取点击位置的接口被废弃了?
  15. 【Android】之【延时执行的几种方法】
  16. mifare 1k卡模拟功能
  17. fiddler4 不间断提示 the system proxy was changed
  18. [项目规范]JAVA WEB项目实施规范
  19. ADSL宽带共享上网设置图解
  20. js手机号正则表达式验证

热门文章

  1. 【T-SQL】财务PMT+PV函数
  2. 【线性系统】六、能控性和能观性
  3. 利用基于注意力的神经网络绘制化学反应空间图谱
  4. 快速上手Xilinx DDR3 IP核(3)----把MIG IP核封装成一个FIFO(上)(Native接口)
  5. 在AHK窗体上使用 Windows Aero 效果
  6. 深入了解基于ASR650x的LoRaMESH方案优势
  7. python怎么下载网络歌曲_python 3 网络下载百度歌曲
  8. Ceva xm4 DSP开发心得(转)
  9. Python基础重点复习(4)
  10. 数据结构之八大排序总结