SoC已集成了很多数字功能,设计者们开始将目光投向复杂的模拟与射频功能。模拟模块不适用于构建SoC的标准IP(知识产权)集成策略,它们与设计中其他部分有太多的交互作用。
现在有许多公司已经开始推出混合信号微处理器,如TI的MSP430系列、Cypress的PSoC系列、Silicon Labs的C8051F系列。这些芯片不仅集成大量的数字IP核,而且集成了常用的模拟单元。
本文基于TI公司的混合信号处理器MSP430F5504设计了一款超低功耗、高性价比、高处理能力的USB混合信号处理器开发板(校园广播系统)。
1 校园广播系统总体设计
校园广播系统的设计及实现更好地说明MSP430系列芯片的良好功能和开发方法,系统总体原理框图如图1所示。整个系统包括MSP430混合信号处理器模块、电源模块、输入模块、液晶显示模块、通用串口模块(包含I2C、SPI、UART)、JTAG调试模块、USB模块等。
2 系统硬件设计
2.1 主控电路设计
MSP430F5504是优秀的片上系统,只要外接1.8~3.6 V电源,加上一个低频晶振就能工作。MSP430F5504有VQFN和LPFQ两种封装,这里采用LQFP48封装,方便焊接、安装、调试。
本系统由一个32.768 kHz的低频晶振和一个4 MHz的高频晶振构成。低频晶振和两个12 pF的负载电容接在MSP430F5504的Xin和Xout端,当系统需要高频时钟时使用(供CPU高速运行、作为ADC的高速转换时钟等)。高频晶振需要更大的负载电容才能正常工作,系统采用了一个4 MHz的高频晶振及其相匹配的两个47 pF电容接在高频时钟引脚端(XT2IN和XT2OUT)。微处理器的数字电源和模拟电源都从3.3 V的稳压电源获得。系统要正确地恢复到原始状态,必须有复位电路,MSP430F5504是低电平复位。
2.2LCD液晶电路设计
本系统采用Nokia 5110 LCD,此LCD由Philips公司生产的PCD8544驱动芯片控制。PCD8544是一块低功耗的CMOS LCD控制驱动器,设计为驱动48行×84列的图形显示。所有显示功能集成在一块芯片上,包括LCD电压及偏置电压发生器,只需很少外部元件且功耗低。
Nokia 5110属于低功耗LCD,静态电流只有200 μA。控制接口简单,通过SPI接口就可以轻松地进行控制,具有5根信号线、2根电源线。还可根据需要通过控制BL背光控制线来开关背光。在低功耗运行时,可通过此控制线关闭背光。
2.3 调试电路设计
JTAG测试允许多个器件通过JTAG接口串联在一起,电路板上的很多芯片可以将它们的JTAG引脚通过Daisy Chain的方式连在一起,并且Probe只需连接到一个JTAG端口就可以访问一块电路板上的所有IC。
MSP430F5504集成了JTAG调试接口,这极大地方便了程序的开发。MSP430采用了14引脚的JTAG调试接口。通过该接口不仅可以对程序进行在线调试,而且可以下载程序,让程序全速运行,并观测程序在实际电路上的运行效果。
2.4 通用串口模块设计
串口是系统与外界联系的重要手段,在嵌入式系统开发和应用中,经常需要上位机实现系统调试及现场数据的采集和控制。一般是通过上位机本身配置的串口,通过串行通信技术和嵌入式系统进行通信。
通用串口模块是TI微处理器特有的设计,它在一个串口硬件模块中支持多个串口通信协议。TI的MSP430系列的通用串口模块支持的串口协议有UART、SPI、I2C总线协议。根据不同的寄存器配置,通用串口通信模块可以配置为上述的任意的一个串口,具有极大的灵活性,特别是对于小引脚数的单片机,通过引脚复用大大地增强了单片机的功能。
2.4.1 通用串口——UART模式
异步通信字符格式由4部分组成:起始位、数据位、奇偶校验位和停止位。其中,用户可以通过软件设置数据位、停止位的位数,还可以设置奇偶位的有无。通过选择时钟源的波特率寄存器的数据来确定位周期。
串行操作自动错误检测:USART 模块接收字符时,能够自动进行校验错误、帧错误、溢出错误和打断状态检测。
在异步通信中,波特率是很重要的指标,表示为每秒传送二进制数码的位数。波特率反映了异步串行通信的速度。波特率发生器产生同步信号表明各位的位置。波特率部分由时钟输入选择、分频、波特率发生器、调整器和波特率寄存器组成。串行通信时,数据接收和发送的速率就由这些构件控制。
2.4.2 通用串口——I2C模式
(1) I2C总线位传输
由于连接到I2C 总线的器件有不同种类的工艺(CMOS、NMOS、双极性),逻辑0 (低)和1(高)的电平不是固定的,它由VDD的相关电平决定,每传输一个数据位就产生一个时钟脉冲。
I2C总线模式支持任何从模式或主模式下的I2C总线兼容设备。每个I2C总线设备都有唯一的地址可供识别,并可以随意作为发送端或接收端对其操作。当进行数据传输时,I2C总线总线上的设备可以被视为主设备或者是从设备。主设备开始数据发送并产生时钟信号SCL,任何一个能被主设备寻址到的设备都可视为一个从设备。
I2C总线数据通过串行数据线(SDA)和串行时钟线(SCL)进行传输,SDA和SCL均为双向,它们必须通过一个上拉电阻连接到供电电源的正极。
(2) I2C 总线的串行数据
每传输一个数据位,主设备都会产生一个时钟脉冲。I2C总线模式下进行的是字节操作,每个起始位发出之后的第一个字节包含有7位从地址和一个R/W 位。当R/W=0 时,主设备向从设备发送数据;当R/W=1 时,主设备从从设备接收数据。应答位ACK 是接收方对应第9个SCL时钟发出的握手信号。START起始条件和STOP停止条件都是由主设备产生。在SCL为高时,将SDA 由高跳变至低,产生一个START 起始条件。在SCL为高时,将SDA 由低跳变至高,产生一个STOP停止条件。总线忙位UCBBUSY在START出现后置位,在STOP出现后清零。
(3) I2C 总线寻址方式
I2C总线模式下支持7 位和10位寻址方式。
7位寻址的格式如图2所示,第一个字节包括7位从地址和一个R/W 读写控制位。应答位ACK是接收方在每个字节后发出的握手信号。
10位寻址的格式如图3所示,第一个字节由11110b加上10位从地址的高两位和R/W 位构成。每个字节结束后,由接收方发送ACK应答信号。下一个字节是10位从地址剩下的8位数据,在这之后是ACK应答信号和8位数据。
主设备可以在不停止当前传输状态的情况下,通过再次发送一个起始位来改变SDA上数据流的传输方向,这被称为“再次起始”。再次起始位产生后,从设备的地址和标示数据流方向的R/W位需要重新发送。再次起始条件格式如图4所示。
(4) I2C 总线模式下的操作方式
在I2C总线模式下USCI模块可以工作在主发送模式、主接收模式、从发送模式或者从接收模式。
主设备模式:选择I2C总线模式的同时设置UCMODEx=11,USCYNC=1,并置位UCMST位可以使 USCI模块工作在I2C总线主模式。当主模块是一个多主设系统的一部分时,必须对UCMM置位,并通过编程将其本机地址写入寄存器UCBxI2C OA中。当UCA10=0时,选择7位寻址模式。当UCA10=1时,选择10位寻址模式。若要响应广播,则可以置位UCGCEN位。
从设备模式:选择I2C总线模式的同时设置UCMODEx=11,USCYNC=1,并清零UCMST位可以使 USCI模块工作在I2C总线从模式。
2.4.3 通用串口——SPI模式
在同步模式下,USCI 通过3个或者4个引脚把MSP430连接到一个外部系统中,这些引脚分别是:UCxSIMO、UCxSOMI、UCxCLK和UCxSTE。选择SPI模式有两种情况:当“同步位”时置“1”;根据UC模式的位来选择。
4线的SPI主模式为控制本主机。当UCxSTE处于主模式不工作的状态中:
① UCxSIMO和UCxCLK 被置“1”,用来输入信号,并且不再驱动总线。
② 出错位UCFE被置“1”,用来报告通信整体性的错误需要用户处理。
③ 内部的状态为机器复位,移位工作被终止。
4线的SPI从模式为在4引脚的SPI从模式下,UCxSTE被从模式用来使发送和接收处于工作状态。当UCxSTE处于从模式活动状态时,从动器件处于正常工作的状态。
当UCxSTE处于停止状态时:
① 任何在UCxSIMO口进行中的接收工作将会停止;
② UCxSOMI被置于输入的方向;
③ 移位工作也会停止,一直到UCxSTE过渡到从模式下的活动状态。
这种UCxSTE输入信号的功能不用于3引脚的模式当中。
尽管USCI有多种模式可供配置,但它们共同利用相同的引脚,本设计既考虑到硬件串口模块的使用,利用了I/O模块串口的灵活性,通过跳帽来选择是利用芯片内部的硬件串口模块还是利用相应个数的I/O接口来模拟串口协议,这提高了系统的灵活性。
2.4.4 D/A转换模块的设计
特定型号的MSP430F5504芯片带有内置D/A转换器,但MSP430F5504不带有内置D/A转换器,而增加外部D/A转换器将增加了电路的复杂性。一般的条件下,只要求某一幅度的直流电压值同,所以采用低成本的PWM加外置无源器件来实现D/A转换器的功能。
PWM技术是一种对模拟信号电平的数字编码方法,通过使用高分辨率计数器(调制频率)调制方波的占空比,实现对一个模拟信号的电平进行编码。其最大的优点是,从处理器到被控对象之间的所有信号都是数字形式的,无需再进行数模转换过程;而且对噪声的抗干扰能力也大大增强(噪声只有在强到足以将逻辑值改变时,才可能对数字信号产生实质的影响),这也是PWM在通信等信号传输行业得到大量应用的主要原因。
通过调节PWM的占空比,可以产生等效幅度的电压,再通过低通滤波器产生相应的模拟输出。
在信号接收端,需将信号解调还原为模拟信号,目前在很多微型处理器内部都包含有PWM控制器模块。
2.4.5 LED输出指示电路
有时为了电路调试方便,将引脚的状态通过LED灯来进行指示,也可以作为简单的测试使用,连接一个I/O口,并与LED和一个1 kΩ电阻串联组成该电路。
2.4.6 按键输入电路
通过按键来模拟用户的有效UI接口,把I/O引脚上拉到DVCC3.3数字电源,当有按键按下时把I/O口状态拉低。
2.4.7 电源指示电路
当电源接通时给用户一个提示,这有利于改善用户的使用感受,给用户一个反馈,表明电源是否正确连接。
当在低功耗模式下,或用户已不需要电源指示功能时,可以通过去除跳帽来减少系统的功耗。
2.4.8 电源隔离电路
高速的I/O口操作和I/O的上拉下拉,都会使系统的数字电源产生尖峰电流脉冲,这对系统的正常工作有很大影响。如果这些噪声引入系统的模拟设备,将影响系统的模拟外设。所以,对系统的数字电源和模拟电源进行隔离是非常必要的。
在系统的模拟电源AVCC33和数字电源DVCC33之间接入一个磁珠,能有效地提高系统的稳定性,保证系统的正常工作。数字地和模块之间通过0 Ω电阻相连,也能有效地减小系统的干扰。
2.5 程序下载电路设计
MSP430F5504可以通过多种接口对程序进行下载,通过JTAG和SBW接口不仅可以对程序进行调试和下载,而且还能够在调试完毕后通过一定的指令烧断保密熔丝,使调试接口自毁。自毁后JTAG或SBW接口失效,再也无法通过它读取内部代码,避免代码被他人读取或复制,从而保护知识产权。
在设计阶段和原理样机阶段,要对程序不断进行编写、修改、仿真和调试,只需要JTAG和SBW接口,不进行烧熔丝操作。一旦产品定型,在发布和量产阶段,不再需要调试程序,只需要烧写代码;如果要烧毁熔丝,则要保留BSL接口。
2.6 电源电路设计
本系统可以通过单枚纽扣电池供电,也可以通过USB接口供电。
结语
MSP430F5504是混合信号处理器的一种,独特的设计和架构给用户很大的灵活性,并带来超低的功耗和强大的处理能力。现在已经广泛用于各种领域,如联网式气表、便携式测量仪器、医疗器械等。设计制作高性能、低成本MSP430系列开发板可以加快产品的开发速度,减短产品的上市时间,加大前端应用的普及性。因此,设计一款方便、稳定、可靠的开发板也就显得比较有意义。
评论
查看更多