基于嵌入式Linux的ARM/DSP多機I2C通信
中斷服務(wù)程序通過(guò)查詢(xún)狀態(tài)寄存器(I2CSTR)標志位,得出中斷類(lèi)型碼,然后調用相應的子程序,完成數據接收發(fā)送。代碼如下:

F28015中的數據接收子程序和數據發(fā)送子程序是在I2C總線(xiàn)的中斷服務(wù)程序中根據不同的狀態(tài)碼進(jìn)行調用,它們是整個(gè)通信程序的核心部分。數據接收子程序和數據發(fā)送子程序的流程如圖8所示。本文引用地址:http://dyxdggzs.com/article/149119.htm
3 測試結果
通過(guò)NFS文件系統將編譯成模塊的I2C的總線(xiàn)驅動(dòng)和設備驅動(dòng)加載到運行Linux操作系統的S3C2440平臺上(先加載總線(xiàn)驅動(dòng)),再將F28015的測試程序燒寫(xiě)到RAM中。運行F28015等待I2C總線(xiàn)上的數據,再執行Linux系統中的I2C總線(xiàn)測試程序。測試結果顯示,芯片通過(guò)I2C總線(xiàn)接口完成了數據通信,具有良好的實(shí)時(shí)性和可靠性。
4 結論
該設計利用I2C總線(xiàn)實(shí)現了ARM9微控制器與DSP芯片間實(shí)時(shí)可靠的數據通信。ARM9微榨制器結合Linux操作系統作為上層控制核心,DSP芯片實(shí)現下層控制算法,可充分發(fā)揮ARM9微控制器在數據采集和任務(wù)管理等方面的優(yōu)勢以及DSP芯片在算法實(shí)現和底層控制的長(cháng)處。
linux相關(guān)文章:linux教程
評論