娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月19日(星期三)

正在發生

2018年02月19日 | 采用ARM9微控制器實現上層控制算法解析方案

發布者:勾劍寒 來源: eefocus關鍵字:ARM9  微控制器  控制算法 手機看文章 掃描二維碼
隨時隨地手機看文章

  引言

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

基于Linux操作系統的ARM/DSP多機I2C通信設計方案

圖1 I2C總線起始和停止時序

  1.3 硬件電路

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

基于Linux操作系統的ARM/DSP多機I2C通信設計方案

圖2 S3C2440和TMS320F28015的硬件接口

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

  2 ARM和DSP通信軟件設計

  運行Linux操作系統的ARM微控制器作為主控制器,在數據管理及多任務調度等方面有顯著優勢,可以很好地組織外圍器件采集的數據;主要實現對系統的整體控制,并通過總線設備驅動程序控制I2C總線模塊,通過主機尋址實現向I2C總線上掛載的下層DSP的數據收發。為保證數據通信的實時性,F28015通過中斷響應的方式實現數據接收和發送。

  通過配置F28015的I2C模塊寄存器,設置I2C模塊為從工作方式,同時利用I2C總線中斷響應程序實現對總線上數據的接收和發送,進而完成數據通信。F28015產生了I2C總線中斷后,就執行中斷服務程序,圖7為I2C總線中斷服務程序流程。

  中斷服務程序通過查詢狀態寄存器(I2CSTR)標志位,得出中斷類型碼,然后調用相應的子程序,完成數據接收發送。代碼如下:

  interrupt void i2c_int1a_isr(void) {//I2CA的中斷響應函數

  Uint16 IntSource;// 讀取中斷碼

  IntSource=I2caRegs.I2CISRC.bit.INTCODE & 0x7;//I2CA中斷源,讀后3位

  switch(IntSource){//依中斷源而確定相關接收和發送策略

  case I2C_NO_ISRC://=0

  case I2C_ARB_ISRC://=1

  case I2C_NACK_ISRC: //=2

  case I2C_ARDY_ISRC: //=3

  case I2C_SCD_ISRC://=6

  case I2C_AAS_ISRC://=7

  break;

  case I2C_RX_ISRC://=4,接收數據已準備好

  DataReceive();//調用數據接收子函數接收數據

  break;

  case I2C_TX_ISRC://=5,發送數據已準備好

  DataTransmit();//調用數據發送子函數接收數據

  break;

  default:

  asm(“ESTOP0”); //無效數據,則停止

  }

  PieCTRlRegs.PIEACK.all=PIEACK_GROUP8;

  }

  F28015中的數據接收子程序和數據發送子程序是在I2C總線的中斷服務程序中根據不同的狀態碼進行調用,它們是整個通信程序的核心部分。數據接收子程序和數據發送子程序的流程如圖8所示。

基于Linux操作系統的ARM/DSP多機I2C通信設計方案

圖8 數據接收和發送子程序

  3 測試結果

  通過NFS文件系統將編譯成模塊的I2C的總線驅動和設備驅動加載到運行Linux操作系統的S3C2440平臺上(先加載總線驅動),再將F28015的測試程序燒寫到RAM中。運行F28015等待I2C總線上的數據,再執行Linux系統中的I2C總線測試程序。測試結果顯示,芯片通過I2C總線接口完成了數據通信,具有良好的實時性和可靠性。

  4 結論

  該設計利用I2C總線實現了ARM9微控制器與DSP芯片間實時可靠的數據通信。ARM9微控制器結合Linux操作系統作為上層控制核心,DSP芯片實現下層控制算法,可充分發揮ARM9微控制器在數據采集和任務管理等方面的優勢以及DSP芯片在算法實現和底層控制的長處。


關鍵字:ARM9  微控制器  控制算法 引用地址:采用ARM9微控制器實現上層控制算法解析方案

上一篇:Linux的MISC類設備AD7859L的驅動程序開發
下一篇:嵌入式系統的存儲測試技術及無線傳輸應用

推薦閱讀

1 引言繼語音通話、短信服務、數據通信之后,音樂無線下載及實時播放正在成為全球手機運營商提供的新興服務之一,引發廣泛的關注。與傳統的基于個人電腦的音樂播放器相比,手機音樂播放器的優勢在于其下載和播放方式的方便快捷,可以給用戶帶來輕松舒適的使用體驗。以手機音樂播放器為媒介,運營商可以依靠其自身對移動通信網絡服務的強大控制力,為顧客...
據CNBC報道,蘋果公司已經聘請了微軟的前企業副總裁和已經解散的智能鎖品牌Otto的創始人Sam Jadallah來領導其 智能家居 工作。 聘請Jadallah是蘋果計劃認真對待自己在家庭方面努力的最新信號。上周五有報道稱,蘋果收購了一家名為PullString的初創公司,該公司專門為亞馬遜的Alexa和谷歌Home開發語音應用程序。這筆交易將為下一代蘋果電視提供語音指令...
簡介:鎳氫電池是一種使用非常廣泛的可充電電池, 廣泛用于各種電子設備, 如手機、照相機、隨身聽和M P3。鎳氫電池是一種使用非常廣泛的可充電電池,廣泛用于各種電子設備,如手機、照相機、隨身聽和MP3。基于鎳氫電池的充電器市場上也有非常多的種類,根據調研目前市場現有的充電系統大都采用固定的模式對電池進行充電,充電時間過長(慢充10h左右,快充電也...
半導體生產設備廠商應用材料(Applied Materials)于當地時間2月18日公布的財報顯示,到1月底止的年度第一季(上季)營收為51.6 億美元,同比增長24%,優于分析師預期。應用材料CEO Gary Dickerson表示:“我們看到,上季半導體部門的需求持續攀升,總體經濟和產業趨勢都推動了多個市場和多種應用的半導體消費。得益于廣泛的產品組合和技術創新的影響...

史海拾趣

問答坊 | AI 解惑

S3C2410自已做的板

之前心血來潮做的板子,由于要開鋼網給暫停的板子.…

查看全部問答∨

誰有LM317的資料

還有這種穩壓管可以判別好壞嗎…

查看全部問答∨

據說競賽出結果了?

本帖最后由 paulhyde 于 2014-9-15 09:23 編輯 聽群里的朋友說說,我這里咋沒消息,大家的結果都出來了么  …

查看全部問答∨

arm接口實驗代碼

arm接口實驗程序代碼。…

查看全部問答∨

誠聘ICE資深開發人員

要求有相關的開發經驗,為我公司的4 BIT及8 BIT單片機開發全套ICE系統。 高薪誠聘,薪資可面談!…

查看全部問答∨

新手問個小問題~

8051 的串口通信中.作為多處理機通信時,主處理機和從處理機是怎么回事呢?…

查看全部問答∨

國產哪個品牌示波器能穩定觸發包絡信號?看到瀑布圖?

國產哪個品牌示波器能穩定觸發包絡信號?看到瀑布圖? 鼎陽可以嗎?哪種型號?  …

查看全部問答∨

ARM7學習視頻

    最近想學習ARM 有哪位仁兄有關ARM的學習視頻啊?…

查看全部問答∨

請教:向2M的FLASH存多個文件一般用什么格式保存?

怎樣管理多個文件,刪除、添加、搜索。我用的FLASH存儲器是M25P16。…

查看全部問答∨

如何用LWIP發送大量數據

求指導,如何用LWIP發送大量數據啊,使用raw api,基本的流程和要注意的問題,這幾天搞的頭都大了…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 镇雄县| 沙坪坝区| 元氏县| 独山县| 奇台县| 烟台市| 大方县| 右玉县| 罗江县| 搜索| 阳曲县| 齐齐哈尔市| 上犹县| 招远市| 翁源县| 常德市| 荣成市| 启东市| 金山区| 栾城县| 循化| 紫金县| 信宜市| 射洪县| 茂名市| 株洲县| 大石桥市| 凤城市| 金塔县| 资阳市| 南靖县| 广平县| 金阳县| 靖江市| 阿勒泰市| 丰顺县| 勃利县| 高台县| 罗定市| 青冈县| 加查县|