新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CPLD的DSP多SPI端口通信設(shè)計(jì)

CPLD的DSP多SPI端口通信設(shè)計(jì)

作者: 時(shí)間:2011-06-02 來(lái)源:網(wǎng)絡(luò) 收藏

本文介紹一種采用運(yùn)動(dòng)控制專用芯片56F801的超聲波電機(jī)運(yùn)動(dòng)控制裝置。由于該超聲波電機(jī)需要采用兩相四路對(duì)稱PWM信號(hào)來(lái)實(shí)現(xiàn)驅(qū)動(dòng)控制,而芯片無(wú)法直接產(chǎn)生所需PWM信號(hào),采用軟件方法又會(huì)占用大量的DSP計(jì)算時(shí)間,于是了基于可編程邏輯器件()的對(duì)稱PWM信號(hào)發(fā)生器。該信號(hào)發(fā)生器在DSP的控制下,可以實(shí)現(xiàn)輸出兩相PWM控制信號(hào)的占空比及相位差調(diào)節(jié);同時(shí)采用具有接口的可編程振蕩器LTC6903,實(shí)現(xiàn)在DSP控制下的PWM控制信號(hào)頻率調(diào)節(jié)。由此可見,為了實(shí)現(xiàn)DSP對(duì)PWM控制信號(hào)占空比、相位差及頻率的控制,需要采用適當(dāng)?shù)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/通信">通信方式實(shí)現(xiàn)DSP與及LTC6903之間的控制信息傳遞。DSP56F801芯片具有一個(gè)端口。本文在分析數(shù)據(jù)傳輸時(shí)序關(guān)系的基礎(chǔ)上,并實(shí)現(xiàn)了基于的多SPI接口。

本文引用地址:http://m.butianyuan.cn/article/150661.htm

  1 工作原理

  SPI是一個(gè)同步協(xié)議接口,所有的傳輸都參照一個(gè)共同的時(shí)鐘。在同一個(gè)SPI端口可以實(shí)現(xiàn)一個(gè)主機(jī)芯片與多個(gè)從機(jī)芯片的相連,這時(shí)主機(jī)通過觸發(fā)從設(shè)備的片選輸入引腳來(lái)選擇從設(shè)備,沒有被選中的從設(shè)備將不參與SPI傳輸。SPI主使用4個(gè)信號(hào):主機(jī)輸出/從機(jī)輸入(MOSI)、主機(jī)輸入/從機(jī)輸出(MISO)、串行時(shí)鐘信號(hào)SCLK和外設(shè)芯片選擇信號(hào)(SS)。主機(jī)和外設(shè)都包含一個(gè)串行移位寄存器,主機(jī)通過向它的SPI串行移位寄存器寫入一個(gè)字節(jié)來(lái)發(fā)起一次傳輸。寄存器是通過MOSI引腳將字節(jié)傳送給從設(shè)備,從設(shè)備也將自己移位寄存器中的內(nèi)容通過MISO信號(hào)線返回給主機(jī)。這樣,兩個(gè)移位寄存器中的內(nèi)容就被交換了。外設(shè)的寫操作和讀操作是同步完成的,因此SPI成為一個(gè)很有效的串行通信協(xié)議。SPI端口的通信網(wǎng)絡(luò)結(jié)構(gòu)框圖如圖1所示。為了使信號(hào)發(fā)生器輸出可調(diào)頻、調(diào)壓和調(diào)相輸出的兩相四路PWM波,需要DSP向CPLD電路輸出參數(shù)。這4個(gè)控制參數(shù)的傳遞是在小型的通信網(wǎng)絡(luò)中實(shí)現(xiàn)的。在該網(wǎng)絡(luò)中,DSP的SPI只是進(jìn)行數(shù)據(jù)輸出端口的寫操作,即輸出電壓控制字、相位控制字和頻率控制字。數(shù)據(jù)流程:主機(jī)DSP向CPLD傳輸數(shù)據(jù),在傳輸數(shù)據(jù)時(shí),數(shù)據(jù)在MOSI引腳上輸出,同時(shí)數(shù)據(jù)在時(shí)鐘信號(hào)的作用下實(shí)現(xiàn)同步移位輸出。由于不需要從機(jī)向主機(jī)回送任何數(shù)據(jù),主機(jī)在數(shù)據(jù)傳輸結(jié)束之后,結(jié)束這次傳送。由于SPI端口工作時(shí)沒有應(yīng)答信號(hào),并且數(shù)據(jù)在發(fā)送時(shí)無(wú)需校驗(yàn)位,所以要求主、從器件的數(shù)據(jù)發(fā)送與接收必須完全符合設(shè)定的SPI時(shí)序要求,否則數(shù)據(jù)傳輸將出現(xiàn)錯(cuò)誤。

  

SPI端口的通信網(wǎng)絡(luò)結(jié)構(gòu)框圖

  2 基于CPLD的串口SPI設(shè)計(jì)

  2.1 移位寄存器設(shè)計(jì)

  本設(shè)計(jì)為一個(gè)12位的SPI串行接收端口。圖1中移位寄存器是由12個(gè)D觸發(fā)器和1個(gè)計(jì)數(shù)器組成的,實(shí)現(xiàn)移位接收和串并轉(zhuǎn)換。在傳輸過程中,先使能移位寄存器和計(jì)數(shù)器,啟動(dòng)傳輸,同時(shí)計(jì)數(shù)器開始計(jì)數(shù)。當(dāng)計(jì)數(shù)到16時(shí),進(jìn)位端輸出一個(gè)脈沖寬度的高電平脈沖,進(jìn)行數(shù)據(jù)鎖存,其電路如圖2所示。

  

SPI基于CPLD設(shè)計(jì)示意圖

  實(shí)驗(yàn)中為保證時(shí)序正確,測(cè)出了使能信號(hào)和計(jì)數(shù)器進(jìn)位脈沖的輸出時(shí)序,如圖3、圖4所示。其中十六進(jìn)制計(jì)數(shù)器采用的是上升沿計(jì)數(shù),在第16個(gè)上升沿到來(lái)時(shí),跳變?yōu)楦唠娖?,保證數(shù)據(jù)的正確接收鎖存。

  

使能信號(hào)的時(shí)序圖

  

進(jìn)位信號(hào)的輸出時(shí)序圖
上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 設(shè)計(jì) 通信 SPI DSP CPLD

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉