學習感悟
——八月第二周
第一天學習通過串口發送圖片數據,存儲到 ram里邊,然后用 vga在電腦上顯示出來,其實做起來不是很困難,但是由于自己的大意不認真,導致最后結果沒出來,卻浪費了三個小時去找錯誤,我覺得不值。這本是不應該犯的錯誤,所以以此為警戒,在以后的學習過程中不能投機取巧,還有就是里邊的位置一定要把握好,尤其是數據附近,
只要錯一點就會出現錯誤。結構圖如下:
0.jpg (35.72 KB, 下載次數: 73)
下載附件
2020-7-28 23:16 上傳
第二天學習了 IIC協議,就是一種串行的通信協議。利用片外存儲器EEPROM,它是一個可讀可寫的存儲器。靠的是嚴緊的時序來完成
這個協議的,錯一個周期就會出現問題。在這里鍛煉了時序的掌控技巧,由于 IIC 總線協議啟動和停止信號都是在 SCL 高電平期間發生跳變,這就決 定了我們其他數據的改變只能發生在 SCL 低電平期間,在 SCL 為高電平期間,數 據必須保持穩定。即在 SCL 低電平改變數據,在 SCL 高電平采集數據。畫時鐘分析還有點問題,單個的發送還差不多,以后得多練習。
第三天學習了從 EEPROM 中讀數據,然后和昨天的連接起來,練習了一下 IIC 協議的寫法,熟悉了它的流程,接下來打算把按鍵加上去,進行控制EEPROM的邊寫邊讀。還學習了怎么去驗證,學了三種方法,一種是屏蔽 ACK 應答信號,一種是加一個廠家寫的仿真程序,進行模擬,最后一種就是用 signalTap 對數據進行采集然后看波形,這里邊需要注意的是采樣的時鐘頻率。
下來學習了添加按鍵來控制 EEPROM 的寫和讀,按鍵需要經過消抖,否則在signaltap中仿真時會接收不到應答信號,加按鍵需要注意位置,并且不能產生多余的時鐘周期,要不然就會影響結果。最后將數碼管顯示模塊也加上去了,通過按鍵讓寫入的數據在數碼管上顯示出來,直接在 iic 協議模塊輸出一個數據變量就能完成。用 modelsim仿真需要注意時間,寫完之后要等一段時間,否則后邊讀操作就完成不了,而在signaltap中仿真就會方便一點,直接在 quartus II中全編譯然后下板,設置采樣時鐘和觸發條件后進行采集數據,最后將數據用波形顯示出來,以此來驗證 EEPROM的讀寫是否成功,查看按鍵能否改變波形,順帶練習一下 signaltap工具的使用。 最后學習了 EEPROM 的頁寫與頁讀,通過前邊幾天的學習已經初步掌握了 iic 協議的基礎,對 EEPROM 的存儲原理也明白了,然后對
頁寫與頁讀進行練習,進一步去掌握iic協議。 在本周主要學習了 EEPROM 存儲器,前倆天完全處于迷糊狀態,
到后來才勉強理解了那么一點,還需要常練習,然后慢慢的去深入了解一下, 難點是對時序的要求很高, 稍微錯一點就會出現錯誤的結果,所以對時序的把握很有幫助。
|