RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式里有關時序波形的測量有哪些需要注意的地方

汽車電子技術 ? 來源: 嵌入式之入坑筆記 ? 作者:嵌入式入坑筆記 ? 2023-02-10 10:49 ? 次閱讀

嵌入式產(chǎn)品的開發(fā)中少不了各種外圍設備的搭配使用。嵌入式開發(fā)中需要做到將加入系統(tǒng)的外設連接起來,并能夠完成所需要的功能開發(fā)。

在眾多的設備中,MCU與外設進行通信都是按照一定的協(xié)議進行的,都涉及到時序,只有按照約定好的協(xié)議才能進行通信。



比如,常見的 1-Write單總線、IIC總線、SMBus總線、SPI總線等等的協(xié)議,都是需要在約定的通信協(xié)議下才能完成通信。而通信協(xié)議的實現(xiàn)反饋到MCU的時候,就只是一種IO口電平的變化輸出,以及外設傳送數(shù)據(jù)到MCU也是一種電平的變化或者是電平的時間寬度變化。



筆者在項目開發(fā)中就遇到過和外設通信中需要測量波形的變化確認數(shù)據(jù)狀態(tài)的情況,遇到過一些小問題,隨即記錄下來分享一下調(diào)試心得,也做一個備忘。



情況是這樣,項目開發(fā)中,有一個外設需要加入到系統(tǒng)中,這個外設是由生產(chǎn)廠商規(guī)定好了通信協(xié)議的,收發(fā)數(shù)據(jù)都要按照協(xié)議的規(guī)定進行,MCU接收數(shù)據(jù)的規(guī)定如下:

圖片

在通信總線上的低電平期間,有20mA的電流變化時外設回復數(shù)據(jù)“1”,沒有電流變化為數(shù)據(jù)“0”。



    電流的變化通過硬件電路轉(zhuǎn)換成電壓的變化,MCU通過AD檢測進行判斷,從而得知數(shù)據(jù)的變化狀態(tài)。按照我們思路,MUC在低電平期間檢測到電流的變化啟動AD檢測,根據(jù)AD值確認數(shù)據(jù)狀態(tài)。如下圖示:

圖片

偽代碼示意如下:
while( !GPIO_Check_Pin )  // 通過電平變化確定電流變化
{
    uint_32 adValue = 0;
    if( GPIO_Check_Pin )
    {
        adValue = getAdValue();  // 讀取AD值
        if(adValue > x)
            xxx;
    }
}
一般到這里認為應該也就算是完成了,可是在實際測試中發(fā)現(xiàn),獲取得到的AD值跟電路上實際的電壓是有很多的出入的,測量總是不準確。



    苦思冥想,多次測量之后發(fā)現(xiàn),原來跟時序的變化有關。原因到底什么呢?



原來,正常的想法都是波形變化之后進行測量,而沒有考慮過波形的變化在不同的處理器上差異,以及硬件本身的延遲,往往不會立即就能發(fā)生翻轉(zhuǎn)的,有一個變化的過程的。



    比如,理想的時序波形變化是這樣的:

圖片

然而,實際的時序波形變化是這樣的:

圖片

所以,在波形發(fā)生變化的時候就進行測量,很多時候往往得不到正確的結(jié)果,可以測量的電位點都不對,測量發(fā)生在了電平變化的期間。

圖片

所以,要準確測量,合適的方法是等待一段時間,電平變化穩(wěn)定之后再進行測量,結(jié)果就更加證實準確。如下:

圖片

所以,偽代碼示意如下:
while( !GPIO_Check_Pin )  // 通過電平變化確定電流變化
{
    uint_32 adValue = 0;
    if( GPIO_Check_Pin )
    {
        delay();
        adValue = getAdValue();  // 讀取AD值
        if(adValue > x)
            xxx;
    }
}
很多的嵌入式系統(tǒng)中,考慮到成本、工藝、實用性等的因素,很多的處理器都不會實用很強大的MCU,主頻可能都比較低,性能有限,很多的外設反應速度可能也不及MCU,所以延時等待在很多時候都很有必要。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19104

    瀏覽量

    304794
  • 外設
    +關注

    關注

    0

    文章

    40

    瀏覽量

    11691
  • 系統(tǒng)
    +關注

    關注

    1

    文章

    1014

    瀏覽量

    21332
收藏 人收藏

    評論

    相關推薦

    嵌入式系統(tǒng)電源設計中需要注意哪些事項?

    嵌入式系統(tǒng)電源設計中需要注意哪些事項?遵循哪些原則?
    發(fā)表于 08-01 06:58

    嵌入式NVM在應用中要注意什么?

    工藝兼容、功耗及成本控制等新的問題。為此,本文以一款電力網(wǎng)控制芯片R36的物理設計為例,討論了嵌入式NVM在實際應用中需要注意的問題,并給出了解決方案。
    發(fā)表于 11-04 06:55

    嵌入式硬件設計時需要注意哪些事項?

    嵌入式設計是個龐大的工程,今天就說說硬件電路設計方面的幾個注意事項,首先,咱們了解下嵌入式的硬件構(gòu)架。
    發(fā)表于 03-09 08:36

    設計嵌入式硬件時需要注意哪些問題?

    嵌入式開發(fā)項目中,首先需要做需求分析,然后根據(jù)需求分析進行綜合考慮,這里給出幾個嵌入式硬件設計時特別要注意的問題。
    發(fā)表于 03-11 07:21

    嵌入式系統(tǒng)設計時需要注意的技術要點和實現(xiàn)細節(jié)哪些?

    為什么需要safe mode?嵌入式系統(tǒng)設計時需要注意的技術要點和實現(xiàn)細節(jié)哪些?
    發(fā)表于 04-25 08:49

    嵌入式軟件安全設計理念是什么?什么注意事項?

    嵌入式軟件安全設計理念是什么?嵌入式軟件設計需要注意什么問題?
    發(fā)表于 04-27 06:51

    部署光纖什么需要注意地方?

    部署光纖什么需要注意地方?如何去選購光纖?
    發(fā)表于 05-28 07:19

    嵌入式系統(tǒng)工程化設計要注意哪些方面

    計算機設計,提高可靠性那些方面工程化要求?設計要注意那些方面?下面按照兩個方面來介紹,一,把嵌入式計算機簡化到最簡化模型,看看需要注意那些方面。二,面對
    發(fā)表于 11-08 06:51

    PCB工程師需要注意地方

    PCB工程師需要注意地方:PCB工程師需要注意地方較多的PCB工程師,他們經(jīng)常畫電腦主板,對Allegro等優(yōu)秀的工具非常的熟練,但是,非??上У氖?他們居然很少知道如何進行阻抗
    發(fā)表于 09-13 10:45 ?0次下載

    PCB工程師需要注意地方

    PCB工程師需要注意地方   較多的PCB工程師,他們經(jīng)常畫電腦主板,對Allegro
    發(fā)表于 04-16 22:14 ?1597次閱讀

    PCB工程師需要注意地方

    PCB工程師需要注意地方,在PDF中有很多值得關注的地方
    發(fā)表于 11-20 16:21 ?0次下載

    設計嵌入式系統(tǒng)硬件電路時需要考慮哪些問題

    設計以MCU為核心的嵌入式系統(tǒng)硬件電路需要根據(jù)需求分析進行綜合考慮,需要考慮的問題較多,這里給出幾個特別要注意的問題。
    的頭像 發(fā)表于 02-13 16:32 ?3981次閱讀

    嵌入式硬件設計中需要注意的事項

    我們知道,CPU是這個系統(tǒng)的靈魂,所有的外圍配置都與其相關聯(lián),這也突出了嵌入式設計的一個特點硬件可剪裁。在做嵌入式硬件設計中,以下幾點需要關注。
    發(fā)表于 06-19 11:30 ?888次閱讀

    嵌入式設計需要注意什么問題

    這些嵌入式系統(tǒng)必須長期使用相同的電源供電,才能降低反復出現(xiàn)的維護成本或避免最終用戶頻繁更換電源。
    發(fā)表于 10-23 15:56 ?869次閱讀
    <b class='flag-5'>嵌入式</b>設計<b class='flag-5'>需要注意</b>什么問題

    嵌入式有關時序波形測量需要注意地方

    嵌入式產(chǎn)品的開發(fā)中少不了各種外圍設備的搭配使用。嵌入式開發(fā)中需要做到將加入系統(tǒng)的外設連接起來,并能夠完成所需要的功能開發(fā)。
    發(fā)表于 05-20 15:41 ?827次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>里</b><b class='flag-5'>有關</b><b class='flag-5'>時序</b><b class='flag-5'>波形</b>的<b class='flag-5'>測量</b><b class='flag-5'>需要注意</b>的<b class='flag-5'>地方</b>
    RM新时代网站-首页