ARM9微控制器完成信號采集及實現(xiàn)上層控制算法解析方案
引言
本文引用地址:http://m.butianyuan.cn/article/171274.htm在很多嵌入式控制系統(tǒng)中,系統(tǒng)既要完成大量的信息采集和復(fù)雜的算法,又要實現(xiàn)精確的控制功能。采用運行有嵌入式Linux操作系統(tǒng)的ARM9微控制器完成信號采集及實現(xiàn)上層控制算法,并向DSP芯片發(fā)送上層算法得到控制參數(shù),DSP芯片根據(jù)獲得的參數(shù)和下層控制算法實現(xiàn)精確、可靠的閉環(huán)控制。
1 多機系統(tǒng)組成
該多機控制系統(tǒng)以ARM9微控制器s3c2440為核心,采用I2C總線掛載多個DSP芯片TMS320F28015作為協(xié)控制器,構(gòu)成整個控制系統(tǒng)的核心。
1.1 S3C2440及TMS320F28015簡介
Samsung公司的處理器S3C2440是內(nèi)部集成了ARM公司ARM920T處理器內(nèi)核的32位微控制器,資源豐富,帶獨立的16 KB的指令Cache和16 KB數(shù)據(jù)Cache,最高主頻可達400 MHz.它擁有130個通用I/O、24個外部中斷源以及豐富的外部接口能實現(xiàn)各種功能,包括支持多主功能的I2C總線接口、3路URAT、2路SPI、攝像頭接口等。
TMS320F28015(以下簡稱F28015)是TI公司的32位處理器,它具有強大的控制和信號處理能力,能夠?qū)崿F(xiàn)復(fù)雜的控制算法。片上整合了Flash存儲器、I2C總線模塊、快速的A/D轉(zhuǎn)換器、增強的CAN總線模塊、事件管理器、正交編碼電路接口及多通道緩沖串口等外設(shè),此種整合能夠方便地實現(xiàn)功能的擴展。同時,快速的中斷響應(yīng)使它能夠保護關(guān)鍵的寄存器并快速(更小的中斷延時)地響應(yīng)外部異步事件。
1.2 I2C總線接口
I2C總線是一種用于IC器件之間連接的串行總線,采用SDA(數(shù)據(jù)線)和SCL(時鐘線)兩線連接每個帶有I2C總線接口的器件或模塊。串行的8位雙向數(shù)據(jù)傳輸率在標準模式下可達100 kb/s,快速模式下可達400 kb/s.多個微控制器可以通過I2C總線接口非常方便地連接在一起構(gòu)成系統(tǒng),并根據(jù)地址識別每個器件。這種總線結(jié)構(gòu)的連線和連接引腳少,器件間總線簡單,結(jié)構(gòu)緊湊。因此其構(gòu)成系統(tǒng)的成本較低,并且在總線上增加器件不會影響系統(tǒng)的正常工作,所有的I2C總線器件共用一套總線,因此其系統(tǒng)修改和可擴展性好。
總線必須由主機(通常為微控制器)控制,主機產(chǎn)生串行時鐘( SCL) 控制總線的數(shù)據(jù)傳輸,并產(chǎn)生起始和停止條件。SDA 線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA 狀態(tài)的改變被用來表示起始和停止條件。I2C總線起始和停止時序如圖1所示。
圖1 I2C總線起始和停止時序
1.3 硬件電路
S3C2440和F28015自身均集成了I2C總線模塊,支持多主設(shè)備I2C總線串行接口,可以方便地掛接到I2C總線上。因此,兩者之間的I2C總線接口電路的設(shè)計變得十分簡單,只要將兩者的對應(yīng)引腳I2C_CLK(對應(yīng)I2C總線中的SCL線)和I2C_SDA(對應(yīng)I2C總線中的DATA線)連接起來即可。S3C2440和TMS320F28015的硬件接口電路如圖2所示。
圖2 S3C2440和TMS320F28015的硬件接口
評論