当前位置:首页 > 电源 > 数字电源
[导读]引言在很多嵌入式控制系统中,系统既要完成大量的信息采集和复杂的算法,又要实现精确的控制功能。采用运行有嵌入式Linux操作系统的ARM9微控制器完成信号采集及实现上层控制算法,并向DSP芯片发送上层算法得到控制参

引言

在很多嵌入式控制系统中,系统既要完成大量的信息采集和复杂的算法,又要实现精确的控制功能。采用运行有嵌入式Linux操作系统的ARM9微控制器完成信号采集及实现上层控制算法,并向DSP芯片发送上层算法得到控制参数,DSP芯片根据获得的参数和下层控制算法实现精确、可靠的闭环控制。

1 多机系统组成

该多机控制系统以ARM9微控制器s3c2440为核心,采用I2C总线挂载多个DSP芯片TMS320F28015作为协控制器,构成整个控制系统的核心。

1.1 S3C2440及TMS320F28015简介

Samsung公司的处理器S3C2440是内部集成了ARM公司ARM920T处理器内核的32位微控制器,资源丰富,带独立的16 KB的指令Cache和16 KB数据Cache,最高主频可达400 MHz.它拥有130个通用I/O、24个外部中断源以及丰富的外部接口能实现各种功能,包括支持多主功能的I2C总线接口、3路URAT、2路SPI、摄像头接口等。

TMS320F28015(以下简称F28015)是TI公司的32位处理器,它具有强大的控制和信号处理能力,能够实现复杂的控制算法。片上整合了Flash存储器、I2C总线模块、快速的A/D转换器、增强的CAN总线模块、事件管理器、正交编码电路接口及多通道缓冲串口等外设,此种整合能够方便地实现功能的扩展。同时,快速的中断响应使它能够保护关键的寄存器并快速(更小的中断延时)地响应外部异步事件。

1.2 I2C总线接口

I2C总线是一种用于IC器件之间连接的串行总线,采用SDA(数据线)和SCL(时钟线)两线连接每个带有I2C总线接口的器件或模块。串行的8位双向数据传输率在标准模式下可达100 kb/s,快速模式下可达400 kb/s.多个微控制器可以通过I2C总线接口非常方便地连接在一起构成系统,并根据地址识别每个器件。这种总线结构的连线和连接引脚少,器件间总线简单,结构紧凑。因此其构成系统的成本较低,并且在总线上增加器件不会影响系统的正常工作,所有的I2C总线器件共用一套总线,因此其系统修改和可扩展性好。

总线必须由主机(通常为微控制器)控制,主机产生串行时钟( SCL) 控制总线的数据传输,并产生起始和停止条件。SDA 线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA 状态的改变被用来表示起始和停止条件。I2C总线起始和停止时序如图1所示。

图1 I2C总线起始和停止时序

1.3 硬件电路

S3C2440和F28015自身均集成了I2C总线模块,支持多主设备I2C总线串行接口,可以方便地挂接到I2C总线上。因此,两者之间的I2C总线接口电路的设计变得十分简单,只要将两者的对应引脚I2C_CLK(对应I2C总线中的SCL线)和I2C_SDA(对应I2C总线中的DATA线)连接起来即可。S3C2440和TMS320F28015的硬件接口电路如图2所示。

图2 S3C2440和TMS320F28015的硬件接口

电路S3C2440的PA55和PA56引脚分别对应I2C_SDA和I2C_CLK,而F28015的GPIO32和GPIO33也可以分别复用为I2C_SDA和I2C_CLK.考虑到阻抗不匹配等因素会影响总线数据传输效果,因此在将两块芯片的I2C_DATA和I2C_CLK引脚直连时,在直连线路上各串联一个小电阻。

I2C_SDA和I2C_CLK是双向电路,必须都通过一个电流源或上拉电阻连接到正电源电压上。由于S3C2440和F28015的输出高电平均为3.3 V,所以在硬件设计时将I2C_SDA和I2C_CLK总线通过上拉电阻连接到了3.3 V的VCC电源上。

2 ARM和DSP通信软件设计

运行Linux操作系统的ARM微控制器作为主控制器,在数据管理及多任务调度等方面有显着优势,可以很好地组织外围器件采集的数据;主要实现对系统的整体控制,并通过总线设备驱动程序控制I2C总线模块,通过主机寻址实现向I2C总线上挂载的下层DSP的数据收发。为保证数据通信的实时性,F28015通过中断响应的方式实现数据接收和发送。

通过配置F28015的I2C模块寄存器,设置I2C模块为从工作方式,同时利用I2C总线中断响应程序实现对总线上数据的接收和发送,进而完成数据通信。F28015产生了I2C总线中断后,就执行中断服务程序,图7为I2C总线中断服务程序流程。

中断服务程序通过查询状态寄存器(I2CSTR)标志位,得出中断类型码,然后调用相应的子程序,完成数据接收发送。代码如下:

interrupt void i2c_int1a_isr(void) {//I2CA的中断响应函数

Uint16 IntSource;// 读取中断码

IntSource=I2caRegs.I2CISRC.bit.INTCODE & 0x7;//I2CA中断源,读后3位

switch(IntSource){//依中断源而确定相关接收和发送策略

case I2C_NO_ISRC://=0

case I2C_ARB_ISRC://=1

case I2C_NACK_ISRC: //=2

case I2C_ARDY_ISRC: //=3

case I2C_SCD_ISRC://=6

case I2C_AAS_ISRC://=7

break;

case I2C_RX_ISRC://=4,接收数据已准备好

DataReceive();//调用数据接收子函数接收数据

break;

case I2C_TX_ISRC://=5,发送数据已准备好

DataTransmit();//调用数据发送子函数接收数据

break;

default:

asm(“ESTOP0”); //无效数据,则停止

}

PieCtrlRegs.PIEACK.all=PIEACK_GROUP8;

}

F28015中的数据接收子程序和数据发送子程序是在I2C总线的中断服务程序中根据不同的状态码进行调用,它们是整个通信程序的核心部分。数据接收子程序和数据发送子程序的流程如图8所示。

图8 数据接收和发送子程序

3 测试结果

通过NFS文件系统将编译成模块的I2C的总线驱动和设备驱动加载到运行Linux操作系统的S3C2440平台上(先加载总线驱动),再将F28015的测试程序烧写到RAM中。运行F28015等待I2C总线上的数据,再执行Linux系统中的I2C总线测试程序。测试结果显示,芯片通过I2C总线接口完成了数据通信,具有良好的实时性和可靠性。

4 结论

该设计利用I2C总线实现了ARM9微控制器与DSP芯片间实时可靠的数据通信。ARM9微控制器结合Linux操作系统作为上层控制核心,DSP芯片实现下层控制算法,可充分发挥ARM9微控制器在数据采集和任务管理等方面的优势以及DSP芯片在算法实现和底层控制的长处。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

利用LogiCoA™微控制器,以更低功耗实现与全数字控制电源同等的功能

关键字: 微控制器 电源 CPU

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

全新Balletto™系列无线MCU基于Alif Semiconductor先进的MCU架构,该架构具有DSP加速和专用NPU,可快速且低功耗地执行AI/ML工作负载

关键字: 处理器 微控制器 AI

2024年4月10日 –提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售NXP Semiconductors的MCX工业和物联网微控制器...

关键字: 微控制器 电机控制 机器学习

中国上海–2024年4月9日–在追求创新的道路上,英飞凌(Infineon)再次领导行业,推出突破性的PSoC™ 4000T 微控制器。全球知名的电子元器件授权代理商富昌电子(Future Electronics)现为各...

关键字: 微控制器 电容式传感板

开放计算项目(OCP)是一个非营利组织,专注于推动各企业在数据中心产品设计及最佳实践方面加强交流。近日,该组织发布了开放机架第三版(ORV3)规范。规范中比较显著的变化在于设计架构从12 V迁移到了48 V。本系列文章重...

关键字: 微控制器 电池 开放计算

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

2024年3月26日,中国-- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了一项基于 18 纳米全耗尽绝缘体上硅(FD-SO...

关键字: 处理器 微控制器 存储器
关闭
关闭