




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、ARM與DSP的SPI通信設(shè)計實現(xiàn)ARM與DSP的SPI通信設(shè)計實現(xiàn)CommunicationBetweenARMandDS PThrou ghS PIBus馬旭東張云帆(東南大學自動化學院,江蘇南京2 1 0 0 9 6 )提出一種測量儀器的多處理機分布式控制方案,并對DSP與移植了LinuX操作系統(tǒng)的ARM之間SPI通信設(shè)計進行了著重闡述。對于這樣的特定系統(tǒng),首先要完成Linux下的SPI驅(qū)動程序開發(fā),然后才能進行ARM和DSP下 的應用程序開發(fā)。對這幾個方面進行了詳細介紹,給出了一種ARM與DS P通信的通信協(xié)議,并基于此協(xié)議實現(xiàn)了ARM與DSP的SPI通信。關(guān)鍵詞:SPI總線,ARM,
2、DS P,SPI驅(qū)動程序Abstr actThispaperbringsupadistributedcontrolmethodbasedonmultipleprocessorsofs urveyinginstruments,andputstheemphasi sondiscussigtheommunicationbetweenDS PandARMwihaLiuxOS.Forthespecificsystem,tode1 gneSPIdevicedriverofembeddedLinufirst step,hencomp1 icatetheapp1 cadprog raminhARMandDS
3、P.Alltheepas aredesedindet1 inthispapedacommuncat1 onprotolbetweenARMandDS Pisg ivn,ba sedwhit heARMandDS PcommunicatehroughSPIb1saccomp1 ished.Keywords:S PIbus,ARM,DSP,SP Ideviced1 ver對于現(xiàn)代測量儀器,不僅需要具備實時性的控制、測量功能,還需要具備非實 時性的人機交互界面、數(shù)據(jù)管理、打印等功能?;诖?,常常采用多處理器結(jié)構(gòu), 組成分布式控制系統(tǒng)。根據(jù)系統(tǒng)實際要求,采用TI公司的DSP處理器TMS32 0F281
4、2為控制核心,采用三星公司的ARM 9處理器S3C241 0為管理核心。而如何保證兩者之間高效的數(shù)據(jù)傳送便成為一個至關(guān)重要的問題。就被交換了。如果只是進行寫操作,主機只需忽略收到的字節(jié);反過來,如果 主機要讀取外設(shè)的一個字節(jié),就必須發(fā)送一個空字節(jié)來引發(fā)從機的傳輸。還有一根nSS,為從選信號線,可以用于使能從機輸出,是可選的;若使用nSS,如本系統(tǒng)中,必須保證nSS在上電時為高電平,否則在上電后,從機將首先收到一個偽數(shù)據(jù)。根據(jù)MOSI和MISO在SP ICLK的哪個時鐘極性和時鐘相位上有效,SPI可分為4種工作時序,而S3C241 0與DSP 2812對這四種時鐘模式都可支持,因此只要任選一種即
5、可,但必須保證它們之間的一致。這里約定使用無相位延時的下降沿的SPI時序。ARM通過發(fā)出SP ICLK信號來啟動數(shù)據(jù)傳輸,SP ICLK為高電平時有效,在SP ICLK信號的下降沿發(fā)送數(shù)據(jù),在SP ICLK信號的上升沿接收數(shù)據(jù)。ARM與DS P能夠同時發(fā)送和接收數(shù)據(jù),應用軟件判定數(shù)據(jù)的真?zhèn)?。其時序圖如圖2所示。SPI (Serial ParallelInterface)總線是Mot orola公司提出的一種同步串行外設(shè)接口協(xié)議總線。它具有標準的傳輸協(xié)議,占用接口線少, 傳輸效率高,且為本系統(tǒng)所采用的兩種芯片所支持,故而是一種較為理想的設(shè)計方 案。1系統(tǒng)硬件結(jié)構(gòu)本系統(tǒng)中,通信是由儀器使用者通過人
6、機交互界面操作儀器發(fā)起的,故將管理核心ARM設(shè)置為主機,將控制核心DSP設(shè)置為從機。其硬件結(jié)構(gòu)如圖1所示。圖2無相位延時的下降沿的SPI時序系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計的主要任務有:由于在ARM上移植了LinuxARM與DSP的SPI通信接口一般情況下,實現(xiàn)SPI接口需要34根線。SPI是一個同步協(xié)議接口, 所有的傳輸都參照一個共同的時鐘CLOCK,這個同步時鐘信號由主機產(chǎn)生,從 機使用時鐘來對串行比特流的接收進行同步化。主機和從機都包含一個串行移位寄 存器,主機通過向它的SPI串行寄存器寫入一個字節(jié)來發(fā)起一次傳輸。寄存器是 通過MOSI (主輸出從輸入數(shù)據(jù)線)信號線將字節(jié)傳送給從機,從機也將自己
7、移 位寄存器中的內(nèi)容通過MISO (主輸入從輸出數(shù)據(jù)線)信號線返回給主機,這 樣,兩個移位寄存器中的內(nèi)容操作系統(tǒng),要在用戶空間正確使用SPI設(shè)備,首先要在內(nèi)核空間編寫相應的 設(shè)備驅(qū)動程序;另外要在用戶空間編寫應用程序以完成ARM上的數(shù)據(jù)收發(fā)流程, DSP上的數(shù)據(jù)收發(fā)。在ARM端,S3C241 0芯片內(nèi)SPI接口支持查詢、中斷與DMA三種傳輸模式。若采用中斷模式,接收到一個字節(jié)的數(shù)據(jù)即中斷一次,而本系統(tǒng)中數(shù)據(jù)量較大,因此效率較低;若采用DMA方式實現(xiàn),則增加了驅(qū)動程序開發(fā)的難度。這里選擇采用查詢方式接收數(shù)據(jù)。工業(yè)控制計算機2 0 0 8年2 1卷第9期而在DSP端,因為采用前后臺結(jié)構(gòu),故對于SP
8、I通信模塊,采用中斷方式 接收數(shù)據(jù)。通過中斷處理程序完成前后臺切換。本系統(tǒng)中,對ARM和DSP均采用C語言進行編程。2.1數(shù)據(jù)格式定義根據(jù)實際要求,本系統(tǒng)中在SPI通信時主要有三種格式的數(shù)據(jù)。分別是命令 幀、數(shù)據(jù)幀、信息幀,其中命令幀總是由主機發(fā)出,用于指示從機完成相應的控制功能;信息幀總是由從機發(fā)出,作用是在從機執(zhí)行控制功能時,將相關(guān)狀態(tài)信息反 饋給主機。數(shù)據(jù)幀則既可以由主機也可以從機發(fā)出,用于主機和從機進行必要的參 數(shù)傳遞。二種幀的格式如下表所示:命令幀格式:信息幀格式:數(shù)據(jù)幀格式:2.2ARM上的SPI驅(qū)動程序編寫在向內(nèi)核注冊完成SPI設(shè)備后,首先要初始化硬件。即把相關(guān)寄存器映射到虛擬內(nèi)
9、存地址,對其進行相應的設(shè)置。其中較為重要的便是SPI控制寄存器。SPI控制寄存器的字段定義如下:初始化代碼如下:4)A /控r _ SP CON0=ioremap(0x5 9000000, 制寄存器地址映射r_S PCON0 = 0x18 A/控制寄存器設(shè)置根據(jù)所要實現(xiàn)的文件操作,本系統(tǒng)SPI驅(qū)動程序定義的f ile _ operations結(jié)構(gòu)為:staticstructfile _ operationspi2410_ fops= Kr ead:spi24 10 _ rd,write:spi240_wr,poll:spi2410_ poll,open:spi2410 _ open,relea
10、se:spl2410 _ close,PA這樣在用戶空間應用程序中通過read、write等關(guān)鍵字,即可調(diào)用內(nèi) 核空間驅(qū)動程序中相應的函數(shù)。SPI發(fā)送數(shù)據(jù)調(diào)用spi2410_wr()函數(shù)。在該函數(shù)中首先分配數(shù)據(jù)發(fā)送緩沖區(qū),并將用戶空間的數(shù)據(jù)復制到內(nèi)核空間,然后調(diào)用spidata_send()進行數(shù)據(jù)的發(fā)送,發(fā)送過程結(jié)束后,返回實際發(fā)送的數(shù)據(jù)長度。spldatasend()函數(shù)的實現(xiàn)過程如圖3所示spi_poll_done()函數(shù)設(shè)置一定的超時時間,在此時間內(nèi)不斷查詢設(shè)備狀態(tài)寄存器rSP STA0的相關(guān)標志位,如果狀態(tài)指示字節(jié)數(shù)據(jù)已發(fā)出或者發(fā)送超時,則返回。關(guān)鍵代碼如下:SPI數(shù)據(jù)發(fā)送流程圖co
11、py _ from_ user(TXdata,buf,count/復制數(shù)據(jù)到內(nèi)核空間的發(fā)送緩沖區(qū)spi _ data _ send() A/調(diào)用函數(shù)發(fā)送數(shù)據(jù)SPI接收數(shù)據(jù)調(diào)用spi2410_rd()函數(shù),其過程與SPI發(fā)送數(shù)據(jù)過程類似。首先分配數(shù)據(jù)接收緩沖區(qū),同樣調(diào)用spi _tx_data()發(fā)送數(shù)據(jù),只是此時發(fā)送的是偽數(shù)據(jù),并在發(fā)送過程返回后,從SPI的接收數(shù)據(jù)寄存器中讀取數(shù)據(jù)并保存在已分配好的接收數(shù)據(jù)緩沖區(qū)中。最后再將該內(nèi)核空間的數(shù)據(jù)傳遞到用戶空間中。該實現(xiàn)過程的流程圖略去。其關(guān)鍵代碼如下:spl _ tx _ data(Oxff) A /發(fā)送偽數(shù)據(jù) RXdatal =rS PRDAT0
12、 A/接收數(shù)據(jù)copy _ to _ user(buf,RXdata,count/復制數(shù)據(jù)到用戶空間2.3ARM收發(fā)數(shù)據(jù)前文已經(jīng)提到,ARM端采用查詢方式接收數(shù)據(jù)。ARM在執(zhí)行SPI通信任 務時,其他任務均被掛起。而本系統(tǒng)要求ARM還要不間斷完成其他任務(如每秒 對顯示屏幕進行刷新),故在ARM端設(shè)計如下收發(fā)協(xié)議:ARM向DSP發(fā)出動 作命令幀后,立即返回,完成其他任務。然后每3 s向DSP發(fā)出一個命令幀進行 詢問。如果未收到應答或收到動作尚未完成的信息幀,則返回并重復上述動作。若 收到動作完成的信息幀,若有數(shù)據(jù)上傳則發(fā)一個命令幀請求數(shù)據(jù),否則直接返回并 關(guān)閉SPI通信。對于每個動作,相應設(shè)定
13、一個延時時間,若超過該時間仍未收到動作完成的信息幀,或 數(shù)據(jù)上傳未完成,則返回并關(guān)閉SPI通信以進行其他操作。以上流程如圖4所2.4DS P收發(fā)數(shù)據(jù)在DSP端,將接收中斷的級別設(shè)置為單字節(jié),即每接(下轉(zhuǎn)第6 6頁)ARM端收發(fā)數(shù)據(jù)流程圖IRQ和非向量IRQ,不同外設(shè)的中斷優(yōu)先級可以動態(tài)分配并調(diào)整。系統(tǒng)將 中斷請求分配給非向量IRQ,響應過程為:當發(fā)生IRQ中斷時,首先保存任務環(huán)境,然后中斷控制器(VIC)將所有相或”向LP C2131產(chǎn)生IRQ信號,借著調(diào)用異常處IRQ中斷理程序,處理結(jié)束后關(guān)閉中斷,最后恢復現(xiàn)場、返回?;谇度胧郊夹g(shù)的分布式測控系統(tǒng)研究與應用局部管理單元與電能管理終端間RS4
14、85通信轉(zhuǎn)換過程2.4系統(tǒng)各部分間通信2.4. 1系統(tǒng)握手方式系統(tǒng)的通信總體上采用自上而下的主從方式,即遠程上位機與局部管理單元之 間的通信始終由遠程上位機發(fā)起,局部管理單元與電能管理終端之間始終由局部管 理單元發(fā)起。具體方式為:發(fā)起通信的一方先發(fā)出功能命令,應答方作出回應。若 無應答或錯誤應答則發(fā)起方重新發(fā)送命令,直到收到正確應答或者重發(fā)次數(shù)達到最 大重發(fā)次數(shù)則視為此次通信失敗。由于系統(tǒng)采取分級的分布式結(jié)構(gòu),一個局部管理單元下可帶多達上百個電能管 理終端,而每個電能管理終端可最多管理RS485通信幀格式16塊電表,因此地址域有3個字節(jié)。在應用中用位域掩碼代替具體的電表號,目的是減少通信的流量
15、,提高 通信效率,更方便于今后電表的維護更新。2.4.2遠程上位機與局部管理單元間以太網(wǎng)通信局部管理單元與遠程上位機之間采用以太網(wǎng)通信,并采用自定義的通信協(xié)議, 格式如表1所示。表1以太網(wǎng)通信幀格式3結(jié)束語本文所設(shè)計的基于ARM處理器的分布式智能電能管理系統(tǒng),采用分級結(jié)構(gòu),具有良好的智能性與可擴展性,并且數(shù)據(jù)采集可靠、通信穩(wěn)定。該系統(tǒng)已開始應用于實際智能小區(qū)的建設(shè)。本系統(tǒng)是較為典型的分級分布式 智能測控系統(tǒng),不僅對智能電能管理,而且對于智能樓宇、電機控制、車間控制、 流量監(jiān)控等生產(chǎn)生活的很多領(lǐng)域的開發(fā)具有良好的啟示作用??蓪ο到y(tǒng)的結(jié)構(gòu)及功 能進行適當調(diào)整以適應不同的應用場合,具有很強的靈活性和
16、可擴展性。其中,同步頭為字符:數(shù)據(jù)與長度根據(jù)不同情況有所”不同,檢驗域校驗的范圍包括命令域與數(shù)據(jù)域的長度,信息包長度指命令域長度、數(shù)據(jù)與長度、校驗域 長度三者的總和。參考文獻1魏忠,等著.嵌入式開發(fā)詳解M.北京:電子工業(yè)出版社,20032 孫秋野,等著.ARM嵌入式系統(tǒng)開發(fā)典型模塊M.北京:人民郵電 出版社,2 0 0 73周立功,等著.深入淺出ARM7 LP C213X/214X(上)M.北京:北京航空航天大學出版社,2 0 0 54 2 0 0 3年全國單片機及嵌入式系統(tǒng)學術(shù)年會論文集C.北京:北 京航空航天大學出版社,2 0 0 35ElectronicsSamsung.S3C2410X
17、32Bi tRISCMicroprocessor2.4.3局部管理單元與電能管理終端間RS485通信局部管理單元與電能管理終端之間采用RS 4 8 5通信,系統(tǒng)首先需要將微處 理器SCI出來TTL電平轉(zhuǎn)換為RS 2 3 2電平,再在通過外部裝換模塊將RS 2 3 2電平轉(zhuǎn)換為RS 4 8 5電平,從而與電能管理終端進行通信,基本過程如圖 4所示。由于RS 4 8 5總線只規(guī)定了相應的物理層協(xié)議,并沒有定義上層協(xié)議,因此 系統(tǒng)中采用自定義的數(shù)據(jù)格式和協(xié)議,如表2所示。UsersManual(Rev1s1on1.2).2003收稿日期:2 0 0 8.4.1 5 !(上接第5 7頁)斷正確,則該字
18、節(jié)數(shù)據(jù)為有效數(shù)據(jù),儲存于緩沖區(qū)中,并將spl_1做加1 處理。否則結(jié)束中斷處理程序DSP端整個接收流程如圖5所示。收到一個字節(jié)數(shù)據(jù)就觸發(fā)一次中斷處理程序。在中斷處理程序中可利用一個全 局變量spi_St,用來標記當前接收字節(jié)所表示的狀態(tài);開通一個數(shù)據(jù)緩沖 區(qū),用來存放有效數(shù)據(jù);利用一個全局變量spi_1,用來標記已獲得有效數(shù)據(jù) 數(shù)目。具體處理時,根據(jù)3結(jié)束語本文所述方法和通信協(xié)議已在實際系統(tǒng)中得到實現(xiàn),通信速度快、可靠性高。且系統(tǒng)充分利用了SPI總線接口功能完善、時序簡單且 無須外加其他元器件等特點,簡化了系統(tǒng)設(shè)計,提高了系統(tǒng)可靠性。參考文獻1蘇奎強,呂強,等.TMS320F28京:電子工業(yè)出版社,2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樁基冬季施工方案
- 農(nóng)業(yè)項目資金籌措方案
- 汽車行業(yè)基礎(chǔ)知識
- 大理石樓地面施工方案
- 紅磚建筑加固施工方案
- 2025年非調(diào)質(zhì)鋼項目發(fā)展計劃
- 山東省濱州市鄒平市2024-2025學年七年級上學期期末考試數(shù)學試卷(原卷版+解析版)
- 非機動車棚工程施工方案
- 隨州鋼結(jié)構(gòu)農(nóng)村房施工方案
- 沂源公路標志牌施工方案
- 前言 馬克思主義中國化時代化的歷史進程與理論成果
- 思想道德與法治2023版教學設(shè)計第二章 追求遠大理想 堅定崇高信念
- 21ZJ111 變形縫建筑構(gòu)造
- 電子商務概論目錄
- 裝修返工合同
- 高等數(shù)學考研輔導課(一)學習通超星課后章節(jié)答案期末考試題庫2023年
- 消力池砼施工工法
- 國家職業(yè)類別1-6類明細表
- 中國文藝美學要略·論著·《畫學心法問答》
- 如何建立卓越地價值觀
- 舞臺搭建方面基礎(chǔ)知識
評論
0/150
提交評論