999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向USB PD3.0協議的新型BMC解碼電路設計

2021-01-11 09:12:12方侃飛藺智挺趙建中畢立強
計算機工程與應用 2021年1期
關鍵詞:信號檢測

方侃飛,藺智挺,趙建中,李 智,畢立強

1.安徽大學 電子信息工程學院,合肥230601

2.中國科學院微電子研究所 智能感知中心,北京100029

隨著智能手機的快速發展,目前主流的快速充電協議有華為SCP、Qualcomm QC、Samsung AFC、OPPO VOOC、USB BC1.2[1-2]。為了統一快速充電技術規范,USB-IF 協會定義了USB PD3.0 協議[3-4],此規范不但解決了設備與充電器從一對一變成多對一的問題,而且降低了消費者的消費成本。目前,各大芯片廠商越來越重視USBPD 快速充電芯片的設計,紛紛投入基于USB PD 協議的研究,目的是為了盡快地搶奪快速充電設備市場[5-7]。USB PD協議中的核心技術之一是BMC編解碼,其中BMC 編碼是將時鐘和數據包含在數據流中,在傳遞數據信息的同時,也將時鐘同步信息傳給對方,加上每次編碼中至少有一次電平翻轉,不存在直流分量,因此具有同步性與一定的抗干擾能力。接收方利用BMC 編碼的同步性,鎖定自己的時鐘頻率,從而高效精準地通信。編碼規則如圖1 所示,數據0 電平不翻轉,數據1電平翻轉,因此四分之三UI(Unit Interval)作為判斷接收到數據0 還是數據1 的標準。BMC 解碼分為前導碼解碼和數據解碼,前導碼數據是64 bit 的0101……,只有當前導碼準確無誤后才能進行數據解碼。若前導碼解碼性能過差,會造成數據解碼出錯。因此本文在分析傳統解碼電路中面積大、功耗高、抗干擾能力弱等缺點,提出高性能的新型解碼電路系統。

圖1 BMC編碼規則

1 傳統的BMC解碼系統

傳統的BMC 解碼系統的結構框圖如圖2 所示,由濾波模塊、邊沿檢測模塊、解碼模塊、輸出模塊組成。

圖2 傳統的BMC解碼結構框圖

文獻[8]提出了一種傳統的BMC 解碼電路系統,該電路利用高速時鐘對64 bit 的前導碼進行過采樣,采樣的計數值計為Counter_total。通過算數平均算法解出解碼閾值Th,如公式(1)所示,如果在Th之內檢測到數據邊沿(上升沿或下降沿)到來則說明解出的碼為1,如果在Th之內沒有檢測到邊沿則說明解出的碼是0。若此時的前導碼長度低于64 bit,此算法會將有效數據誤認為前導碼,從而導致電路的魯棒性不高,抗干擾能力差。另外,對64 bit 進行過采樣不僅增加了電路計算負擔,而且增加了電路的面積與功耗[9-10]。

傳統的BMC 解碼設計的流程圖如圖3 所示,對Type-C接口的CC線上的信號進行濾波,消除信號上的毛刺,接著對64 bit前導碼進行過采樣并得到計數總數,進而算出解碼閾值。一旦64 bit前導碼過采樣完成后將會對前導碼64 bit 后的數據進行過采樣,并根據解碼閾值解出前導碼后的數據。

圖3 傳統的BMC解碼設計的流程圖

2 新型BMC解碼系統

所提出的新型BMC 解碼結構如圖4 所示,由濾波模塊、BMC解碼模塊、預期解碼模塊、校正模塊、輸出模塊組成。其基本原理如下:濾波模塊濾除Type-C 接口的CC線上的毛刺,保證輸入數據穩定,隨后將穩定的數據傳遞至BMC 解碼模塊,通過此模塊的算法將輸入數據解出并傳至校正模塊,同時判斷前導碼2 bit屬于哪種類型(判斷方法如圖9 所示)。接著將解出的1 bit 有效數據傳至預期的解碼模塊,預期的解碼模塊收到有效數據后將會預測下一個數據并存于當前寄存器中,同時將上次預測的數據傳至校正模塊,此時校正模塊判斷解出的數據與預測的數據進行比較,若比較結果一致,將解碼數據傳送至發送模塊,若不一致,電路將會發生復位。

圖4 新型BMC解碼結構框圖

新型的BMC解碼結構流程圖如圖5所示,對CC線上的數據信號進行濾波,消除數據信號上的毛刺,通過前導碼中2 bit 判斷出屬于哪種形式,并得出解碼閾值(判斷方法如圖9 電路所示),一旦2 bit 類型判斷出來,可以根據前導碼中0和1交替變化的規則即可推測出下一bit 的預測值為0 還是為1。前導碼中2 bit 類型判斷后,將會對2 bit后的每8 bit分為一組,進行解碼,過程如下:根據前導碼2 bit得出的解碼閾值對前導碼中2 bit后的第一組8 bit 前導碼進行解碼,并得出新的解碼閾值,同時將第一組解出的前導碼與預測值進行比較,如果一致,則說明解碼正確,此時組數加1,若組數小于等于4,新的解碼閾值對第二組8 bit 前導碼進行解碼并且過采樣,再次更新解碼閾值,此時第二組的解碼結果與預測值進行比較,如果一致則組數加1,不一致,電路復位并重新檢測電路前導碼前2 bit屬于哪種形式,重新開始上述流程。一旦正確解出4組8 bit前導碼,則表示電路已經穩定,可以采用最后的解碼閾值對后面前導碼或者數據進行解碼。在對4組8 bit后的前導碼進行解碼的過程中,只需要對0.75 UI進行過采樣,在過采樣過程中,若發現在0.75 UI的范圍內檢測到邊沿變化則表示檢測到1,否則檢測到0。一旦檢測到1 或者0,剩下的0.25 UI 不需要進行過采樣,直接解碼下一bit 前導碼的值。對下一個前導碼進行解碼,同樣也是在0.75 UI 范圍內進行過采樣,并檢測有無邊沿變化,從而檢測到0 或者1,剩下的0.25 UI 就不需要過采樣,直接跳轉至下面的前導碼進行檢測,以此類推。另外新型的BMC 解碼比起傳統的方法具有自動校正功能,使得電路在解碼異常情況下即刻復位,保障了電路的可靠性,在面積和功耗上新型的解碼比傳統的解碼低。現對新型BMC解碼結構框圖中的各模塊介紹如下。

圖5 新型的BMC解碼結構流程圖

濾波模塊對Type-C 接口的CC 線上的輸入數據進行FIR濾波,FIR濾波器基本結構如圖6所示[11-12]。由于Type-C 接口的數據會帶有毛刺,因而采用FIR 濾波器方案將毛刺濾除。FIR濾波器的公式如式(2)所示。該濾波器抽頭系數為1/8,濾波器階數為7。每隔7組即可判斷出CC 線上是真實數據還是毛刺,從而提高解碼的精度。

圖6 FIR濾波器的基本結構

BMC 解碼模塊框圖如圖7 所示,采用18M 時鐘對所述濾波信號中的同步頭信號進行過采樣,并確定解碼閾值,從而解出數據。其中BMC 解碼模塊細劃了3 個模塊,分別為前導碼的起始檢測模塊、解碼閾值模塊、解碼模塊,現對各模塊電路說明如下所示。

圖7 BMC解碼模塊框圖

前導碼起始檢測電路如圖8所示,bmc_data_filtered是濾波模塊對CC 線上的毛刺進行濾除后的信號,該電路主要判斷前導碼中2 bit屬于哪種形式,總共有3種形式,如圖9所示。由于采用Clk_18M時鐘去做邊沿檢測后的計數值有大有小。如圖9(a)計數值a小于c,b小于c表示0、1起始,圖9(b)計數值a大于b,a大于c表示1、0 起始,9(c)計數值b大于c,b大于a表示缺失1起始。這種處理方式避免了只在前導碼開頭處才能進行解碼的缺點,大大增加了電路的可靠性和電路的魯棒性。其中bmc_data_filtered信號打兩拍后進行或運算后得到bmc_data_filtered信號的上升沿和下降沿信號,Equal1 是對bmc_data_filtered信號的高低進行判斷,如高將觸發Add1 加法器,如低則將觸發Add0 加法器,并將加法器的值存于寄存器中,Equal2為判斷前導碼2 bit屬于哪種形式,并輸出training_start信號,同時將2 bit的計數值除以2的結果輸出,此時的counter為1UI的值。

圖8 前導碼起始檢測電路

解碼閾值模塊電路如圖10 所示:ymain信號表示0.75 UI,reamble8_counter信號表示第幾組8 bit的數據。前導碼中2 bit檢測完成后開始解碼,此時開始解碼的標志信號training_start拉高。通過前導碼中的前2 bit 數據可以確定高低電平的長度,算出1UI的counter值并以此為基準來解出第一組8 bit數據。同時用18M時鐘對CC線上的第一組8 bit信號進行采樣并對數據的高低電平進行計數,對高電平計數的計數值存于h_temp寄存器中,對低電平計數的計數值存于l_temp寄存器中,可以得出Counter_First8。用前導碼中的前2 bit數據解出1UI的counter值,將counter乘以3/4的結果供解碼模塊進行解數。等8 bit數據解出來了后,解碼閾值模塊要更新UI的計數值,采用的是公式(3)滑動平均濾波算法[13],就是將上一組8 bit 的高低電平計數值加起來然后與前導碼中的前2 bit 算的的1UI 值乘以8,最后將結果除以16,算得的結果才是新的UI的計數值,而0.75 UI的值才是解碼閾值ymain,ymain的值是解碼第二組數據的基礎,ymain的算法如公式(4)所示。

接著以ymain值為基準解第二組8 bit 數據,同時將第二組高低電平的計數值存于Counter_Second8寄存器中,接著更新UI的計數值和ymain的值,為解第三組數據做準備,算法如公式(5)所示,以此類推可以確定第三組、第四組的解碼閾值。其中Equal2 對bmc_data_filtered信號的邊沿進行計數并判斷,滿12 時表明檢測到一組8 bit 數據,此時reamble8_counter計數器加1,Equal3 對reamble8_counter進行判斷,如為2 選通乘法器倍數為1/16 的通路,如為3 選通乘法器倍數為2/3 的通路,如為4選通乘法器倍數為1/2的通路,可以發現乘法器倍數為1/16 是一個復用邏輯。這種方法不僅使面積減少了而且可以降低電路功耗,降低制造成本,提高電路性能。

解碼模塊電路如圖11所示,在ymain值之內,如果檢測到邊沿跳變,則說明解碼到1,如果在ymain之內,沒有檢測到邊沿變化,則解碼到0。其中Equal3 判斷reamble8_counter值是否為4,如為4停止更新解碼閾值,并以此閾值為最終的解碼閾值進行解碼。其中Equal2為ymain之內,有無檢測到邊沿變化。

圖9 前導碼起始檢測

圖10 解碼閾值模塊電路

圖11 解碼模塊電路

預期解碼模塊根據前導碼數據64 bit 的0101……的規律性,即可由當前數據得出下一個前導碼數據值。因而檢測到0或者為1就可確定下一個解碼數據是1或者0,從而預測下一個前導碼解碼數據。校正模塊即將解出的前導碼數據與預期的前導碼數據進行比較。比如,當前正確的數據是0,根據協議規范下一個解碼數據應為1,若此時解碼解出的數據是0,電路內部會產生一個復位信號讓電路復位并且重新進行解碼。只有電路準確地把前導碼中的前32 bit 數據解出來,才能確定電路在解碼的過程中發生故障的可能性非常非常低,從而能提高解碼數據的精確度。輸出模塊即是將解出來的數據進行寄存器輸出,由于寄存器輸出是時序電路,可以大大降低毛刺輸出的概率,避免亞穩態的產生,從而避免了電路的癱瘓[14-15]。該算法增加了校正模塊,在該模塊中對BMC解碼模塊與預期解碼模塊輸出數值進行相應的比較,從而提高解碼精度。

3 BMC解碼的仿真與驗證

3.1 傳統的BMC解碼的仿真與驗證

傳統的算法只有在前導碼為64 bit時才能正確地解碼,如圖12(a),但是若出現前導碼小于64 bit時,傳統的設計方案將會出現解碼問題,如圖12(b),前導碼為50 bit情況下。其中Clk_50M信號為50M時鐘,decode_data信號表示異常的解碼信號,bmc_data_filtered信號表示待解碼的數據信號,由圖12(b)可知,bmc_data_filtered信號為0時,解出的decode_data信號為1。

圖12 傳統解碼

3.2 新型BMC解碼的仿真與驗證

計算0.75 UI 值如圖13 所示,現對部分信號說明如下,bmc_data_filtered表示對CC線上的data進行濾波后的信號,training_start拉高之前的bmc_data_filtered信號就是前導碼中2 bit 檢測,stop_count_12edges表示檢測到12 個邊沿后這個信號就會產生一個脈沖,表示已經檢測到了8 bit的數據,h_temp表示CC線上高電平需要多少個18M 的時鐘周期,l_temp表示CC 線上低電平需要多少個18M 的時鐘周期。xvalue信號表示CC 線上高低電平的計數值的疊加。xmain信號表示將上一組的高低電平計數值與本組CC 線上的高低電平計數值之和,both_edge信號表示檢測到CC線上數據的上升沿和下降沿。前導碼的前2 bit計數值23+25+51=99,也就是說一個UI 的計數值為99/2=49,0.75 UI=36,所以ymain的值為36。第一組8 bit高低電平計數值和為396,因為解第一組8 bit數據要將前導碼的前2 bit算上,也就是以前導碼中前2 bit 算的UI 為基準,解出第一組8 bit 的數據。第二組8 bit 數據的UI 的值是將第一組8 bitxmain的396 與前導碼的49×8,相加,將結果除以2 得到第二組8 bit 的總計數值,并且得出一個UI 的值與0.75 UI 的值,從而解出第二組8 bit 的數據,依此類推,解出第三組、第四組等等。

圖13 計算0.75 UI值的波形

前導碼中2 bit判斷出來過后,接著就可以預測下面的數據,是因為USB PD3.0 協議規定數據頭的形式是交替的64 bit的0和1,因而只要確定了前導碼就可以預測下面的碼。預測碼的波形如圖14所示。

圖14 預測碼的波形

現在對圖14 部分信號進行說明,predicted_data信號是預測的信號,比如剛開始解出的數據是1,就可以預測下一個數據就是0,如果預測的數據與解出的數據一致的話,可以確定數據解碼是正確的,如果解出的數據與預測的數據不一致就會發生復位,重新開始解碼。依此類推,直到把32 bit 的數據完全解出來為止。如果這32 bit 數據解碼都沒問題就可以確定電路確實已經穩定了,后面的預測電路將不會工作,從而降低了功耗[16]。

解出的碼與預測碼進行比較,若兩者不一致則會產生復位信號使電路復位,若兩者一致則說明解出的碼是正確的。復位信號波形如圖15所示。

圖15 復位信號波形

現對圖15 信號說明如下:Clk_18M 信號即解碼的主時鐘,頻率肯定比CC 線上的數據高60 倍,根據過采樣定理,在進行模擬或數字信號的轉換過程中,當采樣頻率fs.max大于信號中的最高頻率fmax時,采樣之后的數字信號完整的保留了原始信號中的信息。syn_rstn信號是預測的數據與解出的數據不一致,此信號拉低進行復位,否則一直為高電平。bmc_data_filered信號是CC線上濾波后的數據,decode_data信號是解碼出的數據,predicted_data信號是預測的數據。

3.3 兩種方法進行對比

在設計的過程中,要考慮到芯片的面積和功耗。在不影響性能的前提下降低芯片的面積和功耗,不僅降低芯片的制造成本,而且提高芯片的性能指標。采用DC工具分析[17],新型的BMC 解碼比傳統的方法面積要低2.19%,功耗上要低2.06%。兩種方法比對結果如表1所示。其中DC評估的是電路實現邏輯本身的功耗(與觸發器數量、時鐘頻率相關),與實際運行功耗有一定的差異。實際上,本設計降低的功耗比表1 中的2.06%多。上述原因分析如下,傳統方法采用的是高速50M時鐘對BMC信號進行解碼,新型方法采用低頻時鐘18M;傳統方法是計前導碼64 bit 的高低電平,將計數值除以64,得到1UI 的值,而新型方法只需要計8 bit 的高低電平,就可以獲得1UI,而這些計數值的寄存器的個數比起傳統方法要小;傳統方法將計數結果除以64,這會耗費大量的資源,而新型方法采用了電路復用邏輯,這大大降低面積資源,新型方法增加了校正模塊與預期的解碼模塊,校正模塊基本上是采用組合邏輯比較器,預期的解碼模塊采用了時序邏輯,盡管采用時序邏輯,但都是單bit 信號的時序操作,因此占用面積比較少。其中校正模塊和預期的解碼模塊在4組前導碼檢測電路完成后,這部分電路將不會在繼續工作,從而降低電路運行中的功耗。新型方法在4組前導碼檢測電路完成后,通過最終的解碼閾值對后面的前導碼進行過采樣從而解碼,在過采樣中只需對0.75 UI進行過采樣就可以判斷出前導碼是0 還是1,即新型的方法對64 bit 前導碼中剩下的30 bit乘以0.25部分不需要過采樣邏輯,而傳統對64 bit全部需要過采樣邏輯。綜上所述,新型的BMC 解碼比傳統的方法面積小,功耗低。

表1 兩種方法比對結果

新型BMC解碼具有自動校正功能如圖16所示,如果解碼與預期的值不一致進行電路復位,重新開始解碼,傳統的BMC解碼不具自動校正功能如圖17所示。

圖16 自動校正功能

圖17 無自動校正功能

圖18 兩種方法解碼對比

新型的BMC 解碼在解碼抗干擾性要優于傳統的BMC 解碼,抗干擾性對比如圖18 所示。由于傳統的設計方案是根據64 bit 前導碼得出解碼閾值,若出現前導碼只有50 bit 時,傳統的設計方案將會出現解碼問題。圖18 所示,傳統算法中將數據100 誤解出了110 了,如信號decode_data_old所示,而新型的算法卻能將數據信號100 準確無誤的恢復出來,如decode_data_new信號所示。傳統方法中前導碼小于64 bit會出現解碼錯誤的原因分析如下,傳統方法首先統計高低電平計數值,一旦檢測到96個輸入信號的邊沿,表明前導碼64 bit已經統計結束,因此將統計值除以64得到1UI值,而這64 bit是0與1相互交替,若前導碼丟失,假設只有50 bit,傳統方法將會將部分數據當成前導碼,等邊沿計數器計滿96,此時的統計值比64 bit 前導碼的統計值偏大或者偏小,因此將造成1UI 值以及解碼閾值不準確,從而造成解碼數據不正確。

4 結束語

本文針對傳統解碼電路具有功耗高、面積大、無校正功能、抗干擾性差等缺點,提出了一種魯棒性強、低功耗、面積小,且具有自動校正功能的新型BMC 解碼設計。該電路采用了濾波算法和滑動平均算法等策略,并增加了校正模塊來提高電路的魯棒性。研究表明該電路在功能上比傳統的設計要完備以外,還降低了芯片面積與功耗,使得制造成本大幅度下降。該設計電路從BMC 編解碼原理來說解碼并不復雜,但是設計出可靠的硬件電路不是一件易事,畢竟在設計電路時不僅要考慮到安全可靠性,而且還要考慮到電路的功耗和面積。為了進一步研究,今后的工作是將此電路如何運用到USB PD芯片中。

猜你喜歡
信號檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
“幾何圖形”檢測題
“角”檢測題
完形填空二則
孩子停止長個的信號
小波變換在PCB缺陷檢測中的應用
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 热re99久久精品国99热| 26uuu国产精品视频| 超清无码一区二区三区| 538精品在线观看| 四虎成人精品| 国产天天射| jizz在线观看| 99精品视频九九精品| 国产91精品久久| 国产成人亚洲无吗淙合青草| 国产成人无码综合亚洲日韩不卡| 亚洲午夜综合网| 日韩小视频网站hq| 无遮挡国产高潮视频免费观看 | 亚洲v日韩v欧美在线观看| 成人第一页| 国产九九精品视频| 亚洲国产第一区二区香蕉| 国产在线无码av完整版在线观看| 一级毛片在线播放免费观看| 国产精品亚洲日韩AⅤ在线观看| 成人免费网站在线观看| 国产一区二区人大臿蕉香蕉| 国产精品视频观看裸模| 亚洲欧洲一区二区三区| 亚洲国产亚洲综合在线尤物| 亚洲第一页在线观看| 毛片在线播放网址| 久久久无码人妻精品无码| 人妻中文久热无码丝袜| 四虎成人在线视频| 欧美精品色视频| 国产毛片高清一级国语| 亚洲人成网站色7777| 真人免费一级毛片一区二区| 91免费国产高清观看| 欧美日韩精品一区二区在线线| 噜噜噜久久| 精品国产电影久久九九| 国产亚洲精品精品精品| 不卡无码h在线观看| 日韩欧美国产区| 色视频久久| 日韩人妻精品一区| 无码'专区第一页| 99在线观看精品视频| 日韩成人午夜| av色爱 天堂网| 亚洲av无码久久无遮挡| 婷婷丁香在线观看| 九九久久99精品| 很黄的网站在线观看| 91午夜福利在线观看精品| 色老头综合网| 国产成人精品一区二区| 亚洲免费人成影院| 好紧太爽了视频免费无码| 国产成人一区二区| 再看日本中文字幕在线观看| 99热免费在线| 国产精品思思热在线| 夜夜操狠狠操| 日韩无码真实干出血视频| 国产无码精品在线播放| 亚洲无码高清免费视频亚洲| 尤物特级无码毛片免费| a网站在线观看| AV网站中文| 亚洲综合精品第一页| 亚洲国产成人精品一二区| 亚洲三级影院| 一级做a爰片久久毛片毛片| 在线观看欧美国产| 精品福利网| 日韩国产亚洲一区二区在线观看| 国产91九色在线播放| 亚洲无卡视频| 女人18毛片久久| 99久久亚洲精品影院| 欧美日韩在线国产| 久久综合结合久久狠狠狠97色| 日韩欧美国产综合|