九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

基于DSP的串口通信設計與實現(xiàn)畢業(yè)論文1

上傳人:1888****888 文檔編號:36355140 上傳時間:2021-10-30 格式:DOC 頁數(shù):31 大?。?08.52KB
收藏 版權申訴 舉報 下載
基于DSP的串口通信設計與實現(xiàn)畢業(yè)論文1_第1頁
第1頁 / 共31頁
基于DSP的串口通信設計與實現(xiàn)畢業(yè)論文1_第2頁
第2頁 / 共31頁
基于DSP的串口通信設計與實現(xiàn)畢業(yè)論文1_第3頁
第3頁 / 共31頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于DSP的串口通信設計與實現(xiàn)畢業(yè)論文1》由會員分享,可在線閱讀,更多相關《基于DSP的串口通信設計與實現(xiàn)畢業(yè)論文1(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于DSP的串口通信設計與實現(xiàn) 摘 要 本次畢業(yè)設計的主要工作就是基于在TMS320F2812 DSP芯片的SCI(同步串行通信)口上的串口通信的設計與實現(xiàn)。由于TMS320F2812包含了兩個串行通信接口(SCI)模塊,所以SCI模塊提供了DSP與其他標準NRZ格式的異步外圍之間的數(shù)字通訊。SCI接收者和發(fā)送者皆采用雙總線模式,因為每一個皆有自己獨自的使能位和中斷位。故本文以SCI模塊的全雙工式通信系統(tǒng)的分析與設計為主線。首先了解串行通信理論的有關概念,并提出了一個既能同時進行,又能夠獨立進行發(fā)送和接收操作的可行方案。因此,為了保證串口通信過程中數(shù)據(jù)的完整性,最主要的還是FIFO時鐘系統(tǒng)的設

2、計。故本文的重點又是基于SCI模塊的FIFO設計。 關鍵字:DSP ; TMS320F2812 SCI ;SCI口FIFO; Abstract The main graduation design is based on TMS320F2812 DSP chip SCI (synchronous serial communication) serial communication port on the design and implementation.The TMS320F2812 includes two serial communication interface (SCI) modu

3、le, so SCI module provides DSP and other standard asynchronous NRZ format digital communication between peripheral.SCI receiver and transmitter by key dual-bus mode, because each has its own own bit and interrupt enable bit.Therefore, this papers full-duplex type SCI module communication systems ana

4、lysis and design of the main line.Serial communication theory to first understand the relevant concepts, and presents a both at the same time, but also capable of independent operations to send and receive options.Therefore, the process of serial communications in order to ensure data integrity, the

5、 most important thing is FIFO clock system design.Therefore, the focus of this paper is designed based on FIFO SCI module. Keyword:DSP ;TMS320F2812 SCI ; SCI FIFO ; 目 錄第一章 緒 論- 1 -1.1 引言- 1 -1.2 DSP發(fā)展簡介- 1 -1.3 論文各章節(jié)的安排- 2 -第二章 TMS320F2812 DSP及SCI口結構與原理- 3 -2.1 TMS320F2812 DSP結構與原理- 3 -2.2 TMS320F28

6、12 SCI結構與原理- 5 -2.3 SCI模塊發(fā)送和接收數(shù)據(jù)的工作原理- 7 -2.4 SCI數(shù)據(jù)格式- 8 -2.5 SCI通信波特率- 12 -2.6 SCI FIFO描述- 13 -第三章 串口通信硬件與軟件設計- 17 -3.1 基于TMS320F2812的DSP最小系統(tǒng)設計- 17 -3.1.1電源及復位電路的設計- 17 -3.1.2 時鐘電路設計- 18 -3.1.3 DSP與JTAG接口設計- 19 -3.2 串口通信硬件設計- 19 -3.3 串口通信軟件設計- 21 -第四章 總結與展望- 26 -4.1 結論- 26 -4.2 展望- 26 -致 謝- 27 -參考文

7、獻- 28 -III 第一章 緒 論1.1 引言 串口是計算機上一種非常通用通信設備的協(xié)議,同時也是儀器儀表設備通用的通信協(xié)議,也還可以用來獲取遠程采集設備的數(shù)據(jù)。串口通信的概念非常簡單,串口按位發(fā)送和接收字節(jié)??梢栽谑褂靡桓€發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù),它很簡單并且能夠實現(xiàn)遠距離通信。 本文主要研究的是基于DSP串口通信在TMS320F2812 SCI口的設計與實現(xiàn)。而DSP是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數(shù)字信號。再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字數(shù)據(jù)解譯回模擬數(shù)據(jù)或實際環(huán)境格式。它不僅具有可編程

8、性,而且其實時運行速度可達每秒數(shù)以千萬條復雜指令程序,遠遠超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強大數(shù)據(jù)處理能力和高運行速度,是最值得稱道的兩大特色。DSP優(yōu)點主要如下所示: 對元件值的容限不敏感,受溫度、環(huán)境等外部參與影響??;容易實現(xiàn)集成;VLSI可以分時復用,共享處理器;方便調整處理器的系數(shù)實現(xiàn)自適應濾波;可實現(xiàn)模擬處理不能實現(xiàn)的功能:線性相位、多抽樣率處理、級聯(lián)、易于存儲等;可用于頻率非常低的信號。DSP技術的應用:主要是在處理語音、圖像/圖形、軍事、儀器儀表、自動控制、醫(yī)療、家用電器和生物醫(yī)學信號處理等等方向的應用。1.2 DSP發(fā)展簡介DSP產業(yè)在約40年的歷程

9、中經歷了三個階段:第一階段,DSP意味著數(shù)字信號處理,并作為一個新的理論體系廣為流行。第二個階段,開始與80年代,DSP從概念走向了產品,TMS32010所實現(xiàn)的出色性能和特性備受業(yè)界關注。第三個階段,則是始于21世紀,市場競爭更加激烈,TI及時調整DSP發(fā)展戰(zhàn)略全局規(guī)劃,并以全面的產品規(guī)劃和完善的解決方案,加之全新的開發(fā)理念,深化產業(yè)化進程。而DSP未來的發(fā)展方向主要是這幾個方面:、數(shù)字信號處理器的內核結構進一步改善,多通道結構和單指令多重數(shù)據(jù)(SIMD)、特大指令字組(VLIM)將在新的高性能處理器中將占主導地位。2、DSP 和微處理器的融合。3、DSP 和高檔CPU的融合。4、DSP 和

10、SOC的融合。5、DSP 和FPGA的融合。1.3 論文各章節(jié)的安排 這次的畢業(yè)論文設計,從接到題目后,就開始著手與論文相關質料的查找和論文進度的安排。從了解串口通信的概念到最后選定由TMS320F2812 DSP芯片來完成本次的論文設計,再基于對TMS320F2812芯片各個引腳的熟悉和了解,最后決定了由TMS320F2812的SCI模塊來實現(xiàn)本次論文所想要達到的目的即基于DSP串口通信的設計與實現(xiàn)。又由于TMS320F2812包含了兩個串行通信接口(SCI)模塊,所以SCI模塊提供了DSP與其他標準NRZ格式的異步外圍之間的數(shù)字通訊。SCI接收者和發(fā)送者皆采用雙總線模式,因為每一個皆有自己

11、獨自的使能位和中斷位。故本文以SCI模塊的全雙工式通信系統(tǒng)的分析與設計為主線。首先了解串行通信理論的有關概念,并提出了一個既能同時進行,又能夠獨立進行發(fā)送和接收操作的可行方案。因此,為了保證串口通信過程中數(shù)據(jù)的完整性,最主要的還是FIFO時鐘系統(tǒng)的設計。故本文的重點又是基于SCI模塊的FIFO設計。論文章節(jié)安排: 第一章緒論主要是敘述了DSP應用領域和發(fā)展歷程。 第二章介紹了TMS320F2812 DSP及SCI口結構與原理。 第三章介紹了串口通信硬件與軟件設計。 第四章為總結和展望。 第二章 TMS320F2812 DSP及SCI口結構與原理2.1 TMS320F2812 DSP結構與原理3

12、2位的TMS320F2812 DSP整合了DSP和微控制器的最佳特性,能夠在一個周期內完成3232位的乘法累加運算,或兩個1616位乘法累加運算。此外,由于器件集成了快速的中斷管理單元,使得中斷延遲時間大幅減少,滿足了適時控制的需要。其功能框圖如圖1所示: 圖1 TMS320F2812 DSP功能框圖歸納起來TMS320F2812 DSP有以下特點: 高性能的靜態(tài)CMOS工藝 ,可使主頻達到150MHz ,即每個指令周期是 6167ns ;低功率設計(供電電壓只有118V和313V) ; 高性能的32位CPU。能夠實現(xiàn)16X16和32X32乘操作 ,快速的中斷操作 ,尋址程序空間可達4M,尋址

13、數(shù)據(jù)空間可達4G,在 C/ C + +和匯編語言中代碼可得到優(yōu)化 ,另外還可向下兼容 TMS320F24X/ LF240X處理器的代碼; 片上存儲器:閃存 128K字 ,單訪問雙口 RAM(SARAM) 18k字; 啟動只讀存儲器 ROM4K字 ,具有軟件啟動模式并包含標準的數(shù)學表; 時鐘和系統(tǒng)控制采用鎖相環(huán)技術PLL來控制系統(tǒng)各模塊所需要的頻率; 具有很強的外圍通訊功能:包括同步串行口SPI ,通用異步串行口SCI ,增強的 eCAN 和多通道緩存串行口McBSP。 可以在一個周期內對任何內存地址完成讀取、修改、寫入操作,使得效率及程序代碼達到最佳。此外,還提供多種自動指令提高了程序的執(zhí)行效

14、率,簡化了程序的開發(fā)。 針對嵌入式控制領域應用的特殊要求,已推出一款針對C28x內核的C編輯器,能夠提供非常杰出的1.1C匯編語言轉換比例。C28x DSP的內核還支持IQ變換函數(shù)庫,使研發(fā)人員很方便的使用便宜的定點DSP來實現(xiàn)浮點運算。 在串行通信的應用中,TMS320F2812含有兩個接口:外設接口SPI和通信接口SCI,本文研究的是基于TMS320F2812串行通信接口SCI的設計與實現(xiàn)。 而TMS320F2812串行通信接口(SCI)是一個雙線通信異步串行通信接口。為減少串口通信時CPU的開銷,TMS320F2812的串口支持16級接收和發(fā)送FIFO。串行通信接口支持與CPU以及其它使

15、用非歸零格式的異步外設之間的異步串行數(shù)字通信。它的接收器和發(fā)送器都是雙級緩沖的,有各自獨立的控制位與中斷位,都可以同時工作在全雙工模式下。為保證數(shù)據(jù)的完整性,串行通信接口對接收的數(shù)據(jù)進行間斷檢測、奇偶性、超時和幀錯誤檢查。串行通信接口可以通過16位的波特率選擇寄存器,設置多達65000種通信速度。TMS320F2812的SCI和以往的DSP的SCI相比具有兩個特點:一是傳送、接收都具有獨立的FIFO;二是波特率可以自動檢測。2.2 TMS320F2812 SCI結構與原理 SCI(Serial Communication Interface),即串行通信接口,是一個雙線的異步串口,即具有接收和

16、發(fā)送兩根信號線的異步串口,一般可以看作是 UART(通用異步接收/發(fā)送裝置)。F2812的SCI模塊支持DSP與采用NRZ標準格式的異步外圍設備之間進行數(shù)字通信。2812 內部具有兩個相同的SCI模塊,SCIA和SCIB,每一個SCI模塊都各有一個接收器和發(fā)送器。SCI的接收器和發(fā)送器各具有一個16級深度的FIFOFirst in fist out 先入先出)隊列,它們還都有自己獨立的使能位和中斷位,可以在半雙工通信中進行獨立的操作,或者在全雙工通信中同時進行操作。 首先,我們從圖2可以看到,SCI模塊具有兩個引腳,SCITXDA和SCIRXDA,分別實現(xiàn)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的功能,這兩個引腳對

17、應于GPIOF模塊的第4和第5位,在編程初始化的時候,需要將GPIOFMUX寄存器的第4和第5位置為1,才能使得這兩個引腳具有發(fā)送和接收的功能,否則就是普通的I/O引腳。外部晶振通過PLL模塊產生了CPU的系統(tǒng)時鐘SYSCLKOUT,然后SYSCLKOUT 經過低速預定標器之后輸出低速時鐘LSPCLK供給SCI。要保證SCI的正常運行,系統(tǒng)控制模塊下必須使能SCI的時鐘,也就是在系統(tǒng)初始化函數(shù)中需要將外設時鐘控制寄存器PCLKCR的SCIAENCLK位置1。從圖2,我們可以清楚的看到SCIA可以產生兩個中斷,SCIRXINTA 和SCITXINTA,即發(fā)送中斷和接收中斷。 圖2 SCIA的 C

18、PU接口 SCI相關信號如表1所示:信號名稱描述外部信號RXDSCI異步串行數(shù)據(jù)接收信號TXDSCI異步串行數(shù)據(jù)發(fā)送信號控制信號通信速率低速外設預分頻時鐘中斷信號TXINT發(fā)射中斷RXINT接收中斷 表 1 SCI相關信號SCI模塊的其他一些特點如表2所示:序號 SCI模塊的特點 1具有4 個錯誤檢測標志:極性(parity)、溢出(overrun)、 幀 (framing)、中斷(break)檢測。2多處理器模式下具有兩種喚醒方式:空閑線方式和地址位方式。通常使用的時候很少遇到多處理器模式,我們采用的是空閑線方式。 3通信工作于半雙工或者全雙工模式。 4具有雙緩沖接收和發(fā)送功能,接收緩沖寄存

19、器為SCIRXBUF,發(fā)送緩沖寄存器為SCITXBUF。5發(fā)送和接收可以通過中斷方式來實現(xiàn),也可以通過查詢方式來實現(xiàn)。6具有獨立的發(fā)送中斷使能位和接收中斷使能位。 7SCIA 模塊具有 13 個控制寄存器,值得注意的是,這些寄存器都是 8 位的寄存器,當某器被訪問時,數(shù)據(jù)位于低8 位,高8位為0,因此,把數(shù)據(jù)寫入高8 位將是無效的。 表2 SCI模塊特點2.3 SCI模塊發(fā)送和接收數(shù)據(jù)的工作原理 圖3 SCI模塊的工作原理 SCI模塊的工作原理如圖3所示,之所以SCI能工作于全雙工模式,是因為它有獨立的數(shù)據(jù)發(fā)送器和數(shù)據(jù)接收器,這樣能夠保證SCI既能夠同時進行,也能夠獨立進行發(fā)送和接收的操作。

20、SCI發(fā)送數(shù)據(jù)的過程如下:如圖3右半部分所示,在FIFO功能使能的情況下,首先,發(fā)送數(shù)據(jù)緩沖寄存器SCITXBUF從TX FIFO中獲取由CPU加載的需要發(fā)送的數(shù)據(jù),然后SCITXBUF將數(shù)據(jù)傳輸給發(fā)送移位寄存器TXSHF,如果SCI的發(fā)送功能使能,TXSHF則將接收到的數(shù)據(jù)逐位逐位的移到SCITXD引腳上。 SCI接收數(shù)據(jù)的過程如下:如圖3的左半部分所示,首先,接收移位寄存器 RXSHF逐位逐位的接收來自于SCIRXD引腳的數(shù)據(jù),如果SCI的接收功能使能,RXSHF將這些數(shù)據(jù)傳輸給接收緩沖寄存器SCIRXBUF,CPU就能從SCIRXBUF讀取外部發(fā)送來的數(shù)據(jù)。當然,如果FIFO功能使能的話

21、,SCIRXBUF會將數(shù)據(jù)加載到RX FIFO的隊列中,CPU再從FIFO的隊列讀取數(shù)據(jù)。2.4 SCI數(shù)據(jù)格式 在SCI中,通信協(xié)議體現(xiàn)在SCI的數(shù)據(jù)格式上。通常將SCI的數(shù)據(jù)格式稱之為可編程的數(shù)據(jù)格式,原因就是可以通過SCI的通信控制寄存器SCICCR來進行設置,規(guī)定通信過程中所使用的數(shù)據(jù)格式。SCI 使用的是NRZ的數(shù)據(jù)格式,NRZ數(shù)據(jù)格式包括了如表3所示:序號內容11個起始位21-8個數(shù)據(jù)位31個奇/偶/非極性位41-2個結束位5在地址位模式下,有1個用于區(qū)別數(shù)據(jù)或者地址的特殊位 表3據(jù)格式包數(shù)據(jù)是18 位,1個字符的長度。將帶有格式信息的每一個數(shù)據(jù)字符叫做一幀。SCI有空閑線模式和地

22、址 位模式,若是在兩個處理器之間的通信,例如2812和 PC機或者2812和2812之間通信,更適合使用空閑線模式,而地址位模式一般用于多處理器之間的通信。SCI通信控制寄存器(SCICCR): SCICCR定義了SCI使用的字符格式、協(xié)議和通信模式,如圖4和表4所示。 圖4 SCI通信控制寄存器(SCICCR) 位名稱功能描述1STOP BITSSCI停止位的個數(shù)該位決定的停止位的個數(shù),接收器僅對一個停止位檢查 0 一個停止位 1 兩個停止位2PARITY奇偶校驗選擇位如果PARITY ENABLE位被置位,則PARITY確定采用奇校驗還是偶校驗. 0 奇校驗 1 偶校驗3PARITYSCI

23、奇偶校驗使能位表4 SCI通信控制寄存器(SCICCR)的功能描述 SCI控制寄存器1(SCICTL1): SCICTL1控制接收/發(fā)送使能、TXWAKE和SLEEP功能以及SCI軟件復位,如圖5和表5所示。 圖5 SCI控制寄存器1(SCICTL1)位名稱功能描述1RX ERR INT ENA接收錯誤中斷使能位如果由于產生錯誤而置位了接收錯誤位(SCIRXST,位7),則置位該位使能一個接收錯位中斷。 0 禁止接收錯誤中斷; 1 使能接收錯誤中斷;2SW RESET軟件復位位(低有效)將0寫入該位,初始化SCI狀態(tài)機和操作標志至復位狀態(tài)。直至將1寫入到軟件復位位,所有起作用的邏輯都保持確定的

24、復位狀態(tài)。因此,系統(tǒng)復位后,應將該位置1以重新使能SCI。在檢測到一個接收器間斷(BRKDT標志位,位SCIRXST,位5)后清除該位。 表5 SCI控制寄存器1 (SCICTL1) 的功能描述SCI控制寄存器2(SCICTL2): SCI控制寄存器2(SCICTL2)控制使能接收準備好、間斷檢測、發(fā)送準備中斷、發(fā)送器準備好及空標志,如圖6和表6所示。 圖6 SCI控制寄存器2 (SCICTL2)位名稱功能描述1TXRDY發(fā)送緩沖寄存器準備好標志位 當TXRDY置位時,表示發(fā)送數(shù)據(jù)緩沖寄存器(SCITXBUF)已經準備接收另一個字符。向SCITXBUF寫數(shù)據(jù)自動清除TXRDY位。如果SCITX

25、BUF置位時,中斷使能位TXINT ENA(SCICTL2.0)置位,將會產生一個發(fā)送中斷請求 。 0 SCITXBUF滿: 1 SCITXBUF準備好接收下一個字符:5-2保留讀返回0,寫沒有影響3RX/BK INT接收緩沖器/間斷中斷使能 該位控制由于RXRDY標志位或BRKDT標志位置位引起的中斷請求,但是RX/BK INT ENA 并不能阻止RX/BK INT置位。 0 禁止RXRDY/BRKDT中斷; 1 使能RXRDY/BRKDT中斷;4TX INT ENASCITXBUF寄存器中斷使能位該位控制由TXRDY標志位(SCICTL2.7)置位引起的中斷請求。但是它并不能阻止TXRDY

26、被置位 0 禁止TXRDY中斷; 1 使能TXRDY中斷; 表6 SCI控制寄存器2(SCICTL2)功能描述SCI接收器狀態(tài)寄存器 (SCIRXST) : SCIRXST包含7個接收器狀態(tài)標志位(其中2個能產生中斷請求)。每次一個完整的字符發(fā)送到接收緩沖器(SCIRXEMU和SCIRXBUF)后,狀態(tài)標志位刷新。每次緩沖器被讀取時,標志位被清除。 圖7給出了寄存器位的關系, 表7給出了SCI接收狀態(tài)寄存器的功能定義。 圖7 SCI接收器狀態(tài)寄存器(SCIRXST) 位名稱功能描述1RXRDY接收器準備好標志位2OE超時錯誤標志位在前一個字符被CPU或DMAC完全讀走前,當字符被發(fā)送到SCIR

27、XEMU和SCIRXBUF時,SCI就置位該位。前一個字符將會被覆蓋或丟失。 0 沒有檢測到超時錯誤; 1 檢測到超時錯誤;3FE幀錯誤標志位當檢測不到一個期望的停止位時,SCI就置位該位。丟失停止位表明沒有能夠和起始位同步,且字符幀發(fā)生了錯誤。 0 沒有檢測到幀錯誤; 1 檢測到幀錯誤;4RXRDY接收器準備好標志位當準備好從SCIRXBUF寄存器中讀一個新的字符時,接收器置位接收器準備好標志位,并且如果RX/BK INT ENA位(SCICTL2.1)是1則產生接收器中斷。 0 在SCIRXBUF中沒有新的字符; 1 準備好從SCIRXBUF中讀取字符;5保留讀返回0,寫操作沒有影響 表7

28、 SCI接收器狀態(tài)寄存器 (SCIRXST)功能描述在空閑線模式下,SCI發(fā)送或者接收一幀的數(shù)據(jù)格式如圖3所示,其中LSB是數(shù)據(jù)的最低位,MSB是數(shù)據(jù)的最高位如圖8所示。 圖8 空閑線模式下SCI-幀的數(shù)據(jù)式具體的定義如圖3所示的這些數(shù)據(jù)格式的寄存器是通信控制寄存器SCICCR,其內容如圖4所示。使用SCICCR進行數(shù)據(jù)格式編程如圖9所示。 圖9 SCI通信控制寄存器SCICCR使用SCICCR進行數(shù)據(jù)格式編程如表8所示:使用SCICCR進行數(shù)據(jù)格式編程 SciaRegs.SCICCR.bit.SCICHAR=8; /選擇數(shù)據(jù)長度,為8 個數(shù)據(jù)位 SciaRegs.SCICCR.bit.PAR

29、ITYENA=1; /開啟極性功能,值為0的時候取消極性功能 SciaRegs.SCICCR.bit.PARITY=0; /在開啟極性功能的前提下,該位值為0 時選擇偶極性,值為1時選擇奇極性 SciaRegs.SCICCR.bit.STOPBITS=0; /選擇停止位,該位為0時有1 個停止位,該位為1 時有2 個停止位 當然,上述這幾個語句,我們也可以合并成如下的語句: SciaRegs.SCICCR.all=0x13; 表8 SCICCR數(shù)據(jù)編程 空閑線模式中數(shù)據(jù)格式里沒有額外的地址位,在處理10個字節(jié)以上的數(shù)據(jù)塊時比地址位模式更為有效,被應用于典型的非多處理器SCI通信場合。而地址位模

30、式由于有專門的位來進行識別地址信息,所以數(shù)據(jù)塊之間不需要空閑時間等待,所以這種模式在處理一些小的數(shù)據(jù)塊的時候更為有效。2.5 SCI通信波特率 TMS320F2812的每個SCI都具有兩個8位的波特率寄存器,SCIHBAUD和SCILBAUD,通過編程,可以實現(xiàn)達64K不同的速率。波特率的計算公式如下所示: (1) 因此 (2)其中 BRR=波特率選擇寄存器中的值,從十進制轉換成十六進制后,高8位賦值給 SCIHBAUD,低8位賦值給SCILBAUD。值得注意的是,式1 所示的波特率公式適用于1BRR65535,當BRR=0是,波特率如公式(3)所示: (3)BRR的值是16位波特率選擇寄存器

31、內的值,其選擇值如表9所示:理想波特率LSPCLK時鐘頻率,37.5MHZBRR實際波特率錯誤百分比/%24001952(7A0H)240004800976(3D0H)4798-0.049600487(1E1H)96060.0619200243(00F3H)192110.0638400121(0079H)384220.06 表9 波特率值選擇表在SCI通信時雙方都必須以相同的數(shù)據(jù)格式和波特率進行通信,否則通信會失敗。2.6 SCI FIFO描述 1. 復位:在上電復位時,SCI工作在標準SCI模式,禁止FIFO功能。FIFO 的寄存器SCIFFTX、SCIFFRX和SCIFFCT都被禁止。 2

32、. 標準 SCI:標準F24xSCI模式,TXINT/RXINT 中斷作為 SCI的中斷源。 3. FIFO使能:通過將SCIFFTX寄存器中的SCIFFEN位置 1,使能FIFO模式。在任何操作狀態(tài)下SCIRST都可以復位FIFO模式。 4. 寄存器有效:所有SCI寄存器和SCI FIFO寄存器(SCIFFTX,SCIFFRX和SCIFFCT)有效。 5. 中斷:FIFO模式有兩個中斷,一個是發(fā)送FIFO中斷TXINT,另一個是接收 FIFO中斷RXINT 。FIFO接收、接收錯誤和接收FIFO溢出共用RXINT中斷。標準SCI的 TXINT 將被禁止,該中斷將作為 SCI發(fā)送 FIFO中斷

33、使用。 6. 緩沖: 發(fā)送和接收緩沖器增加了兩個16級的FIFO, 發(fā)送FIFO寄存器是6位長度,接收FIFO寄存器都是10位長度。標準SCI的一個字的發(fā)送緩沖器作為發(fā)送FIFO和移位寄存器間的發(fā)送緩沖器。只有移位寄存器的最后一位被移出后,一個字的發(fā)送緩沖才從發(fā)送 FIFO裝載。在使能FIFO后,經過一個可選擇的延遲(SCIFFCT),TXSHF被直接裝載而不使用 TXBUF。 7. 延遲發(fā)送:FIFO 中的數(shù)據(jù)傳送到發(fā)送移位寄存器的速率是可編程的,可以通過SCIFFCT 寄存器的位 FFTXDLY(7-0)設置發(fā)送數(shù)據(jù)間的延遲。FFTXDLY(7-0)確定延遲的SCI波特率時鐘周期數(shù),8位寄

34、存器可以定義0個波特率時鐘周期的最小延遲到256個波特率始終周期的最大延遲。當使用0延遲時,SCI模塊的 FIFO數(shù)據(jù)移出時數(shù)據(jù)沒有延時,一位緊接一位地從FIFO移出,實現(xiàn)數(shù)據(jù)的連續(xù)發(fā)送。當選擇256個波特率時鐘延遲時,SCI模塊工作在最大延遲模式,F(xiàn)IFO移出的每個數(shù)據(jù)字之間有256個波特率時鐘延遲。在慢速SCI/UART的通信時,可編程延遲減少CPU對SCI通信的開銷。 8.FIFO狀態(tài)位:發(fā)送和接收 FIFO都有狀態(tài)位TXFFST或RXFFST(位12-0),這些狀態(tài)位顯示當前FIFO內有用數(shù)據(jù)的個數(shù)。當發(fā)送FIFO復位位TXFIFO和接收復位位RXFIFO將FIFO指針復位為0時,狀態(tài)

35、位清零。一旦這些位被設置為1,則FIFO從開始運行。 9.可編程的中斷級:發(fā)送和接收FIFO都能產生CPU中斷,只要發(fā)送FIFO狀態(tài)位TXFFST(位 12-8)與中斷觸發(fā)優(yōu)先級位TXFFIL(位 4-0)相匹配,就能產生一個中斷觸發(fā),從而為SCI的發(fā)送和接收提供了一個可編程的中斷觸發(fā)邏輯。接收FIFO的默認觸發(fā)優(yōu)先級為0x11111,發(fā)送FIFO的默認觸發(fā)優(yōu)先級為0x00000。0x00000 。FIFO模式下SCI中斷的操作和配置如圖10所示: 圖10 SCI FIFO 中斷標志和使能邏輯位大多數(shù)的SCI硬件模塊不支持自動波特率檢測,而在TMS320F2812處理器上, 增強功能的SCI模

36、塊硬件支持自動波特率檢測邏輯和發(fā)送/接受FIFO操作。自動波特率檢測邏輯主要解決中斷過程中波特率的確定問題。16字的FIFO可極大減少通信中斷次數(shù)以提高通信速率。通過設置SCIHBAUD, SCILBAUD 的值可到64K種不同的波特率,本系統(tǒng)的外部晶振 20MHz 經過 PLL5 倍頻后達100MHz, 該系統(tǒng)中的PC 與 DSP 的通信速率設置為19 200 bps, 通過對SCI 的進行初始化即可。計算機端利用串口調試助手實現(xiàn)接收顯示, 將其設置成與DSP 相同的波特率、有無校驗位、數(shù)據(jù)位長度、停止位長度以及數(shù)據(jù)位數(shù)即可正常顯示收/ 發(fā)數(shù)據(jù)。在兩個不同時鐘域中傳送數(shù)據(jù)時,異步先進先出(

37、FIFO, First In FirstOut)通常被用來保證數(shù)據(jù)傳送的安全性。將某一個時鐘域中的數(shù)據(jù)安全地傳送到另一個時鐘域中 ,需要多異步時鐘設計技術。1、在同步FIFO中的應用 設計同步FIFO時 ,首先要充分認識到它的特點 所謂“同步”是指讀寫時鐘是同步的。根據(jù)這個特點 ,設計者可以使用一個計數(shù)器來記錄FIFO的使用情況 ,并把計數(shù)器的值作為產生FIFO狀態(tài)信號的判據(jù)。當計數(shù)器的值為0時 , EMPTY信號有效;當計數(shù)器的值達到FIFO的最大深度時 , FULL信號有效。2、在異步FIFO中的應用 在異步 FIFO的設計中,由于FIFO兩端的時鐘不是同步的,上面介紹的設計方法就行不通了

38、。異步FIFO的空滿信號只有通過比較讀寫指針來生成。通常使用“超前”的指針工作方式,即讀寫指針指向的是下一個應該被讀或應該被寫的地址。當FIFO執(zhí)行寫操作的時候,首先,將數(shù)據(jù)寫入指針指向的存儲地址;隨后 ,寫指針增加 ,指針指向下一個寫操作時數(shù)據(jù)需要存放的地址。為了保證異步FIFO設計的安全性和正確性 ,需要注意以下幾點: (1) 在設計指針控制邏輯的時候 ,所設計出的指針控制邏輯能夠保證讀寫操作的絕對正確和安全;能夠保證讀寫邏輯同存儲器通信時,能及時、高效地傳輸數(shù)據(jù);能夠對亞穩(wěn)態(tài)的出現(xiàn)有一定抑制作用。 (2) 對讀寫指針、握手信號進行比較的時候 ,必須保證信號是在同一個時鐘域中進行比較 (可

39、以是寫時鐘域同步到讀 ,也可以是讀時鐘域同步到寫 );也必須保證數(shù)據(jù)同步所引入的延時對FIFO狀態(tài)信號的正確性沒有影響。只有嚴格把握上面幾點 ,才有可能設計出符合要求的異步 FIFO。 第三章 串口通信硬件與軟件設計 3.1 基于TMS320F2812的DSP最小系統(tǒng)設計 一個典型的DSP最小系統(tǒng)如圖11所示,包括了復位電路、時鐘電路及JTAG接口電路等等。 圖11 DSP最小系統(tǒng)3.1.1電源及復位電路的設計 DSP系統(tǒng)一般都采用多電源系統(tǒng) ,電源及復位電路的設計對于系統(tǒng)性能有重要影響。TMS320F2812是一個較低功耗芯片 ,核電壓為1.8V , IO電壓為3.3V。本設計采用TI公司的

40、 TPS767D318電源芯片。該芯片屬于線性降壓型DC/DC變換芯片 ,可以由5V電源同時產生兩種不同的電壓( 3.3V、1.8V 或2.5V ) ,其最 大 輸出電流為1000mA ,可以同時滿足一片DSP芯片和少量外圍電路的供電需要 ,如圖12所示。該芯片自帶電源監(jiān)控及復位管理功能 ,可以方便地實現(xiàn)電源及復位電路設計。復位電路原理圖如圖13所示。 圖12 電源電路原理圖 圖13 復位電路原理圖3.1.2 時鐘電路設計 TMS320F2812 DSP的時鐘可以有兩種連接方式,即外部振蕩器方式和諧振器方式。如果使用內部振蕩器,則必須在X1/XCL KIN和X2兩個引腳之間連接一個石英晶體。如

41、果采用外部時鐘,可將輸入時鐘信號直接連到X1/CL KIN 引腳上,X2 懸空。本設計采用的是外部有源時鐘方式,直接選擇一個3.3V 供電的30MHz有源晶振實現(xiàn)。系統(tǒng)工作是通過編程選擇5倍頻的PLL功能,可實現(xiàn)F2812的最高工作頻率(150MHz) 。晶振電路如圖14所示: 圖14 晶振電路原理圖3.1.3 DSP與JTAG接口設計 DSP仿真器通過DSP芯片上提供的掃描仿真引腳實現(xiàn)仿真功能,掃描仿真消除了傳統(tǒng)電路仿真存在的電纜過長會引起的信號失真及仿真插頭的可靠性差等問題。采用掃描仿真,使得在線仿真成為可能,給調試帶來極大方便。JTAG接口電路如圖15所示: 圖15 JTAG電路原理圖

42、3.2 串口通信硬件設計串行通信是指使用一條數(shù)據(jù)線(另外需要地線,可能還需要控制線),將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個固定的時間長度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別使用于計算機與計算機、計算機與外設之間的遠距離通信。使用串口通信時,發(fā)送和接收到的每一個字符實際上都是一次一位的傳送的,每一位為1或者為0。如圖16所示: 圖16 串口通信 TMS320F2812芯片內部集成了一個串行通信接口(SCI)模塊,該模塊是一個標準的通用異步接收/發(fā)送(UART)通信接口,通信接口有SCITXD(SCI發(fā)送輸出引腳)和SCIRXD(SCI接收輸入引腳)兩個外部引腳,引腳的信號電平

43、為TTL類型。而DSP串口的異步串行通信基于RS232C標準,兩者的信號邏輯電平不一致,必須進行信號電平轉換。TMS320F2812接口電路如圖17所示: 圖17 TMS320F2812 接口電路 -以RS232C通信標準進行通信,在保證通信準確性的前提下,通信距離一般以不超過12m為宜,在工業(yè)控制現(xiàn)場很受限制。為保證硬件設計的兼容性和易擴展性,能夠應用于不同場合,在DSP硬件電路板端還采用了一個MAX489芯片,添加了一個RS485/RS422通信接口。因為MAX489芯片功耗低,集成度高,+5V供電,具有兩個接收和發(fā)送通道。由于TMS320LF2812采用+3.3V供電,所以在MAX489

44、與TMS320LF2812之間必須加電平轉換電路。 實際使用過程中,系統(tǒng)在選擇不同的通信標準時,切換十分方便。如圖6所示,當跳線端子JUMP2與JUMP3的2、3腳短接時,SCITXD接通MAX232芯片的T1I引腳,SCIRXD接通MAX232芯片的R1O引腳,即DSP的通信接口與MAX232芯片相連,此時系統(tǒng)采用RS232C的通信標準。當跳線端子JUMP2與JUMP3的1、2腳短接時,SCITXD接通MAX489芯片的DI引腳,SCIRXD接通MAX489芯片的RO引腳,即DSP的通信接口與MAX489芯片相連,此時系統(tǒng)采用RS485/422的通信標準,DSP端只需添加一個RS232C/R

45、S485轉換器即可進行通信接口電平轉換。3.3 串口通信軟件設計- 在DSP端的軟件程序設計中,通過中斷方式接收發(fā)送端發(fā)送過來的數(shù)據(jù)包,并校驗確認后接收有效數(shù)據(jù),再將發(fā)送端所需的數(shù)據(jù)打包回送?;贒SP功能模塊化的特點,其串行通信匯編程序的編制主要分三個步驟:(1)初始化設置時鐘源模塊,得到所需的CPUCLK和SYSCLK(因為計算波特率時與之有關); (2)設置SCI模塊,初始化各SCI控制寄存器; (3)編寫串行通信中斷服務子程序,即可完成DSP發(fā)送端與接收端之間的串行通信。 SCI模塊采用了一個比較經典的通信類模型,很好的體現(xiàn)了分層結構,應用層調接口函數(shù)對緩沖區(qū)進行操作,不直接操作硬件。

46、應用層只需 要將需要發(fā)送的字節(jié)送入緩沖區(qū),驅動程序會自行判斷是否啟動首次發(fā)送,啟動首次發(fā)送后,應用程序不再需要參與發(fā)送流程,驅動會自動完成全部的工作,直到緩沖區(qū)為空。當SCI接受到數(shù)據(jù)后,會觸發(fā)接收中斷,由接收中斷負責將收到的數(shù)據(jù)送入到緩沖區(qū)。在串行通信中斷服務子程序的編制過程中,參考圖18所示的DSP串行通信流程圖 接線引腳(RxD) 發(fā)送引腳(TxD)發(fā)送移位寄存器接收移位寄存器 SCI數(shù)據(jù)寄存器MCU內部總線SCI狀態(tài)寄存器SCI波特率寄存器SCI控制寄存器 圖 18 SCI程序流程圖 而通常使用的有兩種方式:一種是查詢方式,另一種是中斷方式。 1、查詢方式,就是程序不斷去查詢狀態(tài)標志位

47、,看看SCI是不是已經做好了數(shù)據(jù)發(fā)送或者接收的準備。 當數(shù)據(jù)發(fā)送時,需要查詢的是位于SCI控制寄存器2(SCICTL2)的第7位TXREADY,發(fā)送緩沖寄存器就緒標志。當這個位為1的時候,表明發(fā)送數(shù)據(jù)緩沖寄存器SCITXBUF已經準備好開始接收并發(fā)送下一個數(shù)據(jù)了。當數(shù)據(jù)寫入SCITXBUF,TXREADY自動會清零,如果TXENA使能了,發(fā)送移位寄存器TXSHF就會把SCITXBUF里面的數(shù)據(jù)發(fā)送出去。當數(shù)據(jù)接收時,需要查詢的是SCI接收狀態(tài)寄存器(SCIRXST)中的RXRDY,接收器就緒標志。當從SCIRXBUF寄存器中已經準備好一個字符的數(shù)據(jù),等待CPU去讀時,RXRDY位就會置1。當數(shù)

48、據(jù)被CPU從SCIRXBUF 讀出后,或者系統(tǒng)復位,都可以使RXRDY清0。其流程圖如圖20所示。 2、中斷方式,根據(jù)前面所學的三級中斷的知識,必須使能外設自己的中斷、PIE中斷和CPU中斷。SCIA的發(fā)送和接收中斷分別位于PIE模塊第9組的第1和第2 位,同時對應于CPU中斷的INT9。前面所述的TXRDY是中斷標志位,當該位置1時,就會產生發(fā)送中斷事件,如果各級中斷都已經使能,則會響應SCI的發(fā)送中斷函數(shù)。當接收中斷標志位RXRDY置1時,就會產生接收中斷標志。如果各級中斷已經使能,則會響應SCI的接收中斷。其流程圖如21所示。 特別注意:外設中斷的標志位一定要手動復位,在這里SCI是個例

49、外,原因如下:當發(fā)送器緩沖寄存器SCITXBUF做好準備發(fā)送數(shù)據(jù)時,TXRDY置1,但是當CPU將數(shù)據(jù)寫入SCITXBUF的時候,TXRDY自動會清0。而當接收器緩沖寄存器已經準備好數(shù)據(jù)等待CPU去讀取時,RXRDY置1,當CPU將數(shù)據(jù)從SCIRXBUF讀出時,RXRDY也會自動清0。這是和其他外設中斷不一樣的地方。 圖20 查詢方式流程圖 圖21 中斷方式流程圖1、使用查詢方式發(fā)送或者接收數(shù)據(jù)的程序結構如下:調用主程序:/發(fā)送程序If (SciaTx_Ready() = 1) SciaRegs.SCITXBUF =SCI_Senddata; /SCI_senddata 為需要發(fā)送的數(shù)據(jù)/接收

50、程序if(SciaRx_Ready() = 1) Sci_Receivedata = SciaRegs.SCIRXBUF.all; /SCI_Receivedata 用于存放 接收的數(shù)據(jù)/發(fā)送就緒標志狀態(tài)查詢函數(shù)int SciaTx_Ready(void) unsigned int i; if(SciaRegs.SCICTL2.bit.TXRDY = 1) i = 1;/返回 1 說明發(fā)送器已經準備就緒,可以接收新的數(shù)據(jù)進行發(fā)送 Else i = 0; return(i);/接收就緒標志狀態(tài)查詢函數(shù)int SciaRx_Ready(void) unsigned int i; if(SciaRe

51、gs.SCIRXST.bit.RXRDY = 1) i = 1; /返回 1 說明數(shù)據(jù)接收已經就緒,等待 CPU 去讀取數(shù)據(jù) Else i = 0; return(i);2、使用中斷方式發(fā)送或者接收的程序:Void main() InitPieCtrl();/*初始化 PIE 中斷*/ InitPieVectTable();/*初始化 PIE 中斷矢量表*/ /*設置中斷服務程序入口地址*/ EALLOW; / This is needed to write to EALLOW protected registers PieVectTable.TXAINT = &SCITXINTA_ISR;

52、PieVectTable.RXAINT = &SCIRXINTA_ISR; EDIS; / This is needed to disable write to EALLOW protected registers /PIE 中斷使能 PieCtrl.PIEIER9.bit.INTx1=1; /使能 SCI 發(fā)送中斷 PieCtrl.PIEIER9.bit.INTx2=1;/使能 SCI 接收中斷 IER |= M_INT9; /*開 CPU 中斷*/ EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime int

53、errupt DBGM/接收中斷函數(shù)interrupt void SCIRXINTA_ISR(void)/ SCI-A PieCtrl.PIEACK.bit.ACK9 = 1; /釋放 PIE 同組中斷 if(SciaRx_Ready() = 1) Sci_Receivedata = SciaRegs.SCIRXBUF.all;/SCI_Receivedata 用于存放接收的數(shù)據(jù) EINT;/使能全局中斷/發(fā)送中斷函數(shù)interrupt void SCITXINTA_ISR(void)/ SCI-A PieCtrl.PIEACK.bit.ACK9 = 1; /釋放PIE同組中斷 if(Scia

54、Tx_Ready() = 1) SciaRegs.SCITXBUF =SCI_Senddata; /SCI_senddata為需要發(fā)送的數(shù)據(jù) EINT; /使能全局中斷 第四章 總結與展望4.1 結論 TMS320F2812有極高的主頻 ,每個指令周期僅有6167ns ,在具有復雜的算法、要求實時控制的場合能充分顯示出其優(yōu)越性。隨著工業(yè)的發(fā)展 ,人們對工業(yè)控制的要求越來越高。DSP芯片處理數(shù)據(jù)的速度在不斷的提高 ,能滿足工業(yè)控制中實時處理數(shù)據(jù)的要求 ,而且其價格在不斷的下降。因此 ,DSP的普及指日可待 ,其應用前景十分看好。4.2 展望畢業(yè)設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解

55、決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程. 回顧起此次DSP原理及應用的畢業(yè)設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在整整一個月的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次畢業(yè)設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟是第一次綜合應用DSP技術來做設計,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固通過這次畢業(yè)設計之后,得以把以前所學過的知識重新溫故。這次畢業(yè)設計終于順利完成了,在設計中遇到了很多問題,最后在老師的辛勤指導下,同學的幫助下終于迎刃而解。在此我表示感謝! 參考文獻 1 DSP原理及應用 M,鄒彥:電子工業(yè)出版社.2 TI1 20041 TMS320F2810 , TMS320

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!