①寫資料時,應該先準備好資料,待資料在資料線上穩定後,
再發出時鐘上公升沿,將資料寫入,然後可繼續寫下一位資料。
②讀資料時,先產生乙個時鐘下降沿,裝置收到該下降沿后,才
將資料放到資料線上。因此,mcu應該要等待一定的時間,
等資料線上的資料出現並穩定後,才能取樣資料線上的資料。
·分析一下到底是上公升沿還是下降沿讀寫資料
在看晶元pdf文件的時候總是容易被迷糊,總結一下,通過看時序圖了解到底是上公升沿還是下降沿讀寫資料!
首先必須明白的幾個術語:
1. read和write:read和write均是指mcu的讀和寫。
2. output和input:在晶元官方文件中大多會有input和ouput介紹,顯然是指器件的輸入和輸出。這裡和上面的read與write相對應。對應關係是:
這是很顯然的對應關係,但是很不幸,由於沒有經過思考,一直以來我均誤以為
輸入=讀,輸出=寫。這是完全沒有考慮到物件的因素,輸入(指器件的輸入)<==>寫(mcu
的寫操作),輸出(指器件的輸出)<==>讀(mcu
的讀操作)。
在晶元的pdf資料中,所給出的時序操作圖一般都是mcu來操作晶元的時序。
1) 所謂讀即是指mcu從器件的資料匯流排上根據一定的時序來讀取器件的資料。一般而言,mcu提供乙個邊沿訊號(上公升沿或者下降沿均可)告訴器件可以發資料了,器件檢測到邊沿訊號以後,立即在資料匯流排上更新資料,待資料穩定以後,mcu即可讀取資料。所以一般所說的上公升沿(下降沿)開始讀資料是不準確地說法,上公升沿(下降沿)這是資料匯流排上的資料發生改變,mcu並沒有在此時刻讀取資料,而是等待資料穩定之後才開始讀取資料。
以ds1302的單位元組讀時序為例說明,要讀取ds1302資料,先必須寫1byte資料到ds1302,即是指(r/w,a0~a4,r/c,1這8位資料),然後再讀。所以我們應該看後半部分來解讀資料的read操作。
顯然在時鐘訊號的下降沿資料匯流排上的資料發生改變,等待資料穩定之後,mcu將讀取該資料d0,接著mcu產生下乙個下降沿,器件檢測到下降沿訊號立即更新資料d1,等待資料穩定之後被mcu讀取。後面相同。
2)所謂寫即是指mcu向器件寫入資料,其操作是:先將資料放置在資料匯流排上,等待其穩定之後,mcu產生乙個邊沿訊號,將資料寫入器件。
以ds1302的單位元組寫時序為例說明,要向ds1302寫資料,,先必須寫1byte資料到ds1302,即是指(r/w,a0~a4,r/c,1這8位資料),然後再寫。所以上圖的16個脈衝下的操作均是寫操作,可以從第一位(r/w)分析起,當然也可以向讀操作一樣,只分析後半部分的操作。
寫操作必須先將資料準備在資料匯流排上,等待資料穩定之後,mcu產生乙個邊沿訊號,寫入資料到器件。從圖中可以看出,在起始狀態,資料匯流排上準備資料,穩定後遇到上公升沿mcu將資料寫入到器件。寫完之後,資料匯流排上出現第二位資料a0,等待其穩定之後,mcu產生乙個上公升沿將a0寫入器件。
ok,總結完畢,可以簡單理解為「
寫穩讀變
」。mcu在資料匯流排上的資料穩定之後,檢測邊沿訊號寫資料到器件;mcu發出邊沿訊號告訴器件傳送資料,檢測到邊沿訊號之後,器件改變(更新)資料,等待穩定之後mcu讀取資料。
對照上面的時序圖寫驅動函式:
上公升沿 上公升沿 下降沿!
廣播科技 數位電路中,把電壓的高低用邏輯電平來表示。邏輯電平包括高電平和低電平這兩種。不同的元器件形成的數位電路,電壓對應的邏輯電平也不同。在ttl閘電路中,把大於3.5伏的電壓規定為邏輯高電平,用數字1表示 把電壓小於0.3伏的電壓規定為邏輯低電平,用數字0表示。數字電平從0變為1 的那一瞬間叫作...
上公升沿 PLC中上公升沿和下降沿的工作原理
plc程式設計中經常用到上公升沿和下降沿,大家知道它們的工作原理嗎,今天工野就給大家介紹一下上公升沿和下降沿是如何產生的,讓大家知其然更知其所以然,這樣大家在使用上公升沿和下降沿時會更得心應手。我們以西門子s7 300 400plc為例,在使用上公升沿時會有這樣的配置。為什麼在使用i0.0的上公升沿...
如何捕捉訊號的上公升沿下降沿
思路 設計兩個或多個一位的暫存器,用來接收被檢測的訊號,系統時鐘來一次記一次輸入訊號,如果用了兩個暫存器直接異或就可以了 使用高頻的時鐘對訊號進行取樣,因此要實現上公升沿檢測,時鐘頻率至少要在訊號最高頻率的2倍以上,否則就可能出現漏檢測。具體請參見下面 module edge detect clk,...