CPLD的DSP多SPI端口通信設(shè)計
本文介紹一種采用運(yùn)動控制專用DSP芯片DSP56F801設(shè)計的超聲波電機(jī)運(yùn)動控制裝置。由于該超聲波電機(jī)需要采用兩相四路對稱PWM信號來實(shí)現(xiàn)驅(qū)動控制,而DSP芯片無法直接產(chǎn)生所需PWM信號,采用軟件方法又會占用大量的DSP計算時間,于是設(shè)計了基于可編程邏輯器件(CPLD)的對稱PWM信號發(fā)生器。該信號發(fā)生器在DSP的控制下,可以實(shí)現(xiàn)輸出兩相PWM控制信號的占空比及相位差調(diào)節(jié);同時采用具有SPI接口的可編程振蕩器LTC6903,實(shí)現(xiàn)在DSP控制下的PWM控制信號頻率調(diào)節(jié)。由此可見,為了實(shí)現(xiàn)DSP對PWM控制信號占空比、相位差及頻率的控制,需要采用適當(dāng)?shù)?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/通信">通信方式實(shí)現(xiàn)DSP與CPLD及LTC6903之間的控制信息傳遞。DSP56F801芯片具有一個SPI通信端口。本文在分析SPI數(shù)據(jù)傳輸時序關(guān)系的基礎(chǔ)上,設(shè)計并實(shí)現(xiàn)了基于CPLD的多SPI接口通信。
本文引用地址:http://cafeforensic.com/article/150661.htm1 工作原理
SPI是一個同步協(xié)議接口,所有的傳輸都參照一個共同的時鐘。在同一個SPI端口可以實(shí)現(xiàn)一個主機(jī)芯片與多個從機(jī)芯片的相連,這時主機(jī)通過觸發(fā)從設(shè)備的片選輸入引腳來選擇從設(shè)備,沒有被選中的從設(shè)備將不參與SPI傳輸。SPI主使用4個信號:主機(jī)輸出/從機(jī)輸入(MOSI)、主機(jī)輸入/從機(jī)輸出(MISO)、串行時鐘信號SCLK和外設(shè)芯片選擇信號(SS)。主機(jī)和外設(shè)都包含一個串行移位寄存器,主機(jī)通過向它的SPI串行移位寄存器寫入一個字節(jié)來發(fā)起一次傳輸。寄存器是通過MOSI引腳將字節(jié)傳送給從設(shè)備,從設(shè)備也將自己移位寄存器中的內(nèi)容通過MISO信號線返回給主機(jī)。這樣,兩個移位寄存器中的內(nèi)容就被交換了。外設(shè)的寫操作和讀操作是同步完成的,因此SPI成為一個很有效的串行通信協(xié)議。SPI端口的通信網(wǎng)絡(luò)結(jié)構(gòu)框圖如圖1所示。為了使信號發(fā)生器輸出可調(diào)頻、調(diào)壓和調(diào)相輸出的兩相四路PWM波,需要DSP向CPLD電路輸出參數(shù)。這4個控制參數(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ù)據(jù)在MOSI引腳上輸出,同時數(shù)據(jù)在時鐘信號的作用下實(shí)現(xiàn)同步移位輸出。由于不需要從機(jī)向主機(jī)回送任何數(shù)據(jù),主機(jī)在數(shù)據(jù)傳輸結(jié)束之后,結(jié)束這次傳送。由于SPI端口工作時沒有應(yīng)答信號,并且數(shù)據(jù)在發(fā)送時無需校驗(yàn)位,所以要求主、從器件的數(shù)據(jù)發(fā)送與接收必須完全符合設(shè)定的SPI時序要求,否則數(shù)據(jù)傳輸將出現(xiàn)錯誤。
2 基于CPLD的串口SPI設(shè)計
2.1 移位寄存器設(shè)計
本設(shè)計為一個12位的SPI串行接收端口。圖1中移位寄存器是由12個D觸發(fā)器和1個計數(shù)器組成的,實(shí)現(xiàn)移位接收和串并轉(zhuǎn)換。在傳輸過程中,先使能移位寄存器和計數(shù)器,啟動傳輸,同時計數(shù)器開始計數(shù)。當(dāng)計數(shù)到16時,進(jìn)位端輸出一個脈沖寬度的高電平脈沖,進(jìn)行數(shù)據(jù)鎖存,其電路如圖2所示。
實(shí)驗(yàn)中為保證時序正確,測出了使能信號和計數(shù)器進(jìn)位脈沖的輸出時序,如圖3、圖4所示。其中十六進(jìn)制計數(shù)器采用的是上升沿計數(shù),在第16個上升沿到來時,跳變?yōu)楦唠娖?,保證數(shù)據(jù)的正確接收鎖存。
評論