基于嵌入式Linux的ARM/DSP多机I2C通信
2012-06-25李杰罗庆生韩宝玲王浩浩
李杰,罗庆生,韩宝玲,王浩浩
(1.北京理工大学 机电学院,北京 100081;2.北京理工大学 机械与车辆工程学院 )
李杰(硕士研究生),研究方向为嵌入式控制技术;罗庆生(教授),研究方向为特种机器人技术、机电一体化技术。
引 言
在很多嵌入式控制系统中,系统既要完成大量的信息采集和复杂的算法,又要实现精确的控制功能。采用运行有嵌入式Linux操作系统的ARM9微控制器完成信号采集及实现上层控制算法,并向DSP芯片发送上层算法得到控制参数,DSP芯片根据获得的参数和下层控制算法实现精确、可靠的闭环控制。
1 多机系统组成
该多机控制系统以ARM9微控制器S3C2440为核心,采用I2C总线挂载多个DSP芯片TMS320F28015作为协控制器,构成整个控制系统的核心。
1.1 S3C2440及TMS320F28015简介
Samsung公司的处理器S3C2440是内部集成了ARM公司ARM920T处理器内核的32位微控制器,资源丰富,带独立的16KB的指令Cache和16KB数据Cache,最高主频可达400MHz。它拥有130个通用I/O、24个外部中断源以及丰富的外部接口能实现各种功能,包括支持多主功能的I2C总线接口、3路URAT、2路SPI、摄像头接口等。
TMS320F28015(以下简称F28015)是TI公司的32位处理器,它具有强大的控制和信号处理能力,能够实现复杂的控制算法。片上整合了Flash存储器、I2C总线模块、快速的A/D转换器、增强的CAN总线模块、事件管理器、正交编码电路接口及多通道缓冲串口等外设,此种整合能够方便地实现功能的扩展。同时,快速的中断响应使它能够保护关键的寄存器并快速(更小的中断延时)地响应外部异步事件。
1.2 I 2C总线接口
I2C总线是一种用于IC器件之间连接的串行总线,采用SDA(数据线)和SCL(时钟线)两线连接每个带有I2C总线接口的器件或模块。……
