1樓:匿名使用者
dsp首先和stm32都要用3.3v的電源來供電,dsp還有自己的核心電壓來供電。然後確定stm32為整個系統的主cpu,作為spi的主裝置,dsp作為從裝置。
spi三根線連線好就可以實現stm32與dsp的spi通訊,注意stm32的spi設定與dsp的spi設定的通訊格式和clk要相同,通訊速率也要一致才能通訊
請教stm32f103與dsp採用spi通訊的問題! 50
2樓:
首先nss配置為硬體的話,相應引腳的gpio應配置為第二功能;
其次確認spi外設的時鐘和使能設定;
還有主從機的配置;
如果stm32是主機,當需要讀取從機資料的時候,必須有主機發起,由主機來提供匯流排時鐘。
如果要發資料,發出資料後返回值不關心,但還是要讀取以清空暫存器;
如果要收資料,不關心發出什麼資料,可以發0x00或0xff;
還取決於從機的控制協議;
比如從機受到0x55後會返回2個位元組資料;用下面的函式
ltd0=spi1_sr_byte(0x55) ; // 傳送指令,不關心收什麼
ltd1=spi1_sr_byte(0x00) ; // 接收資料,不關心發什麼
ltd2=spi1_sr_byte(0x00) ; // 接收資料,不關心發什麼
下面是個例程
unsigned char spi1_sr_byte(unsigned char ltd) // ltd是要傳送的資料
3樓:連郎雪沛雯
dsp首先和stm32都要用3.3v的電源來供電,dsp還有自己的核心電壓來供電。然後確定stm32為整個系統的主cpu,作為spi的主裝置,dsp作為從裝置。
spi三根線連線好就可以實現stm32與dsp的spi通訊,注意stm32的spi設定與dsp的spi設定的通訊格式和clk要相同,通訊速率也要一致才能通訊
請教stm32的spi通訊中的crc校驗問題 spi
4樓:蘑菇飯資訊
crc校驗僅用於保證全雙工通訊的可靠性。資料傳送和資料接收分別使用單獨的crc計算器。
通過對每一個接收位進行可程式設計的多項式運算來計算crc。crc的計算是在由spi_cr1暫存器
中cpha和cpol位定義的取樣時鐘邊沿進行的。
注意: 該spi介面提供了兩種crc計算方法,取決於所選的傳送和/或接收的資料幀格式:8位資料幀採
用cr8;16位資料幀取樣crc16-ccitt。
crc計算是通過設定spi_cr1暫存器中的crcen位啟用的。設定crcen位時同時復位crc寄
存器(spi_rxcrcr和spi_txcrcr)。當設定了spi_cr1的crcnext位,spi_txcrcr的內
容將在當前位元組傳送之後發出。
注意: 在傳輸spi_txcrcr的內容時,如果在移位暫存器中收到的數值與spi_rxcrcr的內容不匹
配,則spi_sr暫存器的crcerr標誌位被置1。如果在tx緩衝器中還有資料,crc的數值僅在
資料位元組傳輸結束後傳送。在傳輸crc期間,crc計算器關閉,暫存器的數值保持不變。
注意: 請參考產品說明書,以確認有此功能(不是所有型號都有此功能)。
spi通訊可以通過以下步驟使用crc:
● 設定cpol、cpha、lsbfirst、br、ssm、ssi和mstr的值;
● 在spi_crcpr暫存器輸入多項式;
● 通過設定spi_cr1暫存器crcen位使能crc計算,該操作也會清除暫存器spi_rxcrcr
和spi_txcrc;
● 設定spi_cr1暫存器的spe位啟動spi功能;
● 啟動通訊並且維持通訊,直到只剩最後一個位元組或者半字;
● 當把最後一個位元組或半字寫進傳送緩衝器,設定spi_cr1的crcnext位,指示硬體在最後
一個資料位元組傳送完成後,傳送crc。在傳送crc期間,crc計算停止;
● 當最後一個位元組或半字被髮送後,spi傳送crc,crcnext位被清除。同樣,接收到的
crc和spi_rxcrcr值進行比較,如果比較不相配,spi_sr上的crcerr標誌被置位,
當設定了spi_cr2暫存器的errie時,則產生中斷。
注意: 當spi時脈頻率較高時,使用者在傳送crc時必須小心。因為在crc傳輸期間,使用cpu的時間
應儘可能少。為了避免在接收最後的資料和crc時出錯,在傳送crc過程中應禁止函式呼叫。
當spi時脈頻率較高時,建議採用dma模式以避免spi速度效能的降低。
當stm32f10***配置為從模式並且使用了nss硬體模式,nss管腳應該在資料傳輸和crc傳輸
期間保持為低。
stm32f103 spi速度可以多少
5樓:匿名使用者
是硬體的還是模擬的?
6樓:匿名使用者
spi1 36m
spi2,3 18m
請教stm32的 spi 同時中斷收發問題 5
7樓:
因為spi2傳送的資料需要在中斷前放進dr。而你在中斷中把資料放進dr,那麼這個資料在下次中斷才會傳送出去。
stm32與dsp有什麼區別?
8樓:百里楹
1,dsp要貴些,dsp是為運算而生的晶片。
2,stm32 晶片可以前後呼應,作為學習,用stm32來入門最好。
stm32 :
1,stm32是基於arm® cortex® m 處理器核心的 32位快閃記憶體微控制器,為mcu使用者開闢了一個全新的自由開發空間,並提供了各種易於上手的軟硬體輔助工具。
2,stm32 mcu融高效能、實時性、數字訊號處理、低功耗、低電壓於一身,同時保持高整合度和開發簡易的特點。
3,業內最強大的產品陣容,基於工業標準的處理器,大量的軟硬體開發工具,讓stm32微控制器成為各類中小專案和完整平臺解決方案的理想選擇。按核心架構分為不同產品系列。
dsp:
1,數字訊號處理,英文:digital signal processing,縮寫為dsp,是面向電子資訊學科的專業基礎課。
2,它的基本概念、基本分析方法已經滲透到了資訊與通訊工程,電路與系統,積體電路工程,生物醫學工程,物理電子學,導航、制導與控制,電磁場與微波技術,水聲工程,電氣工程,動力工程,航空工程,環境工程等領域。
3,數字訊號處理問題無處不在,資訊科學已滲透到所有現代自然科學和社會科學領域。
4,熟練地掌握所講述的基本概念、基本理論和基本分析方法,並利用這些經典理論分析、解釋和計算訊號、系統及其相互之間約束關係的問題。
9樓:匿名使用者
dsp比stm32高階,處理速度也快,兩個不是一個級別的。dsp要難學的多,要自己分記憶體,寫cmd檔案等等。stm32容易入門
10樓:匿名使用者
2812運算效能比stm32f103強。
11樓:憤怒的土地
1.stm32f103效能特點 :arm cortex-m3核心的32位微控制器 72mhz cpu;多達20k位元組sram ;2x12位adc 溫度感測 ;pwm;定時器; can ;usb
2. dsp2812 即 tms320f2812數字訊號處理器是ti公司最新推出的32位定點dsp;
4k 16 boot rom,18k 16 ram,
128k 16 flash;12位adc核心3.兩者價錢不一樣,2812要貴些,晶片的引腳多,那功能也多。數值處理能力強,例如諧波處理,就要利用傅立葉變換,一般的微控制器就無法滿足實時性。
2812有150m,很快的。
其實,不管你學哪個,只要學好,都有用的。
12樓:匿名使用者
一個是數字處理,你個偏向控制
13樓:匿名使用者
stm32其實不是特別高階的,它算是微控制器的升級版,主要用在手機上,dsp2812屬於工控晶片,看你想往哪個方向發展咯