色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-02-06 08:56 ? 次閱讀

引言

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

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

1 系統(tǒng)簡(jiǎn)介

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

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

如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

2 串行通信原理及特性

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

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

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

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

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

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

如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

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

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

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

如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

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

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

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

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ù)以啟動(dòng)數(shù)據(jù)發(fā)送*/

}

}

interrupt void SPIRXINTA_ISR(void)

/*中斷方式接受*/

{

TX_data2=SpiRegs.SPIRXBUF;

/*讀取SpiRegs.SPIRXBUF 后自動(dòng)清除中斷標(biāo)志位*/

return;

}

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

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

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

如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

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

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

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

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

MSComm1.CommPort = 1 '端口號(hào)'

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

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

MSComm1.InputLen = 0

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

MSComm1.OutBufferCount = 0 '清空'

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

MSComm1.PortOpen = True

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

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

SciaRegs.SCICCR.all=0x0007;

/*一個(gè)停止位,禁止奇偶校驗(yàn),禁止自測(cè),8 個(gè)字符*/

SciaRegs.SCICTL1.all=0x0003;

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

SciaRegs.SCICTL2.all=0x0002;

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

SciaRegs.SCIHBAUD=0x00;

SciaRegs.SCILBAUD=0x79;

/*波特率38400*/

SciaRegs.SCICTL1.all=0x0023;

/*開始使能SCIA*/

5 結(jié)束語

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

如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

如何利用SPI模塊進(jìn)行雙DSP同步串行通信設(shè)計(jì)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    556

    文章

    8151

    瀏覽量

    355970
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1788

    瀏覽量

    95074
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    587

    瀏覽量

    36082
收藏 1人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    揭秘DSP電機(jī)控制串行通信系統(tǒng)電路設(shè)計(jì)

    分析了數(shù)字信號(hào)處理芯片TMS320LF2407A DSP串行外設(shè)接口SPI,及串行通信接口SCI模塊
    發(fā)表于 12-23 10:15 ?5180次閱讀
    揭秘<b class='flag-5'>DSP</b>電機(jī)控制<b class='flag-5'>串行</b><b class='flag-5'>通信</b>系統(tǒng)電路設(shè)計(jì)

    SPI同步串行通信中的“同步”指的是什么?

    SPI口,同步串行通信中的“同步”指的是什么?
    發(fā)表于 10-28 08:12

    串行同步通信的應(yīng)用

    串行同步通信的應(yīng)用 該文給出利用8251A實(shí)現(xiàn)串行同步通訊設(shè)計(jì)的方法 關(guān)鍵詞:
    發(fā)表于 10-17 11:24 ?2382次閱讀
    <b class='flag-5'>串行同步</b><b class='flag-5'>通信</b>的應(yīng)用

    基于DSP的并聯(lián)控制系統(tǒng)中串行通信的研究

    基于DSP的并聯(lián)控制系統(tǒng)中串行通信的研究   摘 要:概要地介紹了TMS320F2812 DSP 的基本性能,重點(diǎn)介紹了
    發(fā)表于 01-08 10:30 ?1633次閱讀
    基于<b class='flag-5'>雙</b><b class='flag-5'>DSP</b>的并聯(lián)控制系統(tǒng)中<b class='flag-5'>串行</b><b class='flag-5'>通信</b>的研究

    同步串行接口SPI的C語言編程

    同步串行接口SPI的C語言編程,快來下載學(xué)習(xí)啊
    發(fā)表于 07-04 14:01 ?9次下載

    基于MSP430F2的SPI串行同步通信

    通用串行通信接口(USCI)采用一個(gè)硬件模塊支持多種串行通信方式。本文檔內(nèi)容介紹同步外圍接口或
    發(fā)表于 09-21 15:34 ?2次下載
    基于MSP430F2的<b class='flag-5'>SPI</b><b class='flag-5'>串行同步</b><b class='flag-5'>通信</b>

    基于MSP430x2xx用戶指南_翻譯_串行通信模塊SPI模式

    基于MSP430x2xx用戶指南_翻譯_串行通信模塊SPI模式
    發(fā)表于 10-12 14:46 ?5次下載
    基于MSP430x2xx用戶指南_翻譯_<b class='flag-5'>串行</b><b class='flag-5'>通信</b><b class='flag-5'>模塊</b><b class='flag-5'>SPI</b>模式

    關(guān)于DSPSPI端口通信設(shè)計(jì)的探究

    。本文以一種超聲波電機(jī)運(yùn)動(dòng)控制裝置為應(yīng)用背景,討論了基于CPLD的DSP控制芯片多SPI端口通信技術(shù)。 串行同步外設(shè)端口(SPI)通常也稱為
    發(fā)表于 10-24 10:57 ?2次下載
    關(guān)于<b class='flag-5'>DSP</b>多<b class='flag-5'>SPI</b>端口<b class='flag-5'>通信</b>設(shè)計(jì)的探究

    基于SPI通信接口的兩片DSP的雙向通信和任務(wù)同步

    數(shù)據(jù)雙向通信,TMS320F2812 DSP芯片內(nèi)部集成了一個(gè)SPI模塊,方案提出了一種基于SPI通信
    發(fā)表于 10-30 15:00 ?10次下載
    基于<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>接口的兩片<b class='flag-5'>DSP</b>的雙向<b class='flag-5'>通信</b>和任務(wù)<b class='flag-5'>同步</b>

    dsPIC33E/PIC24E器件之串行外設(shè)接口(SPI

    串行外設(shè)接口(Serial Peripheral Interface,SPI模塊是用于同其他外設(shè)或單片機(jī)進(jìn)行通信
    發(fā)表于 06-03 09:19 ?19次下載

    PIC24F系列參考手冊(cè)之串行外設(shè)接口(SPI

    串行外設(shè)接口(Serial Peripheral Interface,SPI模塊是用于同其他外設(shè)或單片機(jī)器件進(jìn)行通信
    發(fā)表于 06-24 03:20 ?3次下載
    PIC24F系列參考手冊(cè)之<b class='flag-5'>串行</b>外設(shè)接口(<b class='flag-5'>SPI</b>)

    使用VHDL設(shè)計(jì)串行同步通信SPI的論文免費(fèi)下載

    本設(shè)計(jì)是用Quartus作為開發(fā)環(huán)境,以DE2板為硬件平臺(tái)實(shí)現(xiàn)的SPI同步串行通訊。設(shè)計(jì)過程方便。根據(jù)接收和發(fā)送兩個(gè)主要部分實(shí)現(xiàn)了SPI的基本功能。此外,該設(shè)計(jì)還實(shí)現(xiàn)了波特率發(fā)生器,數(shù)
    發(fā)表于 11-27 15:36 ?5次下載
    使用VHDL設(shè)計(jì)<b class='flag-5'>串行同步</b><b class='flag-5'>通信</b><b class='flag-5'>SPI</b>的論文免費(fèi)下載

    常用串行總線(二)——SPI協(xié)議(Verilog實(shí)現(xiàn))

    (PICmicro) 上面的微處理控制單元 (MCU) 上叫作同步串行端口(Synchronous Serial Port) 的模塊(Module)來實(shí)現(xiàn)的, 它允許 MCU 以全雙工的同步
    的頭像 發(fā)表于 01-06 14:35 ?9672次閱讀

    常用串行總線——SPI協(xié)議(上)

    (PICmicro) 上面的微處理控制單元 (MCU) 上叫作同步串行端口(Synchronous Serial Port) 的模塊(Module)來實(shí)現(xiàn)的, 它允許 MCU 以全雙工的同步
    的頭像 發(fā)表于 01-21 17:00 ?1719次閱讀
    常用<b class='flag-5'>串行</b>總線——<b class='flag-5'>SPI</b>協(xié)議(上)

    常用串行總線——SPI協(xié)議(下)

    (PICmicro) 上面的微處理控制單元 (MCU) 上叫作同步串行端口(Synchronous Serial Port) 的模塊(Module)來實(shí)現(xiàn)的, 它允許 MCU 以全雙工的同步
    的頭像 發(fā)表于 01-21 17:03 ?1204次閱讀
    常用<b class='flag-5'>串行</b>總線——<b class='flag-5'>SPI</b>協(xié)議(下)
    主站蜘蛛池模板: 一二三四韩国免费观看 | 日本无卡无吗在线 | 高傲教师麻麻被同学调教123 | 99精品视频 | 久久综合久久鬼 | 俄罗斯性孕妇孕交 | 久久精品亚洲AV中文2区金莲 | 久久偷拍国2017 | 邪恶肉肉全彩色无遮琉璃神社 | 国产麻豆精品传媒AV国产在线 | 国产 日韩 欧美 综合 激情 | 美国一级大黄一片免费的网站 | 中文字幕爆乳JULIA女教师 | 亚洲中文字幕永久在线全国 | 色四房播播 | 无限资源在线观看8 | 美娇妻的性奴史1一4 | 色窝窝777欧美午夜精品影院 | 日韩高清一区二区三区不卡 | 亚洲AV永久无码精品澳门 | 中文字幕在线观看网站 | 三男强一女90分钟在线观看 | 成人在线高清不卡免费视频 | 自拍区偷拍亚洲视频 | 国产精品7777人妻精品冫 | 战狼4在线观看完免费完整版 | 女子初尝黑人巨嗷嗷叫 | 国产精品99久久久久久宅男AV | 久久re这里视频精品8 | 菲律宾毛片 | sm主人调教揉花蒂H SM双性精跪趴灌憋尿调教H | 99久久久久亚洲AV无码 | 国产人妻人伦精品59HHH | 亚洲中文在线偷拍 | 国产www视频 | 憋尿调教绝望之岛 | 处女座历史名人 | 少妇久久久久久被弄高潮 | 亚洲在线视频自拍精品 | 国产精品女上位好爽在线短片 | 国产高清美女一级a毛片久久w |

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品