現代電子系統(tǒng)課程設計_第1頁
現代電子系統(tǒng)課程設計_第2頁
現代電子系統(tǒng)課程設計_第3頁
現代電子系統(tǒng)課程設計_第4頁
現代電子系統(tǒng)課程設計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 遼寧工程技術大學 現代電子系統(tǒng)設計課程設計報告題 目 SPI總線研究 指 導 教 師 白立春 院(系、部) 電信學院 專 業(yè) 班 級 學 號 姓 名 日 期 2013年6月7日 一、 摘要單片機本身的數據傳輸接口過去主要為8位并行數據接口或異步串行通信接口,但電子技術的迅速發(fā)展使得許多新的數據傳輸接口標準不斷涌現,大多數的51單片機并沒有在硬件中集成這些新的數據傳輸接口。隨著單片機應用技術的發(fā)展,單片機的應用模式也在不斷變化,一方面,單片機系統(tǒng)的規(guī)模越來越大,其外未連接了種類繁多的外設;一方面,單片機進入了計算機網絡系統(tǒng),工業(yè)控制系統(tǒng)多采用多機分布式系統(tǒng)。同時單片機的嵌入式系統(tǒng)應用模式使其體

2、積越來越小且器件數目越來越少。近年來,串行接口設備憑借其控制靈活,接口簡單、占用資源少等優(yōu)點在工業(yè)控制、儀器儀表等領域被廣泛應用。這些發(fā)展趨勢更加使得串行通信功能加強了,同時帶有串行接口器件也被廣泛使用。本課題就是對不同總線方式進行研究,并選取帶有一種總線接口的器件進行系統(tǒng)設計。對于現在的嵌入式系統(tǒng)而言并行接口占用CPU資源太多,然而串行接口設備憑借其控制靈活,接口簡單、占用資源少等優(yōu)點在工業(yè)控制、儀器儀表等領域被廣泛應用。目前并行接口芯片已經不常使用,各廠家研究各種串行總線方式,并生產出帶有各種總線方式接口的芯片,方便了系統(tǒng)集成設計,節(jié)省了資源。進而串行總線已成為了發(fā)展趨勢。二、 綜述SPI

3、(Serial Peripheral Interface),是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,它是一種串行同步通訊協(xié)議,由一個主設備和一個或多個從設備組成,主設備啟動一個與從設備的同步通訊,從而完成數據的交換。SPI 接口由SDI(串行數據輸入),SDO(串行數據輸出),SCK(串行移位時鐘),CS(從使能信號)四種信號構成,CS 決定了唯一的與主設備通信的從設備,如沒有CS 信號,則只能存在一個從設備,主設備通過產生移位時鐘來發(fā)起通訊。通訊時,數據由SDO 輸出,SDI 輸入,數據在時鐘的上升或下降

4、沿由SDO 輸出,在緊接著的下降或上升沿由SDI 讀入,這樣經過8/16 次時鐘的改變,完成8/16 位數據的傳輸。要注意的是,SCK信號線只由主設備控制,從設備不能控制信號線。同樣,在一個基于SPI的設備中,至少有一個主控設備。這樣傳輸的特點:這樣的傳輸方式有一個優(yōu)點,與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數據,而SPI允許數據一位一位的傳送,甚至允許暫停,因為SCK時鐘線由主控設備控制,當沒有時鐘跳變時,從設備不采集或傳送數據。也就是說,主設備通過對SCK時鐘線的控制可以完成對通訊的控制。SPI還是一個數據交換協(xié)議:因為SPI的數據輸入和輸出線獨立,所以允許同時完成數據的

5、輸入和輸出。SPI總線是由Motorola公司提出的一種同步串行外圍接口,采用三或四根信號線 。它包括1根串行同步時鐘信號線以及2根數據線。SPI模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,時鐘極性(CPOL)對傳輸協(xié)議沒有重大的影響。如果CPOL=0,串行同步時鐘的空閑狀態(tài)為低電平;如果CPOL=1,串行同步時鐘的空閑狀態(tài)為高電平。時鐘相位(CPHA)能夠配置用于選擇兩種不同的傳輸協(xié)議之一進行數據傳輸。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被采樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被采樣。SP

6、I主模塊和與之通信的外設音時鐘相位和極性應該一致。三、 方案設計與分析1、RS232接口是1970年由美國電子工業(yè)協(xié)會(EIA)聯合貝爾系統(tǒng)、調制解調器廠家及計算機終端生產廠家共同制定的用于串行通訊的標準。它的全名是“數據終端設備(DTE)和數據通訊設備(DCE)之間串行二進制數據交換接口技術標準”。該標準規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內容加以規(guī)定,還對各種信號的電平加以規(guī)定。隨著設備的不斷改進,出現了代替DB25的DB9接口,現在都把RS232接口叫做DB9。RS-232是現在主流的串行通信接口之一。由于RS232接口標準出現較早,難免有不足之處,主要有以下四

7、點: 接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL電平不兼容故需使用電平轉換電路方能與TTL電路連接。 傳輸速率較低,在異步傳輸時,波特率為20Kbps;因此在“南方的老樹51CPLD開發(fā)板”中,綜合程序波特率只能采用19200,也是這個原因。 接口使用一根信號線和一根信號返回線而構成共地的傳輸形式,這種共地傳輸容易產生共模干擾,所以抗噪聲干擾性弱。 傳輸距離有限,最大傳輸距離標準值為50英尺,實際上也只能用在15米左右。 2、II2C總線是Philips公司開發(fā)的總線方式,是一個半雙工、多主總線,該總線網絡有一個或幾個主控器件和很多個從器件。信息由兩條串行線傳輸:串行數據線(S

8、DA)和串行時鐘線(SCL)。圖1顯示了使用兩個主控和三個從器件相連接的例子。 網絡中的每一個器件都預指定一個7位或10位的地址。飛利浦會給器件制造商分配地址,也有一個特定的地址用于高速通信,以及一個通用呼叫地址用于與網絡中所有器件的通信。10位尋址的優(yōu)點是允許更多的器件(高達1024個)布置在網絡中。然而,總線中器件的數目取決于總線的電容量,必須限制在400pF以內。 主控器件發(fā)起數據傳送,并提供用于通信的時鐘信號。通信開始于SCL為高電平時SDA由高到低的轉換,緊接著是一個7位或10位的從地址,一個數據方向位(R/W),一個應答位和停止狀態(tài)。停止狀態(tài)定義為在時鐘信號為高時數據線電平由低到高

9、的轉換。每一個數據字節(jié)長度為8位,單次傳送的字節(jié)數并沒有限制。 由于I2C是一個多主總線,因此可能有兩個或更多的主控器件同時試圖訪問總線,在時鐘信號為高電平時在總線上置“1”的主控器件贏得總線仲裁。 I2C有三種不同的運行模式:標準、快速和高速模式。在使用快速和高速模式時,可能某個從屬器件不能像主控器件那么快地處理數據。此時,從屬器件會將SCL線拉至低電平來保持總線,這迫使主控器件進入等待狀態(tài),直至從屬器件準備就緒。數據方向和通信速度,數據傳輸首先從最高位開始。I2C總線設計用于三種數據傳輸速度,每個都向下兼容性: 低速,數據傳輸率為0到100kbps;快速,數據傳輸率可以高達400kbps;

10、高速,數據傳輸率可以高達3.4Mbps。3、wire單總線是Maxim全資子公司Dallas的一項專有技術與目前多數標準串行數據的通信方式,如SPI/I C/MICROWIRE不同 它采用單根信號線 既傳輸時鐘 又傳輸數據而且數據傳輸是雙向的 它具有節(jié)省 I/O 口線資源結構簡單 成本低廉便于總線擴展和維護等諸多優(yōu)點, I-wire單總線適用于單個主機系統(tǒng) 能夠控制一個或多個從機設備,當只有一個從機位于總線上時,系統(tǒng)可按照單節(jié)點系統(tǒng)操作,而當多個從機位于總線上時,則系統(tǒng)按照多節(jié)點系統(tǒng)操作,為了較為全面地介紹單總線系統(tǒng),將系統(tǒng)分為三個部分討論:硬件結構、命令序列和信號方式 信號類型和時序。 4、

11、MicroWire總線是國家半導體開發(fā)的一種三線串行接口總線。一為數據輸出線,二為數據輸入線,三為時鐘線。線上只有一臺機為主機,其余為從機。MicroWireplus是增強型。各型號功能各異。5、CAN控制器區(qū)域網絡是一個多主異步串行總線。由于它具有優(yōu)良的錯誤處理機制以及可靠的數據傳送性能,該總線在汽車得到普及。 CAN最初由德國的Robert Bosch公司開發(fā),提供給汽車電子系統(tǒng)所用的低成本通信總線,現在已經成為國際標準,被采用為高速應用的ISO11898標準和用于低當總線空閑時,任何CAN節(jié)點都可以開始數據發(fā)送。如果兩個或更多的節(jié)點同時開始發(fā)送,就使用標識符來進行按位仲裁以解決訪問沖突。

12、CAN是一個廣播類型的總線,所有節(jié)點都接收總線上的數據,硬件上的過濾機制決定消息是否提供給該接點用。五種消息幀的類型:數據幀:該幀從一個發(fā)送器承載數據到一個接收器。根據CAN規(guī)范有兩種數據幀格式,它們的唯一本質區(qū)別在于標識符的長度。CAN標準幀,也稱為CAN2.0A,支持11位長度的標識符;另一個是CAN擴展幀,也稱為CAN2.0B,支持29位長度的標識符。顯示了兩種規(guī)范的CAN數據幀。遠程幀:此幀由一個接收CAN節(jié)點發(fā)送,用來請求帶有遠程幀中規(guī)定的標識符的數據幀。錯誤幀:此幀將任何總線錯誤通知其它單元,在接收到這個幀時發(fā)送器會自動進行消息重發(fā)。超載幀:超載幀由一個忙的CAN節(jié)點送出,以請求在

13、前后數據幀之間增加一個額外的延遲。CAN硬件術語是基本CAN(Basic CAN)控制器:這是一種廉價的CAN控制器,具有有限的發(fā)送/接收消息緩沖器,以及有限的CAN消息過濾機制。 完全CAN(Full CAN)控制器:完全CAN是一個高成本、高性能的CAN控制器,具有能緩沖8個或更多消息的緩沖器用于接收和發(fā)送。例如,富士通的集成CAN微控速應用的ISO11519標準。CAN通信制器能提供16個消息緩沖器用于接收和發(fā)送。此外,富士通的MB90443微控制器能靈活地將兩個CAN控制器的消息緩沖器組合在一個中,以形成能緩沖32個消息的緩沖器。 標準CAN控制器:該CAN控制器能夠處理僅有11位標識

14、符的消息。 四、 方案綜合評價與結論SPI總線接口一般用于主從分布式的通信網絡【1】,在SPI傳輸時,數據由MOSI輸出,MISO輸入,數據在時鐘的上升或下降沿由MOSI輸出,在緊接著的下降或上升沿由MOSI讀入,這樣經過 8/16 次時鐘的改變,完成 8/16 位數據的傳輸,即完成了一次SPI時序。SPI總線使用的最為廣泛的是SPI0和SPI3方式【2】,同時SPI 是一個環(huán)形總線結構【3】,主要是在主機的時鐘控制下,兩個雙向移位寄存器進行數據交換。本文正是采用了這種環(huán)形結構,設計了16位寄存器,在16次時鐘變換后,主機與從機數據得以交換。 1、m序列 m序列是最長線性反饋移位寄存器序列的簡

15、稱【4】,m序列碼的主要特點為:每個周期中,“1”碼出現 2n-1 次,“0”碼出現 2n-1 次,即 0、1 出現概率幾乎相等;序列中連1的數目是n,連0的數目是n-1;分布無規(guī)律,具有與白噪聲相似的偽隨機特性。m序列的均衡性以及它的游程分布特性【5】使得m序列碼在通信、雷達、系統(tǒng)可靠性測試等方面獲得了廣泛地應用。 本文正是基于m序列的這些特點采用Verilog HDL【6】生成m序列,用于驗證SPI總線設計的正確性。 2、SPI 總線協(xié)議SPI接口是以主從方式工作的,這種模式通常有一個主設備和一個或多個從設備,其接口包括以下四種信號,如圖2所示,MOSI主器件數據輸出,從器件數據輸入;MI

16、SO主器件數據輸入,從器件數據輸出;SCLK時鐘信號,由主器件產生;/SS 從器件使能信號,由主器件控制。圖2:SPI總線結構Fig2 the structure of SPI本文將主機和從機的串行移位寄存器都設定為16位,主機通過向寄存器寫入1次16位數據,在時鐘SCLK的上升沿發(fā)起串行數據傳輸,寄存器是通過MOSI信號線將數據傳送到從設備。每1次時鐘SCLK的下降沿,從機在收取MOSI數據線的同時也將自己移位寄存器中的數據通過MOSI信號線返回給主機。最初從機中并沒有數據,同樣,在主機端也在時鐘上升沿收取MISO信號線的值,因此在最初的16個時鐘沿主機并未收取到從設備返回的數據,只有從第2

17、次開始的16 個時鐘沿主設備才能收取到從設備返回的第1次傳輸的數據,此時數據從主機到從機后由從機返回到主機,數據經過了一次交換。3、測試 本文在Modelsim環(huán)境下對所生成的m序列進行了驗證同時根據m序列的偽隨機特性,如圖4所示,用m序列模擬通信中的隨機信號,對設計的SPI接口進行了測試。本文首先對生成的m序列進行了驗證。如圖 5 所示為生成的 16 級m序列,本文設計時生成每組16bit數據的間隔時間為18個時鐘周期,原本生成一組16bit的數據只花費一個時鐘周期,這樣做的目的是為了方便作為SPI接口的測試數據。有上述的 SPI 接口原理可知, SPI接口通信時數據是按位傳送,為了測試的方

18、便本文仍沿用產生 m 序列的時鐘作為 SPI主機發(fā)送數據時鐘,同時將sclk時鐘依舊設定為與主機時鐘相同。經過 16 個時鐘周期后主 機將寄存器中的數據通過mosi在sclk的上升沿將數據傳送給從機,這樣從機在經過 16 個時鐘周期的下降沿就能將mosi的數據移到從機的移位寄存器中,由于本文采用的是環(huán)形結構,從機在下降沿將同時將16位的移位寄存器中的數據按位從miso傳送到主機。主機在時鐘的上升沿收取miso數據,最終由主機查看收到的數據來判斷SPI接口設計的正確性,如圖6 所示,1個時鐘周期用來產生數據,16個時鐘周期用來傳送數據,1個時鐘周期用來設置 ss。圖中ss為高時則不能發(fā)送數據,由

19、圖可知,仿真所得結果中in_data與經過移位后環(huán)回的值 out_data 的是相同的。結論:本文通過對 VerilogHDL 在 QuartusII 平臺上實現了 SPI 總線也實現了 16 級的 m 序列。 利用 m 序列的偽隨機性將其作為 SPI 接口設計的測試數據經過測試可知接口的設計 時正確的。實現的 SPI 接口在通信接口中具有極其廣泛的應用。五、 體會與展望通過此次課程設計,使我更加扎實的掌握了有關SPI總線方面的知識,在設計過程中雖然遇到了一些問題,但經過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在。在課程設計過程中,我們不斷發(fā)現錯誤,不斷改正,不斷領悟,不斷檢測最終的

20、調試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設計終于順利完成了,在設計中遇到了很多問題,最后在老師的指導下,終于迎刃而解。在今后社會的發(fā)展和學習實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現問題所在,然后一一解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠不可能收獲成功,收獲喜悅,也永遠不可能得到社會及他人對你的認可!課程設計誠然是一門專業(yè)課,給我很多專業(yè)知識以及專業(yè)技能上的提升,同時又是一門講道課,一門辯思課,給了我許多道,給了我很多思,給了我莫大的空間。同時,設計讓我感觸很深。使我對抽象的理論有了具體的認識。我認為,在這學期的實驗中,不僅培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我們都可以在實驗結束之后變的更加成熟,會面對需要面對的事情。 回顧起此課程設計,至今我仍感慨頗多,從理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論