基于嵌入式Linux的ARM/DSP多機I2C通信
中斷服務程序通過查詢狀態(tài)寄存器(I2CSTR)標志位,得出中斷類型碼,然后調用相應的子程序,完成數據接收發(fā)送。代碼如下:
F28015中的數據接收子程序和數據發(fā)送子程序是在I2C總線的中斷服務程序中根據不同的狀態(tài)碼進行調用,它們是整個通信程序的核心部分。數據接收子程序和數據發(fā)送子程序的流程如圖8所示。本文引用地址:http://2s4d.com/article/149119.htm
3 測試結果
通過NFS文件系統(tǒng)將編譯成模塊的I2C的總線驅動和設備驅動加載到運行Linux操作系統(tǒng)的S3C2440平臺上(先加載總線驅動),再將F28015的測試程序燒寫到RAM中。運行F28015等待I2C總線上的數據,再執(zhí)行Linux系統(tǒng)中的I2C總線測試程序。測試結果顯示,芯片通過I2C總線接口完成了數據通信,具有良好的實時性和可靠性。
4 結論
該設計利用I2C總線實現了ARM9微控制器與DSP芯片間實時可靠的數據通信。ARM9微榨制器結合Linux操作系統(tǒng)作為上層控制核心,DSP芯片實現下層控制算法,可充分發(fā)揮ARM9微控制器在數據采集和任務管理等方面的優(yōu)勢以及DSP芯片在算法實現和底層控制的長處。
linux相關文章:linux教程
評論