历史上的今天
返回首页

历史上的今天

今天是:2025年04月15日(星期二)

正在发生

2021年04月15日 | 一种CSR电源控制系统设计与实现

2021-04-15 来源:eefocus

1 微控制器MSC1210的工作原理


微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。微控制器(Microcontroller Unit,即MCU)可从不同方面进行分类:根据数据总线宽度可分为8位、16位和32位机;根据存储器结构可分为Harvard结构和Von Neumann结构;根据内嵌程序存储器的类别可分为OTP、掩膜、EPROM/EEPROM和闪存Flash;根据指令结构又可分为CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。


微控制器MSC1210是TI推出的一种集模拟、数字、闪速存储器于一体的高性能微控制系统。其应用范围十分广泛。使用增强的数字处理内核和高速闪存并带有高性能模拟和外围部件,可以实现优越的系统性能。MSC1210包含闪存、片内SFR、SRAM、闪存、暂存和Boot ROM.其存储器在物理结构上有四个存储空间:片内、片外程序存储器,片内、片外数据存储器。由不同的寻址指令对0000H~FFFFH共64KB的空间进行寻址。由于采用不同的寻址方式,程序段和数据段可以重叠。程序存储器由MCU自动读取,也可使用指令MOVC指定所要读取的程序区,这通常用来查找表格。数据存储区使用指令MOVX进行读取,这条指令提供了多种寻址方式以指定目的地址,对64KB数据存储器进行读取。当片内存储器使能时,片内范围的操作将对片内存储器进行读取,片外范围的操作将通过P0和P2口读取外部存储器。


MSC1210提供了双数据指针(DPTR)加速数据块的移动速度,它能根据外部存储器的速度调节读写速度,在2~9个指令周期之间变化;它还提供给外部存储器16位地址总线(P0和P2)。低位地址通过P0口复用得到,硬件可以控制P0和P2口是作为地址线还是作为通用的I/O.为了更好地提高效率,外围设备也在8051基础上作了改进。如SPI端口就增加了FIFO,使得传输数据有了缓冲区间。32位累加器的使用在处理ADC采样或其它数据源来的多字节数据时将大大减轻CPU的负担,使得24位加法和移位可以在几个指令周期内完成,而无需通过软件用数百个指令周期来完成。


2硬件系统设计


国家“九五”重大科学工程HIRFL-CSR(兰州重离子加速器冷却储存环)电源控制系统的主要功能是通过电源与计算机的通信模块完成与中央控制中心的信息交换,接收远程控制中心的各种监测与遥控命令,并将电源的各种状态信息反馈给控制中心。控制系统通信模块的设计是组建开关电源控制系统的关键,所设计的通信模块与计算机通信,实现了计算机与电源的主从总线1∶N(本系统N=26)通信方式,并且采用了RS232C和RS485双串行通信总线标准接口。


3软件设计


软件设计的开发平台是Keil公司的Keil C7.0. 为了实现对微控制器MSC1210Y5进行命令操作,应用 C1210语言编写的CSR电源控制系统的主要程序代码如下。


void serial_init (void) file://串行口初始化


{


PCON |=0x80;


SCON = 0x52;


TMOD |= 0x20;


file://TH1 = 0xfe;


TH1 = 0xff;


TR1 = 1;


IE=0x80;


ES0 = 1;


CON_TXD=0;


}


void read_cmd(char i_cmd_buf) file://读命令操作


{


··· ···


}


··· ···


void init_I_O(void) file://初始化I/O口


{


P0DDRL= 0x55; file://P0 是输出模式


P0DDRH= 0x55;


P2DDRL= 0xff; file://P2 是输入模式


P2DDRH= 0xff;


P3DDRH= 0x55;


P0=0xff;


P3 |=0xc0;


}


void init_dac_adc(void) file://初始化 DAC 和ADC


{


int decimation=1728;


/* Timer Setup */


CKCON = 0;


USEC= 10;


/* ADC-Vref, SPI and Systimers */


推荐阅读

史海拾趣

Hirosugi-Keiki公司的发展小趣事

对于门控夜明灯电路,网友们可能会有多种问题,以下是一些常见问题及其详细回答:

一、工作原理相关问题

  1. 问:门控夜明灯电路是如何实现自动开关的?
    : 门控夜明灯电路主要通过门控开关、延迟电路、光控电路和电源电路等几部分组成。当门打开时,门控开关触发电路,使电灯点亮。同时,延迟电路控制电灯的点亮时间,一般为几十秒左右。光控电路则确保在光线较暗的环境下(如夜晚)电路才会工作,而在白天则自动封锁电路,避免电灯误亮。

  2. 问:电路中的光控部分是如何工作的?
    : 电路中的光控部分通常由光敏电阻器(如MG45型)和相关的电子元件组成。光敏电阻器的阻值会随着光照强度的变化而变化。在白天,由于光照强度大,光敏电阻器呈现低阻值状态,导致电路中的某个三极管(如VT3)导通,进而封锁整个电路,使电灯不会点亮。而在夜晚,光照强度减弱,光敏电阻器呈现高阻值状态,三极管截止,电路恢复正常工作状态,受门控开关控制。

二、安装调试相关问题

  1. 问:如何安装门控夜明灯电路?
    : 安装门控夜明灯电路时,首先需要将干簧管安装在门框上,将小磁铁安装在门上,并确保两者在门关闭时能够对准并吸合。接着,将电路板固定在合适的位置,并连接好电源线和电灯线。最后,进行电路调试,确保电路能够正常工作。

  2. 问:如何调整电灯的点亮时间?
    : 电灯的点亮时间主要由延迟电路中的电阻和电容决定。要调整点亮时间,可以通过改变电阻(如R2)的阻值或电容(如C1)的容量来实现。一般来说,电阻阻值增大或电容容量增大,都会导致点亮时间延长;反之,则点亮时间缩短。

三、故障排除相关问题

  1. 问:如果电灯不亮,可能是什么原因?
    : 如果电灯不亮,可能是由多种原因造成的。首先,应检查电源是否正常,以及电路中的保险丝是否熔断。其次,检查门控开关是否工作正常,即干簧管和小磁铁是否能够在门打开时正确触发电路。此外,还应检查光控电路是否因光线过强而处于封锁状态。最后,检查电灯本身是否损坏。

  2. 问:电灯在白天也会亮,怎么办?
    : 如果电灯在白天也会亮,可能是光控电路出现了问题。首先,应检查光敏电阻器是否损坏或受到其他光源的干扰。其次,检查与光敏电阻器相关的电子元件(如VT3)是否工作正常。如果问题依然存在,可能需要重新调整光控电路的灵敏度或更换相关元件。

四、其他相关问题

  1. 问:门控夜明灯电路适用于哪些场合?
    : 门控夜明灯电路适用于需要自动照明的各种场合,如家庭玄关、走廊、楼梯间等。它能够在人们进门时自动点亮电灯,为人们提供方便,同时也能够节省能源。

  2. 问:如何选择合适的电灯与电路匹配?
    : 在选择电灯与电路匹配时,首先需要考虑电灯的功率和类型。由于门控夜明灯电路通常设计为低功耗电路,因此建议选择功率较小、发光效率较高的电灯,如LED灯泡。此外,还需要确保电灯的电压和电流与电路的输出相匹配,以避免电路损坏或电灯烧毁。

American Micro Products Inc公司的发展小趣事

AMP深知品质是企业的生命线。因此,公司始终将品质管理放在首位,从原材料的采购到生产过程的每一个环节都严格把控。同时,AMP还注重客户需求的收集与反馈,根据市场变化及时调整产品策略,确保产品能够满足客户的实际需求。

欧密格光电(Amicc)公司的发展小趣事

AMP深知品质是企业的生命线。因此,公司始终将品质管理放在首位,从原材料的采购到生产过程的每一个环节都严格把控。同时,AMP还注重客户需求的收集与反馈,根据市场变化及时调整产品策略,确保产品能够满足客户的实际需求。

HBH-Microwave公司的发展小趣事

面对日新月异的电子技术和不断变化的市场需求,HBH-Microwave始终保持对技术创新的热情和投入。公司每年都会投入大量资金用于研发新产品和新技术,以确保在激烈的市场竞争中保持领先地位。同时,HBH还积极与高校和研究机构合作,共同开展前沿技术的探索和研究。这种持续的技术创新和研发投入为公司的长远发展提供了源源不断的动力。

Corning Cable Systems公司的发展小趣事

随着全球通信市场的不断扩大,Corning Cable Systems公司积极调整生产战略,不断扩大生产规模。公司在全球范围内建立了多个生产基地,并引进了先进的生产设备和技术,以确保能够及时满足市场对光纤产品的需求。同时,公司还注重提高生产效率和质量,为客户提供了更加优质的产品和服务。

BVLED公司的发展小趣事

在追求经济效益的同时,BVLED公司也积极履行社会责任,致力于推动可持续发展。公司注重环保和节能技术的研发和应用,推出了一系列环保型LED产品;同时,公司还积极参与公益事业和慈善活动,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。

请注意,以上仅为一个框架性的描述,并未涉及具体的公司名称、时间、地点等细节。你可以根据这个框架进行进一步的创作和补充,以形成完整的故事。同时,由于每个公司的发展轨迹都有其独特之处,你也可以结合你对电子行业LED公司的了解和观察,来创作出更具真实感和说服力的故事。

问答坊 | AI 解惑

电子竞赛设计项目6_交通灯设计报告

本帖最后由 paulhyde 于 2014-9-15 03:34 编辑 电子竞赛设计项目6_交通灯设计报告    …

查看全部问答>

ARM LINUX初学者的疑问

刚接触arm, 开发板是海天雄的S5PC100, 本来是自带ANDROID的LINUX, 想自己装个UBUNTU上去该如何搞? 是不是自己创建rootfs 然后 打包成yaffs2格式烧到Nand Flash里面?   另外在Linux下是怎么样访问GPIO口的?…

查看全部问答>

C51中的常量问题

我在C51中定义了一个常量,为什么引用时老是报错,请高手指点~ 定义:     #define cnt  3; 引用:     if(i>=cnt)    i=0; 错误提示: syntax error near ‘;’    & ...…

查看全部问答>

在Toronto里面添加组件 与 在bsp文件里修改 这两种方式的问题

关于 在Toronto里面添加组件 与 在bsp文件里修改 这两者并不是联动的。 比如我在config.h里面添加了 #define INCLUDE_TFFS 而在Tornado里面并没有自动添加 TrueFFS Flash File System 组件。 又如我在Tornado里面添加/删除了 TrueFFS Flash Fil ...…

查看全部问答>

ARM汇编指令的问题 DCD

ARM启动代码中的中断向量里有 \"b HandlerSWI\".执行后将跳到下面。(按照规则,用R0来传递参数,用来选择要执行的函数) HandlerSWI cmp r0 ,#4 ldrlo pc ,[pc,r0,lsl #2] movs pc , lr swiFunction DCD fu1 DCD fu2 DCD fu3 DCD fu4 fu1 ...…

查看全部问答>

也谈技术人员发展方向及嵌入式学习

     关于技术人员发展方向的问题相信是大家所关注的问题,现在谈谈我的想法       对于技术人员可以选择以下几个方向       一,    继续做技术,  做技术 ...…

查看全部问答>

DXP导入PCB时出现unknown pin的问题如何解决?

我用的是Altium Designer6.6,在电路原理图完成之后导入PCB的时候出现Unknown pin的错误,而且出现问题的都是我自定义的封装,请问各位大侠这个问题如何解决呢?谢谢啦   PS:这个问题都研究一天了,还是没有解决,按照网上的说法我都试过了 ...…

查看全部问答>

小菜鸟求助

代码如下: CBitmap cbmap; cbmap.Attach(hbitmap);  BYTE* bmpBuffer=(BYTE*)GlobalAlloc(GPTR, bmap.bmWidthBytes*bmap.bmHeight); DWORD dwValue=cbmap.GetBitmapBits(bmap.bmWidthBytes*bmap.bmHeight,bmpBuffer);   ...…

查看全部问答>

用6963控制的液晶240128底层驱动程序

#include <reg52.h>#include \"pin_define.h\"#define     uchar  unsigned char#define     uint   unsigned int/*---------------------------------------------------------- ...…

查看全部问答>