晶元與軟體的介面

2021-04-25 14:32:00 字數 889 閱讀 8860

做過一段時間晶元驗證,之後從事研發,大大小小的坑踩了,寬寬窄窄的溝過了,之後留下了一點點回味與悵然,於是寫下來,同大家一起分享。

回想前些年做驗證時的生活,痛並快樂著。痛在對每個暫存器功能的除錯與bug定位,樂在與軟體最底層的親密接觸。

晶元驗證,簡單的說就是使用僅限的幾個暫存器完成固定的功能,並通過訊號波型和協議執行結果對晶元功能的正確性進行判斷,並對晶元內部邏輯中出現的問題進行快速定位。表面上看去是一件十分枯燥無味的事情,因為缺少了創意,任何一件事情都可能會讓人失去激情。但事實上,每件事情都可以做深做精,只要理解它存在的意義,工作中就不會感到迷茫,創意隨手可得。

晶元驗證在晶元設計過程中扮演著乙個重要的角色。看上去很像測試,其實同一般的測試有很大的不同。晶元驗證的成果是面向研發的。換句話說,任何乙個方案,都是在驗證人員所做的工作基礎之上展開的。研發需要的datasheet、demo**、基本開發環境的搭建說明,幾乎全部從晶元驗證人員手中產生。datasheet文件的清晰度、晶元暫存器使用起來的方便程度、晶元執行時的穩定性,無一不牽扯到驗證人員的整日辛勤工作。

本著守正出奇的原則,晶元驗證人員首先會做好自身的本職工作。驗證人員會為晶元各個功能點的實現進行確認工作,保證晶元的每乙個功能都可以正常的執行,並且穩定的互相組合。再進一步,驗證人員會合理的向晶元設計人員提交暫存器的功能配置列表,以使軟體開發過程中的暫存器操作過程更加的人性化,合理化。

對於研發人員來講,當只關心晶元的邏輯功能時,可以簡單的將晶元設計當成一種軟體設計。就像一般的軟體設計協作方式一樣,底層的模組會通過函式介面的形式提供給上層呼叫。在這個介面在晶元中,其表現形式就是暫存器。通過對相關暫存器的讀寫,就可以呼叫底層硬體模組的功能。而datasheet中的暫存器列表,也就像是軟體架夠設計中的介面部分一樣,其好壞可以直接影響到後期**編寫的質量。

先簡單的回味一下,要去吃飯,哈...回頭再改

USB介面晶元的選擇

在進行乙個usb裝置開發之前,首先要根據具體使用要求選擇合適的usb控制器。目前,市場上 的usb控制器主要有兩種 帶usb介面 ft232bl 的微控制器 mcu 或純粹的usb介面晶元。帶usb介面的微控制器從應用上又可以分成兩類,一類是從底層設計專用於usb控制的微控制器另一類是增加了usb介...

並行介面8255晶元

2.5 8255a的工作方式 8255a有3種工作方式 方式0,方式l和方式2。a埠 3種方式中的任一種 b埠 方式0和方式1 c瑞口 通常作為控制訊號使用,配合a埠和b埠的工作。1.方式0 基本的輸入輸出方式 方式0的基本定義如下 2個8位的埠和2個4位的埠。都可以作為輸入或輸出。輸出可以被鎖存。...

lkt晶元介面除錯建議 iic介面

本文主要介紹使用stm32晶元 io模擬方式除錯iic介面lkt加密晶元時需要注意的問題點。可能有人會說我之前操作過 x iic介面的晶元,iic介面沒什麼好介紹的。其實不然如果io模擬的iic程式寫的不好,有可能造成程式對個別晶元相容性不好的問題,或者稍微調整通訊速度後通訊就變的不穩定等現象出現。...