新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式Linux的ARM/DSP多機I2C通信

        基于嵌入式Linux的ARM/DSP多機I2C通信

        作者: 時間:2012-05-08 來源:網絡 收藏

        摘要:在高性能控制系統中,運行操作系統的主機實現主從控制的設計方案具有顯著優勢,并獲得廣泛運用。而實現之間的可靠是其關鍵技術之一。本文以Samsung公司的9芯片S3C2440和TI公司的芯片TMS320F28015為例,分析了接口的原理及特點,提出了總線的接口設計方法。測試結果驗證了該系統的可行性及可靠性,對系統設計具有一定的借鑒價值。
        關鍵詞:ARM9;DSP;通信;

        引言
        在很多嵌入式控制系統中,系統既要完成大量的信息采集和復雜的算法,又要實現精確的控制功能。采用運行有嵌入式操作系統的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位處理器,它具有強大的控制和信號處理能力,能夠實現復雜的控制算法。片上整合了Fl ash存儲器、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所示。

        本文引用地址:http://www.104case.com/article/149119.htm

        a.jpg


        1.3 硬件電路
        S3C2440和F28015自身均集成了I2C總線模塊,支持多主設備I2C總線串行接口,可以方便地掛接到I2C總線上。因此,兩者之間的I2C總線接口電路的設計變得十分簡單,只要將兩者的對應引腳I2C_CLK(對應I2C總線中的SCL線)和I2C SDA(對應I2C總線中的DATA線)連接起來即可。S3C2440和TMS320F28015的硬件接口電路如圖2所示。

        b.jpg


        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.3V的VCC電源上。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程



        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 滨海县| 应城市| 色达县| 济宁市| 西华县| 廊坊市| 金乡县| 镇雄县| 内丘县| 卢氏县| 云浮市| 蓝田县| 库尔勒市| 林西县| 南陵县| 临泉县| 无为县| 衢州市| 双鸭山市| 连江县| 宁武县| 通道| 自治县| 奉节县| 额济纳旗| 南平市| 和平区| 新兴县| 尚义县| 龙川县| 洛浦县| 金门县| 澄江县| 巴彦县| 东莞市| 巴楚县| 山西省| 阳高县| 四平市| 青岛市| 麻城市|