FPGA與STM32 模擬32位SPI通訊(二)

2021-09-25 07:33:17 字數 577 閱讀 2222

1)下午又繼續實驗,發現fpga不輸出資料了,但是sck訊號還有,情況比上午還糟,用signaltap**了一陣也沒有結果,後來發現是杜邦線松了。。。教訓是以後接線時鬆的線務必不要將就,尤其是在接比較密集的杜邦線,線鬆動了會很難排查,熟悉了signaltap的**,但仿不出全部的32個sck訊號,取樣率設到64k也不可以,留待解決

2)接好線後繼續弄,發現fpga的輸出的電平幅度很小,原因是示波器本身與探頭的x1與x10不匹配,不會改示波器設定,故換了乙個探頭,結果正常,測得fpga輸出高電平約為3v,但微控制器仍讀不到高電平,核心**為miso,巨集定義為gpio_readinputdatabit(gpioa, gpio_pin_7);**沒有問題,發現是微控制器本身的問題,原理圖如下:

引腳的電阻使得3v的電平輸入到晶元時電平衰減,故測不到,直接將訊號接到微控制器晶元引腳上,問題解決。

本次的未解之謎:

signaltap**

示波器x1,x10檔設定

電阻對3v電平真的會衰減到微控制器無法識別的程度嗎?

STM32 位帶應用

from cortex m3 支援了位操作後,可以使用普通的載入 儲存指令來對單一的位元進行讀寫。在 cm3 支援的位帶中,有兩個區中實現了位帶。其中乙個是 sram區的最低 1mb 範圍,0x20000000 0x200fffff sram 區中的最低 1mb 第二個則是片內外設區的最低 1mb範...

stm32的位操作

位繫結的區域 sram區 0x2000 0000 0x200f ffff 1mstm32的位帶操作簡單的說就是把乙個位址a的8個位,分別單獨的重新定義8個位址,操作乙個位址等同於操作乙個位,形象的理解即為取別名。sram 0x22000000 a 0x20000000 8 n 4 這裡的8表示8個位...

stm32軟體模擬iic

iic inter integrated circuit 匯流排是一種由philips公司在80年代開發的兩線式序列匯流排,用於連線微控制器及其外圍裝置。它是半雙工通訊方式。iic匯流排最主要的優點是其簡單性和有效性。由於介面直接在元件之上,因此iic匯流排占用的空間非常小,減少了電路板的空間和晶元...