摘要:MSC1210是美国TI公司生产的24位Δ-ΣA/D转换的51兼容单片机。文章介绍了MSC1210的结构特点和工作原理,并给出了在CSR电源控制系统中的硬件电路和软件程序。
关键词:MSC1210;模数转换器;电源;控制系统
引言
MSC1210美国德州仪器公司(TI)生产的高集成混合信号处理器件。它集成了一个增强型8051内核,8路24位高精度Δ-ΣA/D转换,21个中断源,16位PWM,全双工UART(并兼容有SPI功能),32K字节FLASH,片内SRAM可达1.2K字节。MSC1210具有高的模拟和数字集成度,体积小,测量精度高,应用灵活等特点,因而该芯片可广泛应用于工业控制过程、智能发射机、智能传感器等领域。
1微控制器MSC1210的工作原理
微控制器MSC1210是TI推出的一种集模拟、数字、闪速存储器于一体的高性能微控制系统。其应用范围十分广泛。使用增强的数字处理内核和高速闪存并带有高性能模拟和外围部件,可以实现优越的系统性能。MSC1210包含闪存、片内SFR、SRAM、闪存、暂存和BootROM。其存储器在物理结构上有四个存储空间:片内、片外程序存储器,片内、片外数据存储器。由不同的寻址指令对0000H~FFFFH共64KB的空间进行寻址。由于采用不同电感镇流器的寻址方式,程序段和数据段可以重叠。程序存储器由MCU自动读取,也可使用指令MOVC指定所要读取的程序区,这通常用来查找表格。数据存储区使用指令MOVX进行读取,这条指令提供了多种寻址方式以指定目的地址,对64KB数据存储器进行读取。当片内存储器使能时,片内范围的操作将对片内存储器进行读取,片外范围的操作将通过P0和P2口读取外部存储器。用电感器厂家户可以灵活配置程序和数据存储空间的大小。分区大小通过硬件配置位来确定,可以通过串行或并行的方式来编程确定。在用户应用模式下,程序和数据Flash存储空间都可读可写。
2硬件系统设计
国家"九五"重大科学工程HIRFL-CSR(兰州重离子加速器冷却储存环)电源控制系统的主要功能是通过电源与计算机的通信模块完成与中央控制中心的信息交换,接收远程控制中心的各种监测与遥控命令,并将电源的各种状态信息反馈给控制中心。控制系统通信模块的设计是组建开关电源控制系统的关键,所设计的通信模块与计算机通信,实现了计算机与电源的主从总线1∶N(本系统N=26)通信方式,并且采用了RS232C和RS485双串行通信总线标准接口。计算机通过该通信模块可以实时对电源进行开关电源控制回路,开关电源主回路,开关电源,电源故障复位,电源极性转换,读电源当前状态,单读电源当前电流值,多读电源当前电流值,写电源电流值等指令操作。实时获取电源好,负载故障,电源冷却水故障,输出过流,快熔状态,IGBT状态,交流缺相,输入过压,输入过流和电源温度的状态检验信息。
3软件设计
软件设计的开发平台模压电感是Keil公司的KeilC7.0.为了实现对微控制器MSC1210Y5进行命令操作,应用C1210语言编写的CSR电源控制系统的主要程序代码如下。
voidserial_init(void)file://串行口初始化
{
PCON|=0x80;
SCON=0x52;
TMOD|=0x20;
file://TH1=0xfe;
TH1=0xff;
TR1=1;
IE=0x80;
ES0=1;
CON_TXD=0;
}
voidread_cmd(chari_cmd_buf)file://读命令操作
{
······
}
······
voidinit_I_O(void)file://初始化I/O口
{
P0DDRL=0x55;file://P0是输出模式
P0DDRH=0x55;
P2DDRL=0xff;file://P2是输入模式
P2DDRH=0xff;
P3DDRH=0x55;
P0=0xff;
P3|=0xc0;
}
voidinit_dac_adc(void)file://初始化DAC和ADC
{
intdecimation=1728;
/*TimerSetup*/
CKCON=0;
USEC=10;
/*ADC-Vref,SPIandSystimers*/
PDCON=0x1b;
PDCON&=0x14;
SPICON=0x06;
SPITCON=0x28;
ACLK=9;
/*SetupAuxinterrupt*/
AIE=0x40;
EAI=1;
/*SetupADC*/
PDCON&=0x0f7;
ADMUX=0x78;
ADCON0=0x00;
ADCON2=decimation&0xff;
ADCON3=(decimation>>8)&0x07;
ADCO电感生产厂家N1=0x41;
AI=CLEAR;
SSCON=0x00;
SSCON=0xDB;
}
voiddacout(unsignedintval)file://DAC输出
{
Sync=SET;
Sync=CLEAR;
SPIDATA=0;
SPIDATA=(char)(val>>8&0x00ff);
SP贴片电感IDATA=(char)(val&0x00ff);;
}
serial()interrupt4using2{file://寄存器组2用于中断
unsignedcharc,i;
if(RI){//如果接收器产生中断
c=SBUF;file://读数据
RI=0;file://清除中断请求标志位
if(!(cmd_err==0&&cmd_finish==1&&addr_ok==1)){
求教大师:BUCK电路,MOS管发烫是什么原因本帖最后由komfy于2016-2-122:20编辑
一个24VDC转5VDC1A的稳压限流BUCK电路,空载输出电压恒定5.00V,带载才300mA,虽然输出电压是4.99V,但是一会儿MOS管FZ44NS就发热得厉害并冒烟
[稳压电源]程控电源阶梯上电本帖最后由悟天ahsx于2016-4-615:12编辑
今天客户要求测充电器上电的inrush,测后发现使用的程控电源是阶梯上电,而且耗时1分多钟,inrush极小,只有几百个ma,一般如果用普通的充电
基于嵌入式处理器的VoIP双模语音网关设计目前语音网关的设计解决方案很多,但大都遵循MCU+DSP的处理方案,有些是偏重于经济成本如基于单芯片(SoC)的 PA1688/AR1688解决方案,有些是关注性能如ARM+DSP解决方案,本文将讨论
1/2 1 2 下一页 尾页