當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導讀]  摘 要:概要地介紹了TMS320F2812 DSP 的基本性能,重點介紹了利用DSP 的SPI 模塊進行雙DSP 同步串行通信,以及在Visual Basic 6.0 下,利用MSComm 控件實現(xiàn)上位PC 機和下位DSP 之間異步串行通信的具體實現(xiàn)方式。

  摘 要:概要地介紹了TMS320F2812 DSP 的基本性能,重點介紹了利用DSP 的SPI 模塊進行雙DSP 同步串行通信,以及在Visual Basic 6.0 下,利用MSComm 控件實現(xiàn)上位PC 機和下位DSP 之間異步串行通信的具體實現(xiàn)方式。最后給出了一個采用RS-232 串行通信標準實現(xiàn)信息傳輸?shù)膶嵗?。串行通信簡單,界面友好,?yīng)用領(lǐng)域廣泛。

  引言

  隨著數(shù)字信號處理器(DSP)在系統(tǒng)控制領(lǐng)域中的廣泛應(yīng)用,控制各系統(tǒng)的DSP 之間 通信問題也越來越突出。利用DSP 本身的高速同步串行接口(SPI)模塊,可以讓DSP 直 接對接實現(xiàn)芯片間的同步串行通信。有時為了充分利用PC 機資源,讓一些在智能儀器上難以解決的問題諸如曲線顯示等可以在PC 機上得以實現(xiàn),這就需要DSP 內(nèi)嵌的串行通信接口 (SCI)模塊,實現(xiàn)DSP 與上位機的異步串行通訊。

  本文所介紹的通信方法的背景是為課題組搭建雙開關(guān)磁阻伺服電動機并聯(lián)傳動系統(tǒng) (SRSD),系統(tǒng)使用的是TMS320F2812 芯片,具有SPI 模塊和SCI 模塊[1]。本文詳細介紹 了SPI 模塊和SCI 模塊各自進行串行通信的硬件連接和軟件實現(xiàn)方法,從而完成了基于 TMS320F2812 的雙SRSD 系統(tǒng)通信模塊的實現(xiàn)。

  1 系統(tǒng)簡介

  雙電機并聯(lián)系統(tǒng)有很多優(yōu)點,它比單電機系統(tǒng)在處理電機空間放置方式上更為靈活,并且有利于改進電機的特性。相對于單電機系統(tǒng),在相同的輸出情況下,雙電機的總轉(zhuǎn)動慣量更小,從而可以減少運行時的電能消耗。此外,當雙電機中的一臺損壞后,另一臺仍可以在短時間內(nèi)或適當減少負載的情況下繼續(xù)運行,提高了系統(tǒng)的可靠性[3]。

  本文背景以SRSD 為主要研究對象,以位置輸出為主要控制量。在單機系統(tǒng)的基礎(chǔ)上, 經(jīng)過改進,設(shè)計出雙SRSD 并聯(lián)系統(tǒng),系統(tǒng)框圖如圖1 所示。


  2 串行通信原理及特性

  在計算機中,通常用8 位的二進制代碼來表示一個字符,一條信息的各位字符的二進制代碼被按由低到高位的順序,依次地發(fā)送出去的通信方式叫做串行通信。它的特點是按位發(fā)送。根據(jù)信息的傳送方向,串行通信可以分為單工通信、半雙工通信和全雙工通信。在本文中采用的是全雙工的通信方式。串行通信按照傳輸方式的不同又可以分為同步方式和異步方 式。同步方式較復(fù)雜,但傳送速率比異步方式高。本文中SPI 采用是同步方式,SCI 采用是 異步方式。

  TMS320F2812 的SPI 是一個高速的同步串行輸入/輸出端口,一般用來實現(xiàn)DSP 控制器 之間和DSP 與外圍設(shè)備之間的通信。SPI 有兩種操作模式:主操作模式和從操作模式。主片 控制了時鐘信號(SPICLK),它可以在任何時候通過發(fā)送SPICLK 信號來啟動數(shù)據(jù)傳輸。無論是主片還是從片,數(shù)據(jù)都是在SPICLK 的某個邊沿移出移位寄存器,在SPICLK 相反的邊沿鎖存在移位寄存器中,并且輸出和接受數(shù)據(jù)都是同時進行的。

  芯片的 SCI 是一個雙線通信的異步串行通信接口,也稱UART 口,一般用于接上位機(以下簡稱PC 機)。

  3 同步通信模塊的設(shè)計

  3.1 基于SPI 模塊的硬件設(shè)計

  讓兩個 DSP 分別工作在主、從操作模式下,兩者的引腳連接如圖2 所示。主處理器通 過SPICLK 腳向整個通信網(wǎng)提供串行時鐘,控制著系統(tǒng)的數(shù)據(jù)傳輸;通過SPISTE 腳給從處 理器提供片選信號,低電平有效;通過SPISIMO 腳把數(shù)據(jù)輸出到從處理器的SPISIMO 腳上; 通過SPISOMI 腳接受從機處理器SPISOMI 腳上的數(shù)據(jù)。


  3.2 同步通信流程設(shè)計及軟件實現(xiàn)

  在設(shè)計時,主處理器先向從處理器發(fā)送給定信息,發(fā)送完畢后,循環(huán)發(fā)送0,使SPICLK 不停地有時鐘脈沖輸出,并等待接受從處理器發(fā)送的數(shù)據(jù)。從處理器先是等待給定信息,如果接收到非零數(shù)據(jù),則進行下一步運行并不斷向主處理器發(fā)送當前數(shù)據(jù)。

  SPI 通信主處理器的流程圖和從處理器的流程圖分別如圖3、圖4 所示。


  在完成兩個DSP 時鐘和中斷初始化后,分別對其SPI 寄存器進行設(shè)置,讓其分別處于 master 和slave 模式。主、從處理器都采用查詢方式發(fā)送數(shù)據(jù),中斷方式接受數(shù)據(jù)。

  查詢方式發(fā)送是判斷SPI 發(fā)送緩沖器已滿標志位(SPISTS.bit.BUFFULL_FLAG)是否為空,如果為空,則將數(shù)據(jù)寫入發(fā)送緩沖寄存器(SPITXBUF)中,啟動SPISIMO 引腳的數(shù)據(jù)發(fā)送,數(shù)據(jù)發(fā)送完畢后SPISTS.bit.BUFFULL_FLAG 自動清零,等待下一次發(fā)送。

  中斷方式接受是在SPI 中斷使能位(SPICTL.bit.SPIINTENA)置位的情況下,如果接收 到數(shù)據(jù)傳送到SPI 串行數(shù)據(jù)寄存器(SPIDAT)中,SPI 中斷標志位(SPISTS.bit.INT_FLAG)置位且觸發(fā)中斷,并將數(shù)據(jù)轉(zhuǎn)移到接受緩沖寄存器(SPIRXBUF)中,如果SPIRXBUF 中數(shù)據(jù)被讀取,則SPISTS.bit.INT_FLAG 自動清零,等待下一次接受中斷。

  SPI 部分發(fā)送和接受程序如下:

  void spi_TxProcess()

  {

  while(SpiRegs.SPISTS.bit.BUFFULL_FLAG==1) {}

  /*判斷SPISTS.bit.BUFFULL_FLAG)是否為空*/

  if(SpiRegs.SPISTS.bit.BUFFULL_FLAG==0)

  {

  SpiRegs.SPITXBUF=slave_value;

  /*向SPITXBUF 寫入數(shù)據(jù)以啟動數(shù)據(jù)發(fā)送*/

  }

  }

  interrupt void SPIRXINTA_ISR(void)

  /*中斷方式接受*/

  {

  TX_data2=SpiRegs.SPIRXBUF;

  /*讀取SpiRegs.SPIRXBUF 后自動清除中斷標志位*/

  return;

  }

  4 異步通信模塊的設(shè)計

  4.1 基于SCI 的硬件設(shè)計

  圖 5 為上位機和DSP 的硬件連接圖。RS-232C 標準采用負邏輯:邏輯“1”為-5V~-15V 之間的低電平,通常用-12V 表示;邏輯“0”為+5V~+15V 之間的高電平,通常用+12V 表示。 上述標準稱為EIA 電平。


  RS-232C 是用正負電壓來表示邏輯狀態(tài),并且是負邏輯,而TTL 則以高低TTL 器件電平表示邏輯狀態(tài),且為正邏輯,兩者的規(guī)定是不同的。為了能夠?qū)⑴cEIA 器件連接,保證二者之間正常通信,必須在它們之間進行電平和邏輯關(guān)系的變換。本Maxim 公司生產(chǎn)的集 成芯片MAX232 來實現(xiàn)這一變換[4]。變化后的電平在經(jīng)過6N137 轉(zhuǎn)換為適合TMS320F2812 的電平在+3.3V 以內(nèi)的信號。

  4.2 SCI 通信的軟件實現(xiàn)

  通信前,發(fā)送端和接受端必須使用雙方協(xié)商一致的通信協(xié)議,數(shù)據(jù)被拆分成為(bit)進行傳送。傳送的順序一次為起始位、數(shù)據(jù)位、奇偶校驗位、停止位。每秒鐘傳送的bit 數(shù)由波特率來決定。本文中的通信協(xié)議設(shè)定為:波特率38400bit/s,8 位數(shù)據(jù)位,無奇偶校驗,1 位停止位,數(shù)據(jù)傳輸同時采用ASCⅡ碼和二進制兩種形式。

  上位機采用Visual Basic6.0(以下簡稱VB)語言編程實現(xiàn),利用VB 中提供的MSComm 控件可以實現(xiàn)PC 機與下位機的通信。利用MSComm 實現(xiàn)通信有兩種方法:一是事件驅(qū)動 方法,也就是OnComm 事件。當有數(shù)據(jù)到達端口或端口狀態(tài)發(fā)生改變或有通信錯誤產(chǎn)生時, 都將發(fā)生OnComm 事件。另一種就是查詢方式。查詢方式是通過周期性讀取緩沖區(qū)的信號來發(fā)現(xiàn)是否有事件發(fā)生并進行處理的方法。本設(shè)計中,發(fā)送采用查詢方式,接受采用事件驅(qū) 動方法。MSComm 控件初始化程序如下:

  MSComm1.CommPort = 1 '端口號'

  MSComm1.Settings = "38400,n,8,1"

  '波特率38400bit/s,8 位數(shù)據(jù)位,無奇偶校驗,1 位停止位'

  MSComm1.InputLen = 0

  MSComm1.InBufferCount = 0 '清空接收緩沖區(qū)'

  MSComm1.OutBufferCount = 0 '清空'

  MSComm1.RThreshold = 1 '接收緩沖區(qū)或發(fā)送緩沖區(qū)中可以接收的字符數(shù)'

  MSComm1.PortOpen = True

  應(yīng)實際要求,我們要在通信中同時傳輸數(shù)據(jù)和控制字符,所以數(shù)據(jù)傳輸同時采用ASCⅡ 碼和二進制兩種形式。這就需要在每次傳輸前改變MSComm1.InputMode 的屬性。

  TMS320F2812(SPI 通信中主處理器)在完成時鐘和中斷初始化后,對其SCI 寄存器進 行設(shè)置,使其通信協(xié)議和上位機一致。TMS320F2812 采用查詢方式給上位機發(fā)送數(shù)據(jù),中 斷方式接受上位機的數(shù)據(jù)。SCI 寄存器設(shè)置如下:

  SciaRegs.SCICCR.all=0x0007;

  /*一個停止位,禁止奇偶校驗,禁止自測,8 個字符*/

  SciaRegs.SCICTL1.all=0x0003;

  /*禁止接受錯誤中斷,復(fù)位,禁止休眠,開啟發(fā)送使能*/

  SciaRegs.SCICTL2.all=0x0002;

  /*開接受中斷,關(guān)發(fā)送中斷*/

  SciaRegs.SCIHBAUD=0x00;

  SciaRegs.SCILBAUD=0x79;

  /*波特率38400*/

  SciaRegs.SCICTL1.all=0x0023;

  /*開始使能SCIA*/

  5 結(jié)束語

  以上為解決兩個DSP 之間以及DSP 與PC 機之間的通信的軟硬件設(shè)計方案,當上位機 發(fā)送給定信息(位置信息)后,下位機接受到數(shù)據(jù)并傳輸給SPI 處理器,上位機和下位機界 面如圖6、圖7。



  系統(tǒng)的最大特點是根據(jù)實際需要,采用同時同步和異步兩通信方式。雙系統(tǒng)間的同步串 行通信,保證了雙系統(tǒng)運行的同步性;通過PC 機和上位機的異步串行通信,實現(xiàn)把DSP 采集的一系列數(shù)據(jù)通過串口發(fā)送至PC 機,解決了DSP 存儲空間有限的問題,在PC 上可以很方便地對數(shù)據(jù)進行一些在DSP 上難以實現(xiàn)的處理,得到一些數(shù)據(jù)曲線等,效果直觀便捷。此系統(tǒng)已應(yīng)用與某一開關(guān)磁阻電機電機并聯(lián)控制系統(tǒng)中,運行穩(wěn)定,通信性能良好。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉