《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > CPLD的DSP多SPI端口通信設計
CPLD的DSP多SPI端口通信設計
摘要: SPI通信方式具有硬件連接簡單、使用方便等優(yōu)點,應用廣泛。采取硬件和軟件相結(jié)合的措施,可以確保SPI通信中數(shù)據(jù)流的同步,實現(xiàn)可靠通信。本文給出了DSP多SPI端口通信的設計與實現(xiàn)過程,討論了其中的關(guān)鍵技術(shù)問題。SPI多端口通信方法基于CPLD實現(xiàn),易移植,易于實現(xiàn)功能擴展,可廣泛應用于各種采用SPI通信方式的自動化裝置。
關(guān)鍵詞: CPLD DSP SPI 通信
Abstract:
Key words :

  引 言

  目前在電氣自動化控制裝置中,廣泛采用各種通信手段以完成上層與底層控制器、底層控制器以及控制芯片之問的信息傳遞,并實現(xiàn)相應的控制功能;各種通信功能的設計與實現(xiàn)已成為自動化裝置設計的重要組成部分。本文以一種超聲波電機運動控制裝置為應用背景,討論了基于CPLDDSP控制芯片多SPI端口通信技術(shù)。

  串行同步外設端口(SPI)通常也稱為同步外設端口,具有信號線少、協(xié)議簡單、傳輸速度快的特點,大量用在微控制器與外圍芯片的通信中。目前SPI通信方式已被普遍接受,帶有SPI端口的芯片越來越多,如Flash、RAM、A/D轉(zhuǎn)換、LED顯示、控制專用DSP芯片等。

  本文介紹一種采用運動控制專用DSP芯片DSP56F801設計的超聲波電機運動控制裝置。由于該超聲波電機需要采用兩相四路對稱PWM信號來實現(xiàn)驅(qū)動控制,而DSP芯片無法直接產(chǎn)生所需PWM信號,采用軟件方法又會占用大量的DSP計算時間,于是設計了基于可編程邏輯器件(CPLD)的對稱PWM信號發(fā)生器。該信號發(fā)生器在DSP的控制下,可以實現(xiàn)輸出兩相PWM控制信號的占空比及相位差調(diào)節(jié);同時采用具有SPI接口的可編程振蕩器LTC6903,實現(xiàn)在DSP控制下的PWM控制信號頻率調(diào)節(jié)。由此可見,為了實現(xiàn)DSP對PWM控制信號占空比、相位差及頻率的控制,需要采用適當?shù)耐ㄐ欧绞綄崿F(xiàn)DSP與CPLD及LTC6903之間的控制信息傳遞。DSP56F801芯片具有一個SPI通信端口。本文在分析SPI數(shù)據(jù)傳輸時序關(guān)系的基礎上,設計并實現(xiàn)了基于CPLD的多SPI接口通信。

  1 工作原理

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

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

  2 基于CPLD的串口SPI設計

  2.1 移位寄存器設計

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

SPI基于CPLD設計示意圖

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

使能信號的時序圖

進位信號的輸出時序圖

  2.2 鎖存器設計

  鎖存器的工作特點:當gate引腳上輸入高電平信號時,鎖存器工作開始鎖存總線上的數(shù)據(jù);當gate引腳上是低電平時,鎖存器不工作,即當總線上的數(shù)據(jù)發(fā)生變化時,鎖存器的輸出不發(fā)生變化。由于本設計需要多個參數(shù)傳輸,通過地址選擇的方法把這3個數(shù)據(jù)從一條總線上區(qū)分出來,設置傳輸數(shù)據(jù)的低兩位為地址選擇位。地址選擇位經(jīng)移位寄存器,串并轉(zhuǎn)換,作為三輸入與門的兩個輸入端,進行地址選擇。每次16位的數(shù)據(jù)移位結(jié)束,數(shù)據(jù)穩(wěn)定時,在計數(shù)器高電平作用下,相應gate的引腳上輸出高電平,數(shù)據(jù)鎖存入相應的鎖存器。例如,可以設置低兩位是“11”時,DSP送入PWM電路的是ll位的調(diào)相信號;當?shù)蛢晌辉O置成“01”時,DSP送入PWM電路的是10位調(diào)節(jié)A相占空比的信號;當?shù)蛢晌辉O置成“10”時,DSP送入PWM電路的是10位調(diào)節(jié)B相占空比的信號。由此可以在電路中設計一個三輸人的與門,當16位數(shù)據(jù)傳輸完畢,即在相應gate的引腳上輸出高電平時,數(shù)據(jù)存入對應的鎖存器,如圖5所示。

 

數(shù)據(jù)的選址和鎖存在CPLD中的設計框圖

  2.3 DSP與LTC6903的接口配置

  由于LTC6903芯片本身具有SPI接口,需要在DSP的程序中設置相應的SPI寄存器。LTC6903采用上升沿接收,且接收時高位在前,所以需要DSP設置為下降沿傳輸,傳輸時高位在前。在傳輸?shù)倪^程中,在脈沖信號的下降沿數(shù)據(jù)發(fā)生變化,傳輸數(shù)據(jù);在脈沖信號的上升沿數(shù)據(jù)穩(wěn)定,便于LTC6903鎖存數(shù)據(jù),傳輸時序如圖6所示。從圖中可以看出,所要傳輸?shù)臄?shù)據(jù)是十六進制數(shù)019A,下降沿數(shù)據(jù)發(fā)生變化,上升沿數(shù)據(jù)穩(wěn)定,傳輸16位數(shù)據(jù),有16個脈沖。實驗結(jié)果表明,DSP配置是與LTC6903的SPI接口工作時序相匹配的。

SPI的數(shù)據(jù)和脈沖時序圖

  3 DSP中SPI的開發(fā)過程

  SPI端口數(shù)據(jù)傳輸?shù)奶攸c是:主設備的時鐘信號出現(xiàn)與否決定數(shù)據(jù)傳輸?shù)拈_始,一旦檢測到時鐘信號即開始傳輸,時鐘信號無效后傳輸結(jié)束。這期間,從設備使能時鐘信號的起停狀態(tài)很重要。DSP56F801的SPI端口的時鐘信號起停狀態(tài)如表1所列。在設計中設置的SPI控制寄存器的CPOL和CPLA位是“11”。SCLK空閑時為高電平,傳輸中數(shù)據(jù)變化發(fā)生在下降沿,穩(wěn)定在上升沿。從圖2可看出實現(xiàn)了與CPLD中的移位鎖存電路的匹配,傳輸正確。

SCLK時鐘的起停狀態(tài)

  SPI端口協(xié)議要求系統(tǒng)上電復位后,從機先于主機開始工作。如果從機在主機之后開始工作,就有可能丟掉部分時鐘信號,使得從機并不是從數(shù)據(jù)的第一位開始接收,造成數(shù)據(jù)流的不同步。可通過硬件延時或軟件延時的方法,來確保從機先于主機工作。本設計采用軟件延時的辦法來實現(xiàn)數(shù)據(jù)流的同步。這個延時由兩部分組成,一部分是DSP串行輸出數(shù)據(jù)的時間延時,另外一部分就是后續(xù)數(shù)字電路中的延時。延時的具體計算過程如下:數(shù)據(jù)傳輸時使用的時鐘信號是對總線時鐘的2分頻,當DSP的主頻是60 MHz時,總線時鐘頻率是30MHz,對它進行2分頻,可以計算出SCLK的周期是66.6ns(實際所測出的周期是78.2 ns)。另外通過測試得到PWM電路的延時最長時間是23.6 ns,鎖存器的最大延時是7.6 ns,移位寄存器的最大延時是3.O ns。由上述對CPLD數(shù)字電路的延時和對SCLK周期的測試,就可以得到這樣一個結(jié)論:設PWM電路的延時時間為t1、鎖存器的延時時間為t2、移位寄存器的延時時間為t3、SCLK的時鐘周期是Tc,在SPI傳輸?shù)倪^程中,整個電路的延時t可以這樣計算:

公式

  由于數(shù)字電路傳輸中存在這樣的延時,所以在寫DSP程序時,需要加入一定的延時。此實驗中加入的延時是2μs,可以實現(xiàn)可靠傳輸。

  4 實驗結(jié)果

  本設計采用全數(shù)字結(jié)構(gòu),易于用CPLD實現(xiàn)。以EPM7256為目標芯片,設計并實現(xiàn)了正確的數(shù)據(jù)傳輸。當DSP56F801輸出的十六進制參數(shù)分別為頻率字DBOE,相位字0403,A相的占空比字04CE,B相的占空比字04CD時,波形輸出如圖7、圖8所示。圖7給出了信號發(fā)生器A相輸出信號的實測波形,信號占空比調(diào)節(jié)為20%;圖8給出了A相輸出信號1和B相輸出信號l的實測波形,兩相信號相位差調(diào)節(jié)為常用的90°。該實驗結(jié)果表明,參數(shù)傳輸正確,波形輸出良好。

信號發(fā)生器A相輸出信號的實測波形

A相輸出信號1和B相輸出信號l的實測波形

  結(jié) 語

  SPI通信方式具有硬件連接簡單、使用方便等優(yōu)點,應用廣泛。采取硬件和軟件相結(jié)合的措施,可以確保SPI通信中數(shù)據(jù)流的同步,實現(xiàn)可靠通信。本文給出了DSP多SPI端口通信的設計與實現(xiàn)過程,討論了其中的關(guān)鍵技術(shù)問題。SPI多端口通信方法基于CPLD實現(xiàn),易移植,易于實現(xiàn)功能擴展,可廣泛應用于各種采用SPI通信方式的自動化裝置。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美视频不卡| 在线观看一区欧美| 噜噜爱69成人精品| 欧美在线观看视频一区二区三区 | 亚洲一区二区三区午夜| 一本色道久久综合| 99在线精品视频| 日韩小视频在线观看| 91久久精品一区二区三区| 精品成人一区二区三区| 狠狠色狠狠色综合日日91app| 国产欧美日韩| 国产精品综合网站| 国产精品一区二区你懂得| 国产精品视频免费观看| 国产精品亚洲综合色区韩国| 国产精品美女一区二区| 国产精品亚洲а∨天堂免在线| 国产精品美女久久久久av超清 | 在线观看日韩www视频免费 | 一本久久a久久精品亚洲| 日韩亚洲欧美精品| 99国产精品一区| 夜夜嗨网站十八久久| 一区二区三区欧美在线观看| 在线视频日韩精品| 亚洲一区二区三区免费在线观看| 亚洲伊人伊色伊影伊综合网| 亚洲欧美在线另类| 性欧美超级视频| 久久精品亚洲| 久久夜色精品国产欧美乱极品| 老司机67194精品线观看| 欧美成人性网| 欧美日韩高清在线观看| 国产精品v欧美精品v日韩精品| 国产精品美女一区二区| 国产一区二区三区日韩| 在线观看成人一级片| 亚洲人体影院| 亚洲天堂第二页| 欧美一区激情视频在线观看| 91久久精品久久国产性色也91| 99re6这里只有精品视频在线观看| 亚洲无人区一区| 久久精品毛片| 欧美+亚洲+精品+三区| 欧美日本中文| 国产精品中文在线| 亚洲成人在线观看视频| 99re在线精品| 欧美在线一二三| 日韩视频在线观看国产| 午夜精品久久久久| 久热国产精品| 欧美午夜电影完整版| 国产日韩欧美亚洲一区| 亚洲狠狠婷婷| 亚洲欧美日韩中文播放| 亚洲激情视频在线| 亚洲欧美日韩国产成人| 久久香蕉精品| 欧美午夜精品久久久久久久 | 中国日韩欧美久久久久久久久| 欧美一区二区性| 一区二区免费看| 久久精品国产99| 欧美日韩国产综合视频在线观看中文 | 欧美大秀在线观看| 国产精品亚洲аv天堂网| 在线观看精品一区| 亚洲综合国产| 一本到高清视频免费精品| 久久久久亚洲综合| 欧美视频第二页| 亚洲国产精品精华液网站| 午夜精品短视频| 亚洲免费观看在线观看| 久久精品在线免费观看| 欧美日韩国产成人高清视频| 国内精品一区二区| 亚洲午夜激情网站| 亚洲麻豆国产自偷在线| 久久精品国产免费观看| 欧美色中文字幕| 亚洲国产一区在线| 久久精品视频在线观看| 午夜在线成人av| 欧美精品久久一区二区| 韩国一区二区三区在线观看 | 国产欧美一区二区三区沐欲| 亚洲免费av电影| 最新国产乱人伦偷精品免费网站| 欧美一区二区日韩| 欧美日韩亚洲国产精品| 亚洲福利在线视频| 久久狠狠久久综合桃花| 午夜一区二区三区在线观看| 欧美日韩中文另类| 亚洲大片av| 亚洲国产日韩欧美在线动漫| 久久精品成人| 国产精品欧美久久| 99视频有精品| 一本久久综合亚洲鲁鲁五月天| 欧美成人免费在线| 激情av一区| 久久av红桃一区二区小说| 欧美在线观看视频在线| 国产精品国产三级国产专播精品人| 亚洲日本va午夜在线电影| 亚洲欧洲偷拍精品| 米奇777在线欧美播放| 国语自产精品视频在线看一大j8 | 亚洲激情视频在线| 久久亚洲春色中文字幕久久久| 国产性天天综合网| 亚洲综合色婷婷| 午夜精品久久久久久久99热浪潮| 欧美日韩一区高清| 亚洲美女视频| 宅男精品视频| 欧美日韩综合网| 99在线|亚洲一区二区| 亚洲性视频网址| 国产精品扒开腿做爽爽爽视频 | 欧美亚洲综合另类| 欧美在线观看天堂一区二区三区 | 久久精品国产一区二区三| 久久欧美中文字幕| 韩国免费一区| 91久久精品国产91性色tv| 欧美a级理论片| 亚洲精品美女久久久久| aⅴ色国产欧美| 欧美亚洲成人精品| 亚洲一区二区三区777| 欧美一区激情| 国产真实乱子伦精品视频| 亚洲电影一级黄| 欧美高清在线一区二区| 亚洲免费不卡| 亚洲欧美在线一区二区| 国产日产欧美a一级在线| 久久xxxx精品视频| 欧美高清hd18日本| 亚洲精品一区二区三区在线观看| 在线视频欧美日韩精品| 国产精品午夜电影| 久久国产精品99久久久久久老狼| 蜜臀av一级做a爰片久久| 亚洲精品国产精品国自产在线| 亚洲性视频h| 国产亚洲成av人在线观看导航| 久久精品动漫| 欧美激情亚洲| 亚洲一区二区在线| 久久精品国产99精品国产亚洲性色| 在线观看亚洲精品视频| 在线一区视频| 国产视频在线观看一区二区三区| 亚洲国产精品一区二区第四页av| 欧美日本韩国| 亚洲欧美区自拍先锋| 免费不卡视频| 一区二区三区四区在线| 久久视频在线视频| 亚洲精品久久久久久久久久久| 西瓜成人精品人成网站| 精品9999| 亚洲免费视频一区二区| 黄网动漫久久久| 亚洲桃色在线一区| 国产自产v一区二区三区c| 日韩亚洲视频| 国产日韩欧美夫妻视频在线观看| 亚洲欧洲一区二区三区久久| 国产精品日日摸夜夜添夜夜av| 亚洲福利视频在线| 欧美午夜片欧美片在线观看| 亚洲成在线观看| 欧美日韩直播| 亚洲国产免费| 国产精品色网| 日韩网站在线观看| 国产婷婷一区二区| 一区二区欧美在线观看| 国产中文一区二区| 亚洲欧美日韩天堂| 亚洲激情网站| 久久久久久电影| 亚洲午夜av| 欧美精品免费观看二区| 欧美影院成人| 国产精品九九| 夜色激情一区二区| 伊人激情综合| 欧美专区福利在线| 亚洲视频你懂的| 欧美精品一二三|