日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Keil虚拟仿真逻辑仪及SaleaeLogic16抓取波形进行协议分析

發布時間:2024/3/26 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Keil虚拟仿真逻辑仪及SaleaeLogic16抓取波形进行协议分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Keil虛擬仿真邏輯儀及SaleaeLogic16進行波形分析

  • 一、Keil虛擬仿真
    • 1、端口參數設置
    • 2、觀察結果并分析
  • 二、SaleaeLogic16邏輯儀抓取與分析
    • 1、Logic的安裝
    • 2、邏輯分析儀連線
    • 2、邏輯分析儀采集設置
    • 3、結果顯示與分析
  • 三、實驗總結
  • 四、參考文獻

一、Keil虛擬仿真

連接上個工程,對與上個工程的串口通信、LED電平分析

1、端口參數設置

(1)仿真運行的設置在上篇博客中已經修改過了
(2)仿真邏輯儀端口參數設置
①、點擊Debug運行調試后選擇邏輯分析儀

②、參數設置
點擊Setup添加自己需要觀察的端口

添加自己的觀察端口設置:GPIOX_ODR.XXX為A~C,XX為0-15 ODR為輸出,IDR為輸入。
③、點擊Run全速運行

2、觀察結果并分析

(1)仿真結果

其展開效果圖:

包含起始位“0”、數據位、校驗位“1”、終止位“1”、空閑位.
其具體分析,其參考博客:
串口串行總線協議
(2)結果分析
第一個為串口,根據工程設置得時延周期為2s;

OSTimeDlyHMSM(0, 0, 2, 0,OS_OPT_TIME_HMSM_STRICT,&err);

第二個為PB8,代碼設置的周期為1sLED進行點亮—熄滅,低電平亮。

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);OSTimeDlyHMSM(0, 0, 1, 0,OS_OPT_TIME_HMSM_STRICT,&err); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);OSTimeDlyHMSM(0, 0, 1, 0,OS_OPT_TIME_HMSM_STRICT,&err);

第三個為PA5,代碼設置的周期為3sLED進行點亮—熄滅,低電平亮。

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);OSTimeDlyHMSM(0, 0, 3, 0,OS_OPT_TIME_HMSM_STRICT,&err);HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);OSTimeDlyHMSM(0, 0, 3, 0,OS_OPT_TIME_HMSM_STRICT,&err);

所以代碼設置與仿真結果幾乎一致。

二、SaleaeLogic16邏輯儀抓取與分析

1、Logic的安裝

網盤:SALEAELOGIC16安裝包
提取碼:luha
安裝包提供了SaleaeLogic16邏輯儀的多個版本,可以下去與自己電腦匹配的,并且含有詳細的使用教程。下載過程也非常簡單 一路next!

2、邏輯分析儀連線

LED(PB8) ——>CH0
LED(PA5)——>CH1
USART1(PA9)——>CH2
GND——>GND

2、邏輯分析儀采集設置

(1)選擇模式通道
默認的是8通道,我們可以設置為16通道的

(2)采樣速率設置

Saleae Logic采用了動態復用的數據處理技術,采樣率乘以采樣通道數是占用的 USB 總帶寬,對于不需要采集的通道可以屏蔽掉,這樣還能提高采樣頻率。可以選擇不同的采樣速率,在設置了不同通道之后,最高的采樣率也對應變化。
(3)選擇信號觀察
點擊右方Analyzers它包括了多種協議,比如:I2C、SPI


循環添加三個
(4)點擊Start Simulation進行抓取通道波形

3、結果顯示與分析


點擊Analyzers serial給每一個通道修改相應的名字以便于觀察
右下角顯示串口發送數據,有些字符出現錯誤。

(1)LED(PB8)波形分析
CH0通道,代碼設置的是在1s周期內0.5s閃爍0.5s熄滅

實際周期與設置周期幾乎一致,電壓波形也一致。
CH1通道,代碼設置的是在3s周期內0.5s閃爍2.5s熄滅

0.5s低電平亮,2.5s高電平熄滅。實際周期與設置周期幾乎一致,電壓波形幅度一致。
(2)串口(USART1)波形分析
2s一個周期進行發送一次串口通信。實際周期與設置周期幾乎一致。
串口通信協議的具體波形分析:
UART 使用的是異步串行通信。異步通信以一個字符為傳輸單位,通信中兩個字符間的時間間隔多少是不固定的,然而在同一個字符中的兩個相鄰位間的時間間隔是固定的。
串口通信協議數據傳送時,每一個字符為 10 位(1 個起始位,7 個數據位,1 個校驗位,1 個結束位)具體傳輸格式:

起始位—先發出一個邏輯“ 0 ”信號,表示傳輸字符的開始; 數據位—可以是 5~8 位邏輯“ 0 ”或“ 1 ”;
校驗位—數據位加上這一位后,使得“ 1 ”的位數應為偶數(偶校驗)或奇數(奇校驗);
停止位—它是一個字符數據的結束標志。可以是 1位、1.5 位、2 位的高電平;
空閑位—處于邏輯“ 1 ”狀態,表示當前線路上沒有資料傳送。
從邏輯分析儀的波形可以看到,每一個字符為10 位,有一個邏輯“ 0 ”的起始位,7 位數據位,1 為奇偶校驗位,1 位高電平停止位,1 為處于邏輯“ 1”的空閑位。其中的數據位:1101000 即十六進制數 0x68。

三、實驗總結

本次實驗就是簡單使用keil仿真邏輯儀與真實的SaleaeLogic16邏輯儀器進行抓取波形然后觀察波形進行分析,這樣可以檢測你的代碼是否有錯,邏輯分析有助于我們去檢測工程結果并且在邏輯儀器中的串口協議類型有多種,我們可以學習每種串口協議解析,明白它的工作過程。本次實驗還算成功,每個波形的實際觀測、仿真觀測與代碼幾乎一致,有點瑕疵的是在邏輯儀器觀測時有些地方出現誤碼情況。

四、參考文獻

【1】https://blog.csdn.net/m0_58892312/article/details/121627183?spm=1001.2014.3001.5501
【2】串口通信
【3】串口總線串行協議

總結

以上是生活随笔為你收集整理的Keil虚拟仿真逻辑仪及SaleaeLogic16抓取波形进行协议分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。